Dalsa 相机拍摄图像丢帧(模糊)解决办法

Dalsa相机图像丢帧可能存在的原因

1、硬件原因

(1)硬件主要涉及网线和网卡的选择,Dalsa相机最好选择千兆网线千兆网卡。若一台PC需要连接多个相机,最好添加对应个数的网卡;

(2)网卡配置:对应网卡需要进行配置,配置方法如下所示:

①打开“网络连接”,选择对应网卡,右键选择“属性”;

Dalsa 相机拍摄图像丢帧(模糊)解决办法

②选择“配置”

Dalsa 相机拍摄图像丢帧(模糊)解决办法

③选择“高级”,配置“巨帧数据包”,选择最大(9014字节);“速度和双工”,选择最大(1.0 Gbps全双工)。

Dalsa 相机拍摄图像丢帧(模糊)解决办法  Dalsa 相机拍摄图像丢帧(模糊)解决办法

至此,和硬件相关的配置已经结束,如果能解决图像丢帧的问题,即可忽略第二步。若还没有解决,可能还与软件(代码)有关,代码主要在于抓图方式和取图方式。

2、软件原因

本人使用的是官方MFC-SDK,需要实现的功能为:当收到触发信号时,获取相机当前帧图像,并对该图像进行图像处理操作。最开始使用的方法为,开启软件后,持续获取流数据,即调用Grab()函数开始抓图,当收到触发信号时,直接从缓冲区(m_Buffers)中取数据转换为Mat图像,然后进行后续处理,结果发现,此方法会存在丢帧的情况。

后通过查看相机文档及相关资料得知,当相机得到一帧完整数据时,会自动调用回调函数(XferCallback),回调函数结束时,说明获取了一张完整的图像,故选用单张抓图Snap()+回调函数内获取图像的方式,最终解决了图像丢帧的问题。

主要代码部分展示:

头文件主要变量及函数定义:

初始化OnInitDialog()函数部分代码:

回调XferCallback()函数:

某函数中抓取图像:

 

来源:dyclg

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月10日
下一篇 2020年6月10日

相关推荐