%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

辛苦原创所得,转载请注明出处

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~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 网口相机的更多相关文章

  1. MATLAB获取“非免驱的相机或者摄像头”的图像数据

    Image Acquisition Toolbox™ Adaptor Kit 图像採集工具箱 当要使用MATLAB获取"非免驱的相机或者摄像头"的图像数据时,须要开发一个插件,MA ...

  2. OpenWrt配置绿联的usb转Ethernet网口驱动

    这个选择kernel modules中的kmod-usb-net-asix 须要加入网络设备接口.相似建立一个vlan,配置下防火墙之类的.

  3. DALSA网口线扫相机SDK开发详解例程(C#版)

    首先吐槽一句,官方的demos写的真的不好,坑爹啊.对于小白来说,开发官方demos为我所用太难了.为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅 ...

  4. 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 ...

  5. USB 3.0规范中译本 第1章 引言

    本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 1.1 动机(Motivation) Universal Serial Bus (USB) 的原始动机来自于 ...

  6. IMAQdx和IMAQ

    NI-IMAQdx driver software gives you the ability to acquire images with IEEE 1394 and GigE Vision cam ...

  7. 激光三角法点云重建分享——halcon 方法

    如今视觉应用方面单纯依靠2D图像解决问题存在很多问题.稳定性差.定位不准确.还有配合机器人抓取方面只能抓高度一致的物品.其实在Halcon算法库有非常强大的三维算法.包括点云重建.激光三角法(2D相机 ...

  8. 【转】使用命令行方式创建和启动android模拟器

    原文网址:http://blog.csdn.net/tiandinilv/article/details/8953001 1.Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的 ...

  9. NI Vision for LabVIEW 基础(一):NI Vision 简介

    NI Vision 控件模板 Vision控件模板位于LabVIEW控件模板的最顶层,由一下元素组成: IMAQ Image.ctl—该控件是一个类型定义,用于声明图象类型的数据.在VI的前面板中使用 ...

随机推荐

  1. Storyboards Tutorial 01

    Storyboarding 是在ios 5时候引进入的一个非常出色的特性.节省了为app创建user interfaces的时间.

  2. Android Gradle 经验总结

    用过android studio的对gradle应该都不陌生了,gradle文件的基本配置大同小异,略做了解使用应该是没什么问题了.但是深入细致的了解一下对于理解项目还是很有帮助的,尤其是遇到一些配置 ...

  3. lua 的一些常用概念

    1 a={} //定义了一个table   a a[10000]=1 //这里的table中只有一个元素,10000,而不是有10000个元素 2 x=math.pi //定义了x等于π print( ...

  4. 鸟哥的linux私房菜服务器架设篇之准备工作和网络基础

    架设服务器的基本功课 1基础网络的基本概念,以方便进行联网和设定及除错 2熟悉操作系统的简易操作:包括登录分析,账号管理,文本编辑器的使用等等的技巧 3信息安全方面:包括防火墙与软件更新方面的相关知识 ...

  5. Ubuntu下的计划任务 -- cron的基本知识

    下面不完全: 参考:http://blog.csdn.net/cuker919/article/details/6336457 cron是一个Linux下的后台进程,用来定期的执行一些任务.因为我用的 ...

  6. Win10蓝屏代码

    UNEXPECTED_STORE_EXCEPTION “意外存储异常”是Windows 10上的“停止错误”,表示存储组件发生意外异常. 原因 固态硬盘驱动与当前固态硬盘驱动程序不兼容或是当前固态硬盘 ...

  7. 14. Spring Boot定时任务的使用【从零开始学Spring Boot】

    com.kfit.base.scheduling.SchedulingConfig: package com.kfit.base.scheduling; import org.springframew ...

  8. 【LeetCode】Validate Binary Search Tree ——合法二叉树

    [题目] Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defin ...

  9. Linux视频培训教程

    很详尽的Linux培训教程,既包含日常工作常常要用到的实践及技巧,又包含Linux认证及系统管理及架构,讲的很不错.最关键的.这么具体,完整的教程还是免费的.花了点时间拿它整理了下. 第一部分: Li ...

  10. 为电脑添加u盘写保护

    需求:解决在公共打印PC机上u盘病毒的传染,设置后该PC机将不能对u盘文件进行写操作 修改注册表,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro ...