Matlab 打开 Gige 工业相机连续采集数据 Bug解决
电脑配置:Windows 10;Matlab 2021b
相机型号:DMK 33GP1300
一、下载相机驱动:
官网链接:https://www.theimagingsource.com/zh-hans-cn/product/industrial/33g/dmk33gp1300/
按照默认路径安装,安装好后界面:
测试相机,仍在官网找到图中软件,安装好后测试:
二、Matlab配置:
打开 Matlab,从附加功能进入:
打开后,搜索并安装 GigE Vision Hardware(需要正版Matlab,这个只能自己想办法了):
三、系统设定:
1、搜索“以太网”:
2、打开“更改适配器选项”
3、双击打开“以太网”:
4、双击打开“属性”:
5、打开“Internet 协议版本TCP/IPv4 和 TCP/IPv6” 中均选定自动获取IP地址和DNS服务器地址:
6、确定后返回上一级,打开“配置”:
修改接收缓存区,数值为最大:
巨型帧,数值为9014:
四、打开相机(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解决方案:
打开相机在 preview() 中出现 BUG:ERROR: gige: Block/frame 23 is being dropped because a lost packet is unable to be resent.
方案:当我使用 videoinput() 出现此问题,但当我改成 gigecam() 就没有了,建议使用gigecam。连续多帧采集过程 snapshot() 中出现 BUG:Time out occurred while trying to get a frame from the camera.
方案:通过将以下代码嵌入到循环中,绕过报错实现连续采集图像。由于我使用的该款相机,采集数据会有延迟,所以物面图像需要保持1s后再切换,避免相机采集图像出现伪影和图像未成功切换问题。
trySLM_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
Matlab 打开 Gige 工业相机连续采集数据 Bug解决相关推荐
- C语言实验指导(三)C语言AD连续采集数据实验
第三章:C语言AD连续采集数据实验 文章目录 第三章:C语言AD连续采集数据实验 一.实验目的: 1.熟悉示波器和信号发生器的使用. 二.实验内容: 1.利用信号发生器产生一定频率的正弦波,并用示波器 ...
- MATLAB打开代码,中文注释乱码的解决方法
MATLAB打开代码,中文注释乱码的解决方法 由于matlab版本不同,其编码方式也不同.这边给出两种方法可解决这些问题(我的电脑是win11,2018a版本的matlab) 1.用电脑自带的记事本打 ...
- MATLAB打开,中文注释乱码情况怎么解决?
今天用Matlab打开一个代码,结果发现中文注释全都是乱码. 原因:由于matlab版本不一样,编码方式也不同. 解决方法:(本人电脑Win10, matlab版本:R2019a) 方法一:用记事本打 ...
- 【Labview】对连续采集数据的一种采样方法
图1 如图1,想要对这样一个连续信号进行数据点的采集,我根据网上收集到的方法,在此分享一下最终的结果.可以拓展结合文件的写入,完成对连续信号的采集和输出. 已知: 一个连续信号,如图1. 目标: 设定 ...
- SPSS打开问卷星下载的数据乱码解决办法
一.用SPSS打开SPSS数据乱码显示如图: 二.直接双击打开SPSS,不要选择打开某个数据文件,点击编辑→选项→语言,点击选择语言环境的书写系统(默认的那个)→点击确定,关闭SPSS. 三.再双击 ...
- VS生成的exe文件在VS运行没问题,在文件夹打开直接运行出问题的bug解决办法
我在window10 中的Visual Studio2017编写的C++文件在VS内运行没问题: 如图: 但是在VS外部,通过文件夹直接打开exe文件,出现运行问题,如找不到文件,或者运行后闪退现象, ...
- MATLAB调用工业相机读取图像数据
前言 项目中需要读出网口通信的工业相机的图像数据,此文主要是记个笔记. 参考链接 1.在Windows上使用MATLAB Image Acquisition Toolbox 2.调用相机程序 3.ma ...
- signaltap采集数据到matlab,一种matlab调用signaltap采集数据的方法
最近,在利用FPGA采集数据,前端是通过AD采集,然后直接输出给FPGA,需要分析采集到的数据,通常的办法只能在signaltap中,右击信号列表然后点击"Create SignalTap ...
- matlab signaltap,一种matlab调用signaltap采集数据的方法
[导读] 一种matlab调用signaltap采集数据的方法关键词: AD采集MatlabFPGA 最近,在利用FPGA采集数据,前端是通过AD采集,然后直接输出给FPGA,需要分析采集到的数据,通 ...
最新文章
- mysql 同步 存储过程_mysql 存储过程 实现数据同步
- 获取当前按钮所在行的input_form表单的input上传文件
- [html] 表单可以跨域吗?
- arduino 停止程序_极路由1S OpenWrt开机自启程序及串口调试
- python中异或运算_python – 基于ID列表有效计算XOR(^)校验和的方法
- 华为:2021数字化转型,从战略到执行.pdf(附103页pdf下载链接)
- php支付问题,如何解决php支付错误的问题
- 【读书笔记】 —— 金融
- Codeforces #499 Div2 E (1010C) Border
- testng 组_TestNG组
- 开源公司黄页之 Twitter 开源软件推荐
- android守护进程
- 方舟服务器显示mod不符,方舟生存进化mod不符怎么办
- 第3章 从零开始的计算机系统
- struts全局视图与局部视图
- redis 附近的人_Redis怎么实现查找附近的人,请看特殊数据类型Geospatial
- Vue - 判断终端是否为:IE内核、opera内核、苹果、谷歌内核、火狐内核、是否为移动终端、ios终端、android终端、是否为iPhone或者QQHD浏览器、是否iPad、是否微信、是否QQ
- 容器化技术最佳实践1--容器化技术简介与Docker入门
- 斐波拉契数列前n项和 斐波拉契数列第n项
- Oracle分区简介