【计算机视觉】opencv 调用工业摄像机(USB接口和GigE接口)

第一次在CSDN写博客,有不到之处请指教,欢迎交流评论留言
开发环境为win7+VS2010+opencv (主要是操作系统windows,Linux还没尝试)

1 代码 opencv直接打开USB和GIgE摄像机

1.1 三种代码形式不同原理相同

方法一
//---------------------------------【头文件、命名空间包含部分】----------------------------
//      描述:包含程序所使用的头文件和命名空间
//-------------------------------------------------------------------------------------------------
//#include "opencv2/video/tracking.hpp"
#include "StdAfx.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <ctype.h>using namespace cv;
using namespace std;//-----------------------------------【全局变量声明】-----------------------------------------
//      描述:声明全局变量
//-----------------Mat image;
Rect selection;
//-----------------------------------【main( )函数】--------------------------------------------
//      描述:控制台应用程序的入口函数,我们的程序从这里开始
//-------------------------------------------------------------------------------------------------
int main()
{VideoCapture cap;Rect trackWindow;cap.open(0);//0默认—摄像机,若用笔记本相机;1 --是USB有限,无USB就 网络,若用笔记本;-1选择多个相机界面if( !cap.isOpened() ){cout << "不能初始化摄像头\n";}namedWindow( "CamShift Demo", 0 );Mat frame;bool paused = false;方法1//for(;;)//{//   if( !paused )// {//     cap >> frame;//       if( frame.empty() )//           break;//    }// imshow( "CamShift Demo", frame);          //}//   //方法2while(1)  {  if( !paused ){cap >> frame;if( frame.empty() )break;}imshow( "CamShift Demo", frame );     //显示当前帧waitKey(30);  //延时30ms}  return 0;
}
方法二
// Camera2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <opencv2\opencv.hpp>
using namespace cv;  //-----------------------------------【main( )函数】--------------------------------------------
//      描述:控制台应用程序的入口函数,我们的程序从这里开始
//-------------------------------------------------------------------------------------------------
int main( )
{  //【1】从摄像头读入视频VideoCapture capture(1);//0默认—摄像机,若用笔记本相机;1 --是USB有限,无USB就 网络,若用笔记本;-1选择多个相机界面//【2】循环显示每一帧while(1)  {  Mat frame;  //定义一个Mat变量,用于存储每一帧的图像capture>>frame;  //读取当前帧if( frame.empty() )continue;imshow("读取视频",frame);  //显示当前帧waitKey(30);  //延时30ms}  return 0;
}  





方法三

// Camera3.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <opencv2\opencv.hpp>
using namespace cv;
using namespace std;
int main( )
{  VideoCapture capture(0);//0默认—摄像机,若用笔记本相机;1 --是USB有限,无USB就 网络,若用笔记本;-1选择多个相机界面while (1){Mat frame;capture >> frame;if (! frame.empty()){imshow("最终结果", frame);}elsecout << "can not ";//最后一帧的处理waitKey(30);}return(0);
}

(PS VideoCapture capture(1);//1 --是USB有限,无USB就 网络,若用笔记本;-1选择多个相机界面;0默认—摄像机,若用笔记本相机)

其实0,1……的设备ID号看WIN7下设备管理器—图像设备,对应的搜引号,从0开始。

1.2 VideoCapture的参考文档介绍

2 常见摄像机工业说明

2.1根据摄像机接口分为USB接口和GigE接口。

 (PS1笔记本电脑认为是没有接口的,调用时看ID号,一般为0,)

2.2根据需要安装相关驱动分为带驱动和免驱动。

 (PS二次开发(opencv调用时)安装相关驱动参考SDK,其实在win7下设备管理器下能显示的一般能直接调用)
现在贴出博主主要用过的工业相机:
有表达不足,或错误之处还清指正。
(PS VideoCapture capture(1);//1 --是USB有限,无USB就 网络,若用笔记本;-1选择多个相机界面;0默认—摄像机,若若用笔记本相机)

【视觉-摄像机1】opencv 调用工业摄像机(USB接口和GigE接口)相关推荐

  1. 【视觉-摄像机2】opencv 调用工业摄像机(GigE接口详细说明)

    网络摄像机的使用 开发环境为win7+VS2010+opencv (主要是操作系统windows,Linux还没尝试) 基于Basler_acA1300-30gc 摄像机为例 1 安装摄像机的相关软件 ...

  2. 讯为iTOP4412开发板ARM-linux 使用OPENCV调用USB摄像头

    讯为iTOP4412开发板ARM-linux 使用OPENCV调用USB摄像头 首先要在内核里面确定有添加USB摄像头的驱动,这个在讯为官方文档里面有所以就不展开讲了. 主要问题是如何让opencv能 ...

  3. 五十、opencv调用USB摄像头并保存图片

    @Author: Runsen opencv OpenCV是计算机视觉的一个模块. OpenCV可以通过图像处理减少图像噪声,调整图像亮度.颜色或者对比度等等.想要进一步系统了解OpenCV图像处理基 ...

  4. ubuntu上python使用opencv调用usb摄像头无故掉线以后重连摄像头。

    项目中使用opencv调用usb摄像头,运行过程中,会出现摄像头掉线的情况.猜测掉线原因是硬件相关,可能是摄像头,也可能是usb线和端口. 这里主要介绍两种掉线情况以及代码重连摄像头的方式. 1.第一 ...

  5. 在Ubuntu中用Qt基于OpenCV调用大恒相机

    在Ubuntu中用Qt基于OpenCV调用大恒相机 前言 视觉萌新买了工业相机却不会用,上网也查不到具体方法,没办法只能自己硬刚了.刚开始自己摸索,碰到好多问题解决不了,Qt报错不知道咋回事,缺少的链 ...

  6. openmv c语言源码,【国外开源】STM32 机器人视觉摄像机OpenMV Cam设计(硬件+固件源码等)...

    OpenMV Cam概述: OpenMV项目旨在通过开发开源的低成本机器视觉摄像机,为业余爱好者和制造商提供机器视觉.OpenMV项目于2015年成功通过Kickstarter资助.第一代OpenMV ...

  7. OpenCV调用TensorFlow预训练模型

    OpenCV调用TensorFlow预训练模型 [尊重原创,转载请注明出处]https://panjinquan.blog.csdn.net/article/details/80570120 强大Op ...

  8. python调用摄像头人脸识别代码_利用face_recognition,dlib与OpenCV调用摄像头进行人脸识别...

    用已经搭建好 face_recognition,dlib 环境来进行人脸识别 未搭建好环境请参考: 使用opencv 调用摄像头 import face_recognition import cv2 ...

  9. python人脸识别截图_Python OpenCV调用摄像头检测人脸并截图

    本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarc ...

最新文章

  1. v-if 与v-show 的区别及使用场景
  2. 一次挖掘SRC漏洞 - 从0到有
  3. 了解恶意软件和插件!
  4. 牛客网_Go语言相关练习_选择题(2)
  5. 用unison来同步你的远程文件夹 - Fwolf's Blog
  6. T7-Dropout 解决 overfitting 过拟合
  7. 2017.9.4 黑白棋 失败总结
  8. FCKeditor 自动取得焦点问题
  9. 判断触摸的点在那个 View上
  10. android+显示ui布局,[Android ]UI布局 (线性布局+相对布局)
  11. 捷联惯导系统模型及仿真(二)
  12. 计算机网络基础试题库4答案,计算机网络基础试题库4.doc
  13. Ubuntu20.04安装ZOOM
  14. vue实现抽奖大转盘
  15. 倍福控制电机耦合运动
  16. Codeforces Round #644 (Div. 3) D.Buying Shovels
  17. java会导致蓝屏么_原来有这么多原因会导致电脑蓝屏啊
  18. ansj分词器的配置
  19. 知乎里面别人发的视频怎么保存下来?
  20. 性能测试场景设计方法(教科书版)

热门文章

  1. MTK驱动之modem编译及配置
  2. 达芬奇pro的FPGA学习笔记1--创建vivado工程
  3. Windows域认证(Kerberos认证)图解
  4. Docker——Docker的基础和安装
  5. NOR falsh、NAND flash、SDEMMC、QSPI flash、SPI flash
  6. ssm高校就业宣讲会系统计算机毕业设计
  7. Java程序员上班“划水”向阿里猛投简历,两次被刷后,最终敲定“菜鸟网络”的岗位,定级P6.
  8. 期望值计算(骰子举例)R语言
  9. 【Opencv实战】一文看懂车牌识别系统全部内容,未来市场前景看好(很赞)
  10. 轻松学c语言编程.pdf等,轻松学编程:轻松学C语言编程 PDF