摄像机

记录一下 接入大华ipc摄像机rtsp流的经历

匿名 (未验证) 提交于 2019-12-03 00:20:01
当时接入rtsp服务器时,我测过一些别的厂家的ipc,没有理会rtcp消息。 当对于大华的ipc 不理会rtcp不行啊,你必须建立rtcp的通讯 随便给它发点什么东西都可以,然后流就接通上来了。 不知道我这是不是个例,仅作为我这次经历的记录 文章来源: 记录一下 接入大华ipc摄像机rtsp流的经历

Unity SteamVR 运行房间人物移动

匿名 (未验证) 提交于 2019-12-03 00:15:02
SteamVR运行房间有两种设置,   Player: 在场景中人物的实际位置   VRCamera:带上头显后你看见的东西的位置,(头显的摄像机)   一种是固定位置,就是摄像机手柄这些物体始终和你人物的本体位置保持一致,移动人物位置就是移动你VRCamera位置。   一种是范围移动,就是设置一个可移动的区域给你的摄像机手柄,你(人)在这个范围内移动,摄像机手柄也会跟着移动,但在场景中的Player是不会移动的,当你移动你的Player是,你的VRCamera也是相对移动,在场景可移动的区域过小的时候,或者当前场景中的物体较多的时候,传送Player可能会导致你的VRCamera的的位置不理想,偏离了你设想的实际位置。 来源:博客园 作者: IMTTSTR 链接:https://www.cnblogs.com/DGJS/p/11763688.html

unityZXing二维码的生成与扫描

匿名 (未验证) 提交于 2019-12-02 23:59:01
using System.Collections; using System.Collections.Generic; using UnityEngine; using ZXing; using UnityEngine.UI; /// <summary> /// 二维码扫描识别功能 /// </summary> public class TestQRCodeScanning : MonoBehaviour { [Header("摄像机检测界面")] public RawImage cameraTexture;//摄像机映射显示区域 private WebCamTexture webCamTexture;//摄像机映射纹理 public Text text;//用来显示扫描信息 //二维码识别类 BarcodeReader barcodeReader;//库文件的对象(二维码信息保存的地方) /// <summary> /// 开启摄像机和准备工作 /// </summary> void DeviceInit() { //1、获取所有摄像机硬件 WebCamDevice[] devices = WebCamTexture.devices; //2、获取第一个摄像机硬件的名称 string deviceName = devices[0].name;//手机后置摄像机 //3

摄像机抓拍人脸出现的运动模糊

匿名 (未验证) 提交于 2019-12-02 23:43:01
如题,摄像机内部ISP模块一般AE曝光默认的曝光时间优先,在抓拍运动物体时会出现运动模糊问题,而对于人脸抓拍机,高质量的人脸图片对于后续的人脸检测、人脸识别等功能有很重要的影响。 如图所介绍的内容是在《数码摄影实践》一书中提出的,对于运动模糊问题有指导意义。 在实际测试中,室内光线不足,按照默认曝光策略(先调整曝光时间ET,ET=40ms后画面曝光量仍不够的情况下,增大增益值,这种策略主要是为了减小噪点)曝光时间ET在35ms左右,抓拍行人,当行人距离摄像机(6mm焦距)2米左右时抓拍的行人均出现运动模糊,2米以外的行人基本不会出现运动模糊; 将ET手动调整到10ms,增大增益后,同样抓拍行人,当行人距离摄像机(6mm焦距)2米左右时抓拍的行人出现的运动模糊会有所改善,但是对于行走较快的人还是有轻微的运动模糊; 将ET手动调整到8ms,抓拍到的行人没有再出现运动模糊(基于当前测试集),8ms这个数据对应书中提到的1/125s,是一致的; 所以对于运动物体的抓拍,尽量减小曝光时间,否则会存在运动模糊,当然,对于运动模糊也是有算法可以进行处理的。 文章来源: https://blog.csdn.net/lovexiao0106/article/details/92571551

Unity SteamVR 运行房间人物移动

泄露秘密 提交于 2019-12-02 21:46:29
SteamVR运行房间有两种设置,   Player: 在场景中人物的实际位置   VRCamera:带上头显后你看见的东西的位置,(头显的摄像机)   一种是固定位置,就是摄像机手柄这些物体始终和你人物的本体位置保持一致,移动人物位置就是移动你VRCamera位置。   一种是范围移动,就是设置一个可移动的区域给你的摄像机手柄,你(人)在这个范围内移动,摄像机手柄也会跟着移动,但在场景中的Player是不会移动的,当你移动你的Player是,你的VRCamera也是相对移动,在场景可移动的区域过小的时候,或者当前场景中的物体较多的时候,传送Player可能会导致你的VRCamera的的位置不理想,偏离了你设想的实际位置。 来源: https://www.cnblogs.com/DGJS/p/11763688.html

CocosCreator3D微信小游戏入门RunningBall(三):关卡元素

↘锁芯ラ 提交于 2019-12-02 12:03:23
CocosCreator3D微信小游戏入门:RunningBall(三) CharactorCamera 前面我们完成了基本的操作和游戏胜负判断,但是玩起来,我们的摄像机只能停止在那里不动。我们想让摄像机跟随小球Charactor节点一起运动起来。 在这里我们调整一下摄像机节点,新建一个空节点命名为CameraArm。将原本Scene下面的摄像机节点Camera,移动到CameraArm下面,让它成为CameraArm节点的子节点。 接下来我们新建一个脚本名为CharactorCamera.ts,脚本代码: export class CharactorCamera extends Component { //小球节点 @ property ( Node ) charactor : Node = null ; //是否跟随小球的X轴坐标 @property XAxisFollow : boolean = true ; //是否跟随小球的Y轴坐标 @property YAxisFollow : boolean = false ; //是否跟随小球的Z轴坐标 @property ZAxisFollow : boolean = false ; update ( deltaTime : number ) { var pos : Vec3 = this . node . position ;

KITTI数据集

谁都会走 提交于 2019-12-01 12:24:48
目的 使用雷达点云提供的深度信息 如何实现 将雷达的三维点云投影到相机的二维图像上 kitti数据集简介 kitti的数据采集平台,配置有四个摄像机和一个激光雷达,四个摄像机中有两个灰度摄像机,两个彩色摄像机。 从图中可看出,关于相机坐标系(camera)的方向与雷达坐标系(velodyne)的方向规定: ​ camera: x = right, y = down, z = forward velodyne: x = forward, y = left, z = up 那么velodyne所采集到的点云数据中,各点的x轴坐标,即为所需的深度信息。 更多详细的简介网络上都能搜索到,这里只列举了与当前目的相关的必要信息。 kitti数据集的raw_data raw_data对于每个序列都提供了同步且校准后的数据、标定数据。 同步且校准后的数据: ./imageXX 包含有各个摄像机采集到的图像序列 ./velodyne_points 包含有雷达扫描到的数据,点云形式,每个点以 (x,y,z,i) 格式存储,i为反射值 (雷达采集数据时,是绕着竖直轴旋转扫描,只有当雷达旋转到与相机的朝向一致时会触发相机采集图像。不过在这里无需关注这一点,直接使用给出的同步且校准后的数据即可,它已将雷达数据与相机数据对齐,也就是可以认为同一文件名对应的图像数据与雷达点云数据属于同一个场景。) 标定数据:

OpenGL学习笔记《七》摄像机

♀尐吖头ヾ 提交于 2019-12-01 10:09:40
  在上一篇写opengl坐标系统的文章中,有提到视图空间(View Space),也可以称之为摄像机空间,即从摄像机角度去观察对象。MVP转换矩阵中,上篇文章给了一个简单的视图矩阵(View Matrix)将世界空间坐标转换到视图空间坐标,即相对于摄像机的坐标。   opengl中实际上并没有直接提供摄像机对象,我们是根据一系列的向量运算在游戏空间中创建了一个摄像机对象,并生成对应的视图矩阵(View Matrix)。   创建一个摄像机对象,我们需要构建对应的坐标体系。首先,我们需要知道我们是从哪里观察/用摄像机拍摄,所以需要确定一个摄像机的坐标。在opengl的右手坐标系下,我们先假定摄像机坐标是cameraPos=(0,0,3),即z轴正方向3个单位的位置;确定了摄像机的位置之后,利用 向量减法 ,我们可以从原点出发得到摄像机的方向,cameraDir = vp - vo,不过我们在这里得到的方向其实是摄像机拍摄方向的反反向;   得到了摄像机方向,再利用一个世界空间内相对于原点的单位向量up=(0,1,0),使用 向量叉乘 ,我们可以得到右轴向量,cameraRight = up x cameraDir;   最后,根据摄像机方向,右轴,再使用 向量叉乘 ,我们可以得到上轴向量,cameraUp = cameraDir x cameraRight;   利用上述得到的方向

Cocos Creator 3D 打砖块教程(二) | 子弹发射与摄像机平滑移动

非 Y 不嫁゛ 提交于 2019-12-01 07:46:20
在线体验链接: http://example.creator-star.cn/block3d/ 前面一篇文章,我们讲了【打砖块】游戏中的3D物体的场景布局、材质资源、物理刚体与碰撞组件,接下来本篇文章重点介绍“子弹的发射”与“摄像机移动”,有了这两部分我们的【打砖块】游戏就可以初步玩起来了。 子弹的发射 子弹是由 3D 物体 Sphere 球体创建,并将节点改名为 bullet,看下图: 在层级管理器中将 bullet 节点拖动到资源管理器中,将它创建成一个 Prefab 预制体。同时在 bullet 子弹节点上挂载球体碰撞组件(cc.SphereColliderComponent)和刚体组件 (cc.RigidBodyComponent),如下图所示: 有了 bullet 预制体,我们就可以用代码去实例化它,并将他发射出去,创建一个 shoot 的TypeScript 脚本并将它挂载到 Camera 摄像机节点上: 将shoot组件的子弹预制体拖动过去,子弹的移动速度设置为 50,我们通过点击屏幕来进行发射,下面是具体的代码: import { _decorator, Component, Node, CCObject, Prefab, instantiate, RigidBodyComponent, Vec3 } from "cc"; const { ccclass,

EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案中录像版的硬件配置及宽带建议

给你一囗甜甜゛ 提交于 2019-12-01 07:44:43
众所周知,EasyNVR可以将局域网/广域网上的海康/大华等网络摄像头由rtsp转换为rtmp、rtsp、hls、flv协议转换,并提供推流服务,可以将拉到的网络摄像头直接转发到流媒体服务器。可以很好的对接对接目前主流的阿里云/百度云/乐视云等等流媒体服务器。 这样的一款视频软件对服务器的软硬件和带宽要求是不是比较高,一直是用户长期以来追问的问题。今天就给大家详细说明下。 问题分析 目前官网文档里有一个硬件配置清单,建议配置及设备端上行带宽(服务器下行带宽)都可参考这个清单,比如要接400路摄像机的服务器,推荐配置是“8核16G”,实际操作可以向上提升一级,毕竟真实环境要比测试环境要更复杂。 关于存储空间方面,亦可参照上图,不过需要注意的是,上图数据是根据单路码率为1M的情况计算的,依旧以400路摄像头为例,2M和4M码率所须空间大致如下: 问题解决 EasyNVR录像版的录像文件是存储在服务器上的,所以在录像的时候需不停地对硬盘进行读写操作,如果通道越多,自然对硬件读写能力要求越高,对于这个问题可以通过RamDisk来解决,就是虚拟计算机内存的部分空间来模拟硬盘,相对于直接的硬盘文件读写来说,这种技术可以极大的提高文件读写速度,具体可以查看EasyNVR软件包里《EasyNVR RAM Disk Solution.pdf》文档。 来源: https://www.cnblogs