cam

win10相机注册表变化监控

别等时光非礼了梦想. 提交于 2020-05-07 13:20:59
// monitorhelper public class RegeditMonitorHelper { /// <summary> /// 检测注册表项名称变化,以及侦测注册表的创建和删除事件 /// </summary> public static int REG_NOTIFY_CHANGE_NAME = 0x1; /// <summary> /// 侦测属性的变化 /// </summary> public static int REG_NOTIFY_CHANGE_ATTRIBUTES = 0x2; /// <summary> /// 侦测上一次修改时间的变化 /// </summary> public static int REG_NOTIFY_CHANGE_LAST_SET = 0x4; /// <summary> /// 侦测对安全特性的改动 /// </summary> public static int REG_NOTIFY_CHANGE_SECURITY = 0x8; public static uint HKEY_CURRENT_USER = 0x80000001; public static uint HKEY_LOCAL_MACHINE = 0x80000002; public const UInt32 INFINITE = 0xFFFFFFFF;

小白科研笔记:从零学习基于TSDF的三维重建

孤街浪徒 提交于 2020-05-06 14:35:13
1. 前言 这篇博客主要分析这个老哥做的 Python 实现的基于 TSDF 地图的三维重建, 点击它 获取 Github 链接。三维重建的效果图如下所示。这篇博客主要分析两件事情,一是 TSDF 地图的原理和融合理论,二是 TSDF 实现的代码。如果后续有时间,我再去做一个 mini 版本的三维重建小工程。有关 Kinect Fusion 相关的知识可以参考这篇 知乎笔记 。 图1:三维重建效果图 2. TSDF地图的构成和初始化 TSDF 地图是由一堆体素构成的,每个体素内包含两个变量,一是 tsdf 值(用于生成重建表面),二是 RGB 信息(给重建表面贴上彩色纹理)。 TSDF 地图与实际场景的物理坐标系是可转换的。这是这一节讲解的基本信息。 tsdf 值和 rgb 值的计算会在下一节讨论。 相信大家即便是没有玩过“我的世界”,也肯定听说过这款游戏。在这款游戏中,世界是由三维小格子组成的。 TSDF 地图的原理就和它很像。 TSDF 是截断符号函数( Truncated Signed Distance Function )的缩写(初学不必去理会这些英文字眼)。一个三维的 TSDF 地图就是由 L × W × H L\times W\times H L × W × H 个三维小方块组成。我们称三维小方块为体素( Voxel )。列举一个例子。给定一个尺寸为 100 × 100

高博SLAM基础课第四讲——相机模型

喜你入骨 提交于 2020-05-05 15:00:14
(1)本节内容 1、针孔相机模型 2、误差来源——畸变 3、双目相机模型 (2)需要的基础知识 单独成章节,不需要太多基础 (3)开发环境 编译平台:ubuntu16.04, 编译软件:IDE:Clion 编译器:Cmake 语言标准:C++11 (4)学习内容 1、针孔相机模型 小孔模型能够把三维世界中的物体投影到一个二维成像平面。同理,可以用这个简单的模型来解释相机的成像模型。 对这个简单的针孔模型进行几何建模。设O−x−y−zO−x−y−z为相机坐标系,习惯上让z轴指向相机前方,x向右,y向下。O和为摄像机的光心,也是针孔模型中的针孔。现实世界的空间点P,经过小孔O投影之后,落在物理成像平面O′−x′−y′−z′上,成像点为P′。设P的坐标为[X,Y,Z]T,P′为[X′,Y′,Z′]T,并且设物理成像平面到小孔的距离为ff焦距)。那么,根据三角形相似关系,有: 其中负号表示成的像是倒立的。为了简化模型,可以将成像平面对称到相机前方,和三维空间点一起放在摄像机坐标系的同一侧,如图4-2中间的样子所示。这样可以把公式中的负号去掉,使式子更加简洁: 整理得: 上式描述了点P和它的像之间的空间关系。不过,在相机中,最终获得的是一个个的像素,这需要在成像平面上对像进行采样和量化。为了描述传感器将感受到的光线转换成图像像素的过程,在物理成像平面上固定一个像素平面o−u−v

CAM软件

橙三吉。 提交于 2020-05-05 11:48:09
CAD软件 - -> CAM 软件 -> CNC 系统 2d CAD 软件标准输出文件格式为 DXF 和 SVG 3d CAD 软件标准输出文件格式为 STL CAD: 1. QCAD ,有免费的社区版和收费的专业版 , 比较小巧 https://qcad.org 1. librecad https://librecad.org/ 是一个2D CAD 软件, librecad 是 QCAD 一个 fork, 还是推荐使用 QCAD CAM 软件: 完成tool path 规划, 生成 G Code, 1. Carbide Create , 这是一个 2D CAD 和CAM 软件 https://carbide3d.com/carbidecreate/ https://carbide3d.com/downloads/ https://carbide3d.com/carbidecreate/pro/ 来源: oschina 链接: https://my.oschina.net/u/4319831/blog/4266929

opencv 打开摄像头(c++)

女生的网名这么多〃 提交于 2020-05-04 10:37:56
1,打开视频文件 2,打开IP摄像头 读取大华摄像头 大华的网络摄像头编号:DH-IPC-HFW1225M-I1-0600B,用的是RTSP协议。 “rtsp://admin:dahua@192.168.1.108/cam/realmonitor?channel=1&subtype=0”; 其中的admin,dahua是登录摄像头的用户名和密码。IP地址是192.168.1.108,可以根据具体情况修改。 来源: oschina 链接: https://my.oschina.net/u/4417917/blog/4264012

unity2D限制位置的背景移动补偿效果

非 Y 不嫁゛ 提交于 2020-05-03 23:51:22
有时候我们想要背景可以跟随相机移动补偿,但是又不想该背景物体离原来的位置太远,比如我们想要一棵树在一个房子的后面,然后使用相机补偿使其跟随移动,达到3D错觉效果,但是我们又不想该物体偏离房屋太远。假设使用我上一次博客的方法,我们一开始就从很远的位置走过来,那么当我门到达房屋的位置时,由于树一直在运动从而偏离原来的位置很远,将会看不到树,所以我们采用了如下的方式: 以物体的初始位置为中心,设置背景物体的运动区域,相机的参考区域;以x轴为例,区域的最左边为开始边界,最右边为结束边界 当相机位置在相机运动区域中的某一点时,求得其离相机运动区域左边界的差值,求的该差值与相机运动区域的x的长的比例值。 将该比例乘以物体运动区域的长度,再加上运动区域的左边界x,即可得到物体的应该到达的位置。 当相机的位置小于左边界,比例值为0;大于右边界时,比例值为1,这样物体刚好在边界上。 巧妙的设计相机的参考区域与物体的限制区域刚好为相机的宽度,那么达到当相机刚好看到物体时,看起来物体也正好一起移动的效果 y轴同理 如上图所示 代码如下 using System.Collections; using System.Collections.Generic; using UnityEngine; // 有位置区域限定的背景物体的参数设置与位置更新 // 以物体的初始位置为中心,设置背景物体的运动区域

esp32-cam开发环境搭建

孤街醉人 提交于 2020-05-03 22:57:13
esp32-cam模组是安信可推出的一个很小的 wifi-摄像头 模块 开发方式可以选择arduinoIDE开发的方式也可以使用官方sdk IDF开发的方式, 下面是使用虚拟机+ubuntu+IDF的开发环境搭建: 下载虚拟机软件并安装,需要在最后安装的时候写上密钥 密钥:5A02H-AU243-TZJ49-GTC7K-3C61N 需要注意的是使用github下载的项目工程文件一直报错,最后我换了一个资源好使了,资源我已经放到下面链接了。 虚拟机软件 链接:https://pan.baidu.com/s/1b2mHB1hVeJ870-EwFSTiRA 提取码:nnkh 下载安信可官方的ubuntu镜像 完成后在虚拟机界面添加新的虚拟机 ubuntu镜像 链接:https://pan.baidu.com/s/1x5MxoNQHYeNnxccrJHUHXg 提取码:siw8 下载官方sdk下esp_demo工程,复制到主文件夹下 官方下载链接: https://github.com/donny681/ESP32_CAMERA_QR 网盘链接: 链接:https://pan.baidu.com/s/1IAbHOX8sLS5Fe9h0GO8-5Q 提取码:e52e 下载完成后在项目目录下打开终端,输入make menuconfig 开始配置 1.将serialport配置为ttyUSB0,

[转]IDE 、SATA、SCSI 的区别

独自空忆成欢 提交于 2020-04-29 16:33:57
IDE   IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,它的 本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器 。把盘体与控制器集成在 一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造 起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制 器兼容 。对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不 断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型 硬盘无法替代的地位。   IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE 类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更 多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。 IDE接口 IDE硬盘 以上是传统的并行ATA传输方式,后来又出现了串行ATA(Serial ATA,简称SATA),其最大数据传输率更进一步提高到了150MB/sec,将来还会提高到300MB/sec,而且其接口非常小巧,排线也很细,有利于机箱内部空气流动从而加强散热效果,也使机箱内部显得不太凌乱。与并行ATA相比,SATA还有一大优点就是支持热插拔。

原来这样的erp管理系统可以提升工作效率

混江龙づ霸主 提交于 2020-04-28 19:34:47
随着企业信息化进程的不断发展,ERP系统成为越来越多企业提高工作效率的重要辅助工具,越来越多的企业通过使用ERP系统简化了工作流程,实现了企业内部资源的优化。但是很多第一次使用ERP系统的人可能不知道应该如何操作。下面一起来了解一下相关的知识吧! ERP管理系统操作流程: 第一步:公司决策层确认大方向 每家企业都有各自的管理流程,很少能与ERP系统完全一致。此时决策层要先确定管理流程,以便选择适合自己流程的ERP。正因如此,决策层比较偏爱那种结构灵活,可满足行业流程,并可个性化定制的系统。 公司决策层要统一实施ERP系统的目的,是为了规范企业管理,规范业务流程,提高资源利用率和企业运行效率;而不是大家都在上ERP系统, 所以我们也要上,任意跟风。 第二步:公司管理层组织实施团队 ERP系统的实施需要一个高级别负责人进行协调,因为其涉及到整个公司的多个部门,关系到核心业务和财务核算,不能仅依靠某个部门,而是需要由企业方和实施方共同成立实施小组,由企业方高层挂职组长,此时就需要实施够专业和配合,才能保证成功推进项目。 第三步:准备好软硬件环境 当下ERP最好用的就是B/S架构系统,那么就需要一个良好网络环境和优质的服务器,对其进行测试评估,以保证数据和网络的速度满足实施要求。还有操作系统环境的安装、配置,也要进行详细的评估、整改,在实施开始之前消除隐患。 第四步:公司基础资料详细准备

libusb_bulk_transfer 异步同步

吃可爱长大的小学妹 提交于 2020-04-27 18:14:11
同步方式 libusb_bulk_transfer(devh, ep_bulk, buf, CAM_BUF_SZ, &len, timeout); 进入libusb研究,发现libusb是采用异步方式来实现的。在do_sync_bulk_transfer中: static int do_sync_bulk_transfer ( struct libusb_device_handle * dev_handle , unsigned char endpoint , unsigned char * buffer , int length , int * transferred , unsigned int timeout , unsigned char type ) { libusb_fill_bulk_transfer ( transfer , dev_handle , endpoint , buffer , length , bulk_transfer_cb , & completed , timeout ); transfer -> type = type ; r = libusb_submit_transfer ( transfer ); if ( r < 0 ) { libusb_free_transfer ( transfer ); return r ; } while (!