Matlab 打开 Gige 工业相机连续采集数据 & Bug解决

这篇具有很好参考价值的文章主要介绍了Matlab 打开 Gige 工业相机连续采集数据 & Bug解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

电脑配置:Windows 10;Matlab 2021b
相机型号:DMK 33GP1300

一、下载相机驱动:

官网链接:https://www.theimagingsource.com/zh-hans-cn/product/industrial/33g/dmk33gp1300/
gige相机驱动,matlab,bug,数码相机

  • 按照默认路径安装,安装好后界面:
    gige相机驱动,matlab,bug,数码相机

  • 测试相机,仍在官网找到图中软件,安装好后测试:
    gige相机驱动,matlab,bug,数码相机

二、Matlab配置:

  • 打开 Matlab,从附加功能进入:
    gige相机驱动,matlab,bug,数码相机

  • 打开后,搜索并安装 GigE Vision Hardware(需要正版Matlab,这个只能自己想办法了):
    gige相机驱动,matlab,bug,数码相机

三、系统设定:

1、搜索“以太网”:
gige相机驱动,matlab,bug,数码相机
2、打开“更改适配器选项”
gige相机驱动,matlab,bug,数码相机
3、双击打开“以太网”:
gige相机驱动,matlab,bug,数码相机
4、双击打开“属性”:
gige相机驱动,matlab,bug,数码相机
5、打开“Internet 协议版本TCP/IPv4 和 TCP/IPv6” 中均选定自动获取IP地址和DNS服务器地址:
gige相机驱动,matlab,bug,数码相机

6、确定后返回上一级,打开“配置”:

  • 修改接收缓存区,数值为最大:
    gige相机驱动,matlab,bug,数码相机

  • 巨型帧,数值为9014:
    gige相机驱动,matlab,bug,数码相机

四、打开相机(Matlab):

clc;clear;close all hidden;
vid = gigecamlist;				% 读取相机属性
g = gigecam(vid.IPAddress{1});	% 加载相机
% 相机参数设定
g.PixelFormat = 'Mono8';		% 相机模式
g.Width = 1280;
g.Height = 960;
g.GainAuto = 'Off';
g.Gain = 1;						% 相机增益
g.ExposureAuto = 'Off';
g.ExposureTime = 100;			% 曝光时间
g.Timeout = 50;					% 延时时间
g.GevSCPSPacketSize = 9014;		% 与系统设定的巨大帧值一样
preview(g);						% 录制模式

Img = snapshot(g);				% 单帧模式
figure,imshow(Img);

五、BUG解决方案:

  1. 打开相机在 preview() 中出现 BUG:ERROR: gige: Block/frame 23 is being dropped because a lost packet is unable to be resent.
    方案:当我使用 videoinput() 出现此问题,但当我改成 gigecam() 就没有了,建议使用gigecam。

  2. 连续多帧采集过程 snapshot() 中出现 BUG:Time out occurred while trying to get a frame from the camera.
    方案:通过将以下代码嵌入到循环中,绕过报错实现连续采集图像。由于我使用的该款相机,采集数据会有延迟,所以物面图像需要保持1s后再切换,避免相机采集图像出现伪影和图像未成功切换问题。

try
        SLM_Img = snapshot(g);
    catch 
        warning('Time out occurred while trying to get a frame from the camera.');
        clear vid g;
        vid = gigecamlist;
        g = gigecam(vid.IPAddress{1});
        % 相机属性
        g.PixelFormat = 'Mono8';
        g.Width = 1280;
        g.Height = 960;
        g.GainAuto = 'Off';
        g.Gain = 1;
        g.ExposureAuto = 'Off';
        g.ExposureTime = 100;
        g.Timeout = 50;
        g.GevSCPSPacketSize = 9014;
        preview(g);
        SLM_Img = snapshot(g);
    end

六、其他BUG解决参考链接:

1、https://ww2.mathworks.cn/matlabcentral/answers/91834-how-do-i-calculate-the-packet-delay-for-a-gige-vision-camera-to-prevent-dropped-frames
2、https://ww2.mathworks.cn/help/imaq/network-adaptor-configuration-notes.html
3、https://ww2.mathworks.cn/help/imaq/gige-vision-hardware.html文章来源地址https://www.toymoban.com/news/detail-656348.html

到了这里,关于Matlab 打开 Gige 工业相机连续采集数据 & Bug解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包