海康线扫相机使用

目录

1、调试方式-竖线清晰视为对焦完成

2、线扫相机接编码器使用,接线方式为图6-14,无需下拉电阻,需要注意的是一端悬空

3、线扫相机MVS设置出图,编码器转一圈出一张图,小编这里图像高度设置为1440

4、代码设置


本次使用的线扫相机型号为,MV-CL043-A1GM-V2,MVS版本为V4.6.3

1、调试方式-竖线清晰视为对焦完成

触发选择器-帧触发开始-触发模式->关闭

触发选择器-行触发-触发模式->关闭

2、线扫相机接编码器使用,接线方式为图6-14,无需下拉电阻,需要注意的是一端悬空

3、线扫相机MVS设置出图,编码器转一圈出一张图,小编这里图像高度设置为1440

(1)触发选择器->帧触发->触发模式->关闭

(2)触发选择器->行触发->触发模式->打开->触发源选择分频器

(3)变频器控制->输入源选编码器->乘法器设置4倍

(4)编码器控制->第2步接线的时候有一端悬空的所以这里编码器源B设置为N/A为空->因为编码器计数模式是忽略方向的双向计数,所以编码器计数器计数结果是720,实际接收的脉冲是360(可以接到PLC上接收脉冲数调试),360乘4倍乘法器=1440的图像高度

(5)IO控制->线路选择0->IO类型设置为单端->线路防抖设置为1000ns

按照以上方法设置后,编码器转一圈发送360个脉冲给线扫相机,线扫相机接收360*4=1440,满足图像的行高,就会出来一张图

4、代码设置

如果出现了下面这种情况,新来的帧没有完全覆盖掉上一帧的图,甚至越拉越长,需要设置帧触发开始 行触发结束,用代码设置即可解决

cpp 复制代码
MV_CC_SetEnumValue(handle, "AcquisitionLineRate", 1440); // 采集行频 图像的高度
MV_CC_SetEnumValue(handle, "TriggerSelector", 9);        // 触发选择器 行开始
MV_CC_SetEnumValue(handle, "TriggerMode", 1);            // 触发模式 打开
MV_CC_SetEnumValue(handle, "TriggerSource", 8);          // 触发源 分频器
MV_CC_SetEnumValue(handle, "PreDivider", 1);             // 预分频器
MV_CC_SetEnumValue(handle, "Multiplier", 4);             // 乘法器
MV_CC_SetEnumValue(handle, "PostDivider", 1);            // 后分频器

MV_CC_SetEnumValue(handle, "TriggerSelector", 6);        // 触发选择器 帧触发开始
MV_CC_SetEnumValue(handle, "TriggerMode", 1);            // 触发模式 打开
MV_CC_SetEnumValue(handle, "TriggerSource", 7);          // 触发源 软触发
nRet = MV_CC_StartGrabbing(handle);                      // 开始取流
相关推荐
雪落漂泊7 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
不会算法的笨小孩8 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
Hhy_110711 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
青少儿编程课堂11 小时前
蓝桥杯青少组图形化省考报名倒计时·全国青少年信息素养大赛·电子学会图形化考级:校园黑白棋人机对战解析
c++·python·算法·bfs·信息学竞赛
YSL07012411 小时前
C++基础
开发语言·c++
eggwyw12 小时前
关于C++为什么不加入垃圾回收机制解析
开发语言·c++
曦樂~1 天前
Cpp面筋
c语言·c++
道尔柯南1 天前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
十二1 天前
【洛谷题解】P1083 [NOIP 2012 提高组] 借教室(二分答案 + 差分)
数据结构·c++·算法·蓝桥杯
D e re k ZH1 天前
C++ 从零入门(一):基础语法与程序结构
数据结构·c++·算法