注意:这个错误可能发生如果以太网适配器,相机网络连接,和相机GigE流参数(PacketSize和PacketDelay)没有配置为最佳操作。有关更多细节,请参考:
丢失的数据包/帧错误发生在图像采集引擎线程和try / catch不能抓。
一个选择,这取决于应用程序,可能是有用的是使用以下方法禁用错误出现了帧时,继续收购:
vid = videoinput (“gige”,1)
从视频。IgnoreDroppedFrames =“上”;
- 在MATLAB R2020b和之前的版本中,您可以使用以下imaqmex命令之前创建videoinput对象:
imaqmex (“功能”,“-gigeDisablePacketResend”,真正的);
注:“gigeDisablePacketResend”选项将重置imaqreset命令。
框架允许下降的时候,知道有多少帧,数据帧相关收购期间一直在下降。getdata返回的BlockID字段元数据对应于设定的帧数相机。一个简单的方法来可视化这是阴谋获得帧的BlockID和BlockID差异,如以下代码片段:
[img、ts、元数据]= getdata(请看vid.FramesAvailable);
blockIDs = [metadata.BlockID];
图
情节(blockIDs“。”)
图
情节(diff (blockIDs),“- x”)
另一个选择的相机GenTL (GenICam传输层)生产商提供的供应商,是使用GenTL适配器(“GenICam接口”支持包/插件)而不是GigE适配器从摄像机获取图像。万博1manbetx这种方法可以利用高性能以太网数据包的过滤驱动程序提供的供应商,相机和直接沟通,包括了包事件,将由制造商的GenTL生产国。