海康线扫相机使用

目录

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);                      // 开始取流
相关推荐
所以遗憾是什么呢?21 小时前
【题解】Educational Codeforces Round 195 (Rated for Div. 2) ABCDE
c++·动态规划·acm·icpc·ccpc·xcpc·codeforecs
Lhan.zzZ1 天前
Qt WebEngineView 在 Linux 上无法加载网页:从“看不见 HTML“到“禁用沙箱“
linux·c++·qt
sysu_chenxy1 天前
二重循环输出二维图形
c++
划破黑暗的第一缕曙光1 天前
[C++]:2.类和对象(下)
c++·类和对象·对象·类
黎相思1 天前
LRU Cache
c++·缓存
UIU1141 天前
P1003 [NOIP 2011 提高组] 铺地毯
数据结构·c++·算法
xxwl5851 天前
区域赛算法模版第四章---数据结构
数据结构·c++·算法
余额瞒着我当琳1 天前
哈希表底层原理解析,直接定址法,哈希冲突,负载因子,哈希函数,开放定址法
java·c++·哈希算法·散列表
xxwl5851 天前
区域赛算法模版第五章---数学与数论
c++·笔记·算法
局部有解1 天前
LeetCode Hot100 438 找到字符串中所有字母异位词
c++·算法·leetcode