matlab使用usb和gige 网口相机
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
辛苦原创所得,转载请注明出处
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
~matlab 使用普通usb摄像头
需要先安装支持包, 在matlab命令行中输入supportPackageInstaller, 之后选择 usb webcam 和 OS Generic Video Interface 安装包,这时候需要登录账号,需要自己去
https://cn.mathworks.com/mwaccount/register?uri=https%3A%2F%2Fcn.mathworks.com%2Fmatlabcentral%2Ffileexchange%2F45182-matlab-support-package-for-usb-webcams
注册一个账号.然后就可以安装了,这里需要一个不错的网络,有些网络会出现安装失败的情况.
之后可以用如下语句进行测试
clc; clear all; close all;
vid = videoinput('winvideo',1); %'YUY2_160x120' 'YUY2_176x144' 'YUY2_320x240' 'YUY2_352x288' 'YUY2_640x480'
vid2 = videoinput('winvideo',2);
% preview(vid);
% preview(vid2);
具体参考网页如下,matlab2017版本以下网页方法更好
https://cn.mathworks.com/help/imaq/acquire-images-from-gige-vision-cameras.html
属性配置参照如下网页
http://cn.mathworks.com/help/imaq/set-properties-for-gige-acquisition.html
matlab 使用gige网口相机
~ matlab环境配置和系统配置
首先在matlab窗口输入supportPackageInstaller安装gige vision toolbox,
这里如果网络不好需要多试几次. 之后可以输入obj = videoinput('gige',1)来查看gige设备信息.也可以在程序窗口输入
这条命令来定义接口.
gige为千兆网口,所以要求连接的网卡也要达到千兆.网卡的配置如下
1.网卡的jumbo pocket/巨型帧要变为9014

2.receive buffers要设置为2048

3.gige adapter 属性要设置如下(有的机器可能没有这个选项)


4.关闭防火墙对其的限制,比如我的机器驱动默认安装在如下位置
C:\Program Files (x86)\SVS-VISTEK GmbH\SVS GigE SDK\SVS GigE FilterDriver
找到如下标志程序

令防火墙不对其限制.
具体配置可以参看如下网页
https://www.mathworks.com/matlabcentral/answers/uploaded_files/41167/GigEVisionQuickStart.pdf
~ 错误:Block/frame 23 is being dropped because a lost packet is unable to be resent.There are several possible causes for packets being lost. See the troubleshooting information in the "Configuring GigE Vision Devices" section of the Image Acquisition Toolbox documentation.
参看网页
https://cn.mathworks.com/matlabcentral/answers/91834-how-do-i-calculate-the-packet-delay-for-a-gige-vision-camera-to-prevent-dropped-frames
~ matlab读取图像时候可能出现有相机能够顺利读取,另一个相机不能顺利读取
程序中按照如下语句定义的vid2,用完后一定要使用delete删除,语句如下
vid2 = videoinput('gige',1);
delete(vid2);
-------------------------------------------------------------------------------------------------------------------------------------------------------
下面是程序,还没有调的很好
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 利用网口打开摄像机
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc; close all;
gigecamlist
g1 = gigecam('192.168.1.1')
g2 = gigecam('10.141.242.1')
% pause(30);
g1.ExposureTime = 250000; %设置属性,如曝光度
% g1.Timeout = 30;
g2.ExposureTime = 250000; %设置属性,如曝光度
% g2.Timeout = 30;
% closePreview(g)
preview(g1);
preview(g2);
while(1)
tic;
img1 = snapshot(g1);
img2 = snapshot(g2);
%
% figure(1), imshow(img1);
% figure(2), imshow(img2);
% %
% Rectify the images using the 'valid' output view
% [J1_valid,J2_valid] = rectifyStereoImages(img1,img2,stereoParams,'OutputView','full');
% %
% Display the result.
% figure(1);
% imshowpair(J1_valid,J2_valid,'falsecolor','ColorChannels','red-cyan');
% figure(3), imshow(J1_valid);
% figure(4), imshow(J2_valid);
% imwrite(J1_valid,'save.jpg');
toc
end
clear g1;
clear g2
% vid1 = videoinput('gige',1);
% preview(vid1);
% vid2 = videoinput('gige',2);
% preview(vid2);
% vid2 = videoinput('winvideo',2);
% preview(vid);
% preview(vid2);
% h2 = preview(vid2);
% pause(30);
% h11 = figure(1);
% h22 = figure(2);
% while(ishandle(h1) && ishandle(h2))
image1 = getsnapshot(vid1);
figure(1), imshow(image1);
figure(2), imshow(image2);
% imwrite(image1, 'left.bmp');
% image2 = getsnapshot(vid2);
% imwrite(image2, 'right.bmp');
figure(3);
% image2 = getsnapshot(vid2);
%
% pause(5);
%
% figure(1),imshow(image1);
% figure(2),imshow(image2);
% figure(2),imshow(image2);
% drawnow;
% % figure(2),imshow(image2);
% end
% clc;clear all;
% cam = webcam(1);
% preview(cam);
delete(vid1);
% delete(vid2);
~ matlab常用的视觉图像工具箱有下面三个
Image Processing Toolbox (图像处理工具箱)
Computer Vision System Toolbox (计算机视觉工具箱)
Image Acquisition Toolbox (图像采集工具箱)
matlab使用usb和gige 网口相机的更多相关文章
- MATLAB获取“非免驱的相机或者摄像头”的图像数据
Image Acquisition Toolbox™ Adaptor Kit 图像採集工具箱 当要使用MATLAB获取"非免驱的相机或者摄像头"的图像数据时,须要开发一个插件,MA ...
- OpenWrt配置绿联的usb转Ethernet网口驱动
这个选择kernel modules中的kmod-usb-net-asix 须要加入网络设备接口.相似建立一个vlan,配置下防火墙之类的.
- DALSA网口线扫相机SDK开发详解例程(C#版)
首先吐槽一句,官方的demos写的真的不好,坑爹啊.对于小白来说,开发官方demos为我所用太难了.为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅 ...
- hd RFS USB Sever/ NetworkUSB/16 Pro+ / NET-USB16-P+
s 方法一: 第一步,USB设备lan2和台式机网线对插,设置台式机IP 192.168.1.252.子网掩码255.255.255.0第二部,打开设备USB 固有IP页面192.168.1.250 ...
- USB 3.0规范中译本 第1章 引言
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 1.1 动机(Motivation) Universal Serial Bus (USB) 的原始动机来自于 ...
- IMAQdx和IMAQ
NI-IMAQdx driver software gives you the ability to acquire images with IEEE 1394 and GigE Vision cam ...
- 激光三角法点云重建分享——halcon 方法
如今视觉应用方面单纯依靠2D图像解决问题存在很多问题.稳定性差.定位不准确.还有配合机器人抓取方面只能抓高度一致的物品.其实在Halcon算法库有非常强大的三维算法.包括点云重建.激光三角法(2D相机 ...
- 【转】使用命令行方式创建和启动android模拟器
原文网址:http://blog.csdn.net/tiandinilv/article/details/8953001 1.Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的 ...
- NI Vision for LabVIEW 基础(一):NI Vision 简介
NI Vision 控件模板 Vision控件模板位于LabVIEW控件模板的最顶层,由一下元素组成: IMAQ Image.ctl—该控件是一个类型定义,用于声明图象类型的数据.在VI的前面板中使用 ...
随机推荐
- Android属性动画:动画流控制
今天的文章里,我将会和大家讨论对动画流的控制.我们可以通过Animator系列的API来控制动画的开始.停止和取消.在 KitKat也就是API level 19中,我们还可以控制动画的暂停和恢复.在 ...
- EasyMvc入门教程-基本控件说明(13)选项卡导航
选项卡Tab导航主要用于企业页面显示不同子类或者子页面的信息内容. 先来一个基本的使用例子:代码如下: @{ var data = new List<TabItem>() { new Ta ...
- OSG+VS2010+win7环境搭建 (转)
OSG+VS2010+win7环境搭建 Win7下 osg+vs2010环境搭建 一.相关准备 a) Osg源码 当前最新版:OpenSceneGraph的3.0.0.zip 下载链接: http:/ ...
- 关于 Android 平台开发相关的有哪些推荐书籍?
转自:http://www.zhihu.com/question/19579609 作者:Shan Huang 链接:http://www.zhihu.com/question/19579609/an ...
- 【音乐App】—— Vue-music 项目学习笔记:歌手详情页开发
前言:以下内容均为学习慕课网高级实战课程的实践爬坑笔记. 项目github地址:https://github.com/66Web/ljq_vue_music,欢迎Star. 歌曲列表 歌曲播放 一.子 ...
- 127.0.0.1和localhost和本机IP三者的区别
1,什么是环回地址??与127.0.0.1的区别呢?? 环回地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址). 可以这么说:同一台主机上的两项服务若使用环回地址而非分配的主机地址 ...
- [BLE--Link Layer]物理信道
简述 有线通信,是用电缆直接连接.然后分距离的长短.有些会须要载入波,信号也可能会经过不同的调制方式调制. 无线通信也是一样,仅仅是信号的传输是通过射频了,通过在某一频段.对无线信道进行调制,将数据发 ...
- sql字符串处理
sql字符串截取 substring(ParamName,start,length) start开始位置,length结束位置 DECLARE @Tel NVARCHAR(20) SET @Tel=' ...
- frame框架及其实例
框架概念 : 谓框架便是网页画面分成几个框窗,同时取得多个 URL.只需要 <FRAMESET> <FRAME> 即可,面所有框架标记需要放在一个总起的 html 档,这个档案 ...
- Oracle 中for update和for update nowait的区别
http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.html 1.for update 和 for update nowait 的区 ...