环境准备
硬件准备
Dalsa相机一只,电源,如需使用编码器触发模块还需要准备增量式编码器输出信号,(AB,ABZ信号均可)。
电源接线:10接电源负极;15接电源正极;
编码器信号线:
1------Line 1+------A+
2------Line 1-------A-
3------Line 2+------B+
4------Line 2-------B-
如果不使用编码器触发,只需接好电源线即可。至于线束中每根线的信号定义请看线束上的标签。
软件准备
Network Configuration Tool:配置相机IP地址;
CamExpert:(版本8.60)采集图像。
Network Configuration Tool:配置相机IP地址
未用过DHCP方式进行IP地址的设置;如果先打开软件再给相机通电,需要点击左下角的按钮Scan
Network,在1的位置才会出现相机,注意选择相机的时候不要选错了。
CamExpert:采集图像
配置好IP后,在Device
Selector里会出现Dalsa的相机,点击相应相机,打开相机成功,可以进行采图了。
开始图像采集
线阵相机顾名思义是每次只采集一行(或几行)像素的长条形成像相机。所以要想得到一张二维的平面图像需要物体与相机有相对运动,多次采集的行图像拼接起来才能形成一张完整的二维图像。
几个关键的设置:
图片高度
相机每次只采集一行,图片高度对应需要采集多少次生成一张图片。
行频的设置
行频可以理解为面阵相机的帧率,只不过线阵相机用行频来表示,相机在FreeRun状态下,其帧率为5K。此值的设置不能超过相机本身的最大拍照频率,同时修改此值时会自动计算此时相机最大的曝光时间,如果现有的曝光时间不能达到此拍摄帧率,会自动修改相机的曝光时间。
曝光时间
曝光时间拍一张照片使用的感光时间,拍摄运动的物体曝光时间不能太长,否则会有拖影,也不能太短,拍不清楚。曝光时间与帧率严重相关,曝光时间变长,帧率会下降。根据帧率计算曝光时间时,实际设置的曝光时间要稍短于根据帧率计算出的曝光时间,因为还要留给相机一点数据处理传输的时间,具体需要留出的余量需要根据不同的相机进行测试。如相机帧率是1000帧,算出的曝光时间为1000us,有的时候不能设置这么满,否则帧率达不到1k,曝光时间设置为950us再试下。Dalsa相机的行频与曝光时间是关联的,可只修改行频,曝光时间交给软件自动设置。
触发方式
相机的触发分两种:分别为帧触发和行触发。一帧是指上面设置的8192*4000,即采集4000行为一帧;行是指4000行中的一行。帧触发是指如何开启一帧的采集,行触发是指如何开启一行的采集。只有帧触发了行触发才有效,否则行触发再多次也采集不到一帧数据(个人理解)。
测试的时候建议使用FreeRun方式,真正使用时候再改为编码器触发。
FreeRun模式
此模式将所有触发都关掉,相机自由运行,自动开始帧触发,行触发按照设置的行频进行采集图像,一帧采满显示图像,同时开启下一帧采集。Single
Frame Trigger和Single Line Trigger 都设置成off即可。
关掉帧触发
关掉行触发
再点击右侧Grab即可看到图像。
帧自由触发,行编码器触发模式
帧触发的设置与上面相同
行触发的设置稍微复杂一点,需要你对编码器的知识有所了解。
行触发的设置
Trigger Mode 选择ON,关掉FreeRun,使用触发;
Trigger Source选择Rotary Encoder(旋转编码器);
Trigger Line Count设置为1,一次触发只拍一行;
Rotary Encoder Output Mode 选择position(位置);
Rotary Encoder
Direction:指的是A,B两相之间的相位关系,顺时针和逆时针选择一个,相机只在一个运动方向触发拍照,另外一个方向则不拍照;
Rotary Encoder Input A:根据实际连接选择,我们是1------Line
1+------A+;2------Line 1-------A-;3------Line
2+------B+;4------Line 2-------B-连接,此处选择Line1
SourceRotary Encoder Input B,选择Line2
Rotary Encoder Multiplier:倍频,一般设置为1;
Rotary Encoder
Divider:分频,要根据实际情况计算,将编码器的频率分频至与拍照频率相同的值时对应的分频系数;
以上就已经将触发设置好了,还需要设置Line1和2的电平类型;
Line Selector中选择Line1,电平设置为RS422,再选择Line2,也设置为RS422即可。
此时再点击Grab时必须有编码器信号才能输出图像。
建议将设置保存下来。
保存至本地:File-->Save As
保存至相机:
一些问题及解决办法
采集图片的时候提示Buffer Incomplete
修改Image Timeout值:默认0.7改成10.0。
......文章来源:https://www.toymoban.com/news/detail-488457.html
后面看时间再写点镜头校准的方法。20230314文章来源地址https://www.toymoban.com/news/detail-488457.html
到了这里,关于从零开始实现Dalsa线阵相机采图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!