从零开始实现Dalsa线阵相机采图
创始人
2025-05-28 02:56:27
0

环境准备

硬件准备

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。

......

后面看时间再写点镜头校准的方法。20230314

相关内容

热门资讯

el-table实现热度表 实现效果 {{ scope.$index + 1 }}...
『C/C++养成计划』变量的执... 变量的执行顺序&动态工厂 文章目录一. 变量执行顺序二. 虚拟地址空间三. 动态工厂创建对象3.1...
揭秘:大清为什么要颁布剃发令?... 今天趣历史小编为大家带来了一篇关于清朝的文章,欢迎阅读哦~大清是什么时候下达“剃发令”的?其实早在他...
老子为什么名李耳?古人名字有什... 今天趣历史小编为大家带来了一篇关于老子的文章,欢迎阅读哦~古代人一般既有名又有字,有的还有别号。《周...
linux网络编程面试题 1、什么是IO多路复用 I/O多路复用的本质是使用select,poll或者epoll函数ÿ...
清朝士兵中兵和勇就一字之差 他... 还不知道:清朝士兵中的兵和勇有什么区别的读者,下面趣历史小编就为大家带来详细介绍,接着往下看吧~看过...
三国著名的衣带诏事件中,刘备为... 今天趣历史小编为大家带来了一篇关于刘备的文章,欢迎阅读哦~我们都知道衣带诏事件是小说《三国演义》中非...
清朝的体制到底是什么样的 为... 还不知道:清朝亲王那么多为什么无人造反呢的读者,下面趣历史小编就为大家带来详细介绍,接着往下看吧~在...
基于微信小程序的外卖点餐小程序 文末联系获取源码 开发语言:Java 框架:ssm JDK版本ÿ...
超越想象,博睿数据3D数字展厅... 历经多月精心打磨 博睿数据3D数字展厅正式上线 带来一个有温度、易操作、更全面的 线上形象展览平台 ...
最新或2023(历届)超生非婚... 非婚生子女可申请办理户口 从三亚市公安局获悉,为进一步规范户口登记和居民身份证管理,有效解决办理户口...
最新或2023(历届)青岛户口...   外来人员通过积分来青岛安家落户终于有具体细则了!6日,备受关注的青岛积分落户细则对外发布,青岛成...
最新或2023(历届)北京户口...  派出所办理常住户口登记工作规范  为加强常住人口管理,严密户口登记工作,依据《中华人民共和国户口登...
深度学习面试问题与答案(202... 1)什么是深度学习? 如果你正在参加深度学习面试,那么你...
非婚生子如何上户口,非婚生子女... 未婚子女、非婚生子女、私生子及同居生子之 户口与抚养问题 基本案情 王某,男,1972年7月出生,汉...
最新或2023(历届)上海户口...  为了积极稳妥地解决历史遗留户口问题,现就本市投靠类户口迁移提出若干实施意见如下:  一、 关于子女...
最新或2023(历届)青岛户口...  第一条 为推进落实我市积分落户管理制度,根据《青岛市人民政府关于进一步推进户籍制度改革的意见》(青...
最新或2023(历届)青岛户口...  近日,青岛市颁布了《关于进一步推进户籍制度改革的意见》,今后将按照“合理控制城区、适当放宽新区、全...
最新或2023(历届)浙江省迁...  1、户口迁移的原则  〈1〉户口迁移,应遵循人户一致和居住地登记的原则。  〈2〉办理户口迁移,关...
青岛市积分落户细则出炉,最新或...  作为本市人才引进落户政策的“兜底”政策,积分落户实施细则终于出炉!青岛也成为继广州 、深圳之后第三...