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的前面板中使用 ...
随机推荐
- asp.net 面试题(附答案)
这次面试遇到的一些问题有很基础,也有的一些我没有听过.根据经验不同或应聘职位和公司的不同等,遇到的面试问题肯定也不一样.本人两年半asp.net开发经验,这是我年后应聘asp.net工程师遇到的问题, ...
- 怎样去主动拿一个锁并占有?synchronized关键字即可
怎样主动去拿一个?synchronized关键字即可 怎样去释放一个锁呢?要求锁对象主动释放,打乱占有当前锁的线程即可
- [转]MySQL的简单使用和JDBC示例
MySql简单操作 //启动mysql net start mysql //登陆 mysql -u root -p //创建建数据库 create database mydb; create data ...
- mongodb文档的CRUD
本章会介绍对数据库移入或者移出数据的基本操作 向集合添加文档 从集合删除文档 更新现有的文档 为这些操作选择合适的安全级别 添加删除数据库 添加数据库 :use foo 如果存在foo 就use ...
- 图论 Krusal算法C++实现
1.实验用例 如下图所示的赋权图表示某七个城市及预先算出它们之间的一些直接通信成路造价(单位:万元),试给出一个设计方案,使得各城市之间既能够通信又使总造价最小并计算其最小值. 2实验原理和方法 为了 ...
- shell循环,判断介绍,以及实例
shell的循环主要有3种,for,while,until shell的分支判断主要有2种,if,case 一,for循环 #!/bin/bash for file in $(ls /tmp/test ...
- 使用sphinx生成美观的文档
先上效果图 详情 首先,须要知道什么是restructuredtext.能够理解为类似于markdown的一个东西. 然后 安装.pip install sphinx 进入存放文档的文件夹,在命令行, ...
- Linux进程间通信(IPC)编程实践(十二)Posix消息队列--基本API的使用
posix消息队列与system v消息队列的区别: (1)对posix消息队列的读总是返回最高优先级的最早消息,对system v消息队列的读则能够返回随意指定优先级的消息. (2)当往一个空队列放 ...
- linux启动参数了解
文章来源:http://blog.csdn.net/uyiwfn/article/details/7172339在Linux中,给kernel传递参数以控制其行为总共有三种方法:1.build ker ...
- zabbix 3.2.4 安装
一.安装mysql . 安装必备组件 yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c+ ...