之前在AndroidStudio上就用了别人用写的库成功地打开了USB摄像头。

于是我之后又在PC上尝试了一下,首先去淘宝买了个MICRO母转USB公的转接口,然后在Qt上配置了一下OPENCV后开始尝试。

然后就坑到了,遂写此文。

本人使用了2种openCV提供的方法:

    VideoCapture capture;capture.open(3);           //open the default camera -1才是默认摄像机,3是我的USBCaemra的if (capture.isOpened()){qDebug()<<"camera open!!!";}Mat edges;namedWindow("edges",1);for(;;){Mat frame; //定义一个Mat变量,用于存储每一帧的图像capture>>frame; //读取当前帧if (!frame.empty()) //判断当前帧是否捕捉成功 **这步很重要
        {imshow("edges", frame); //若当前帧捕捉成功,显示
        }else{qDebug()<<"can not ";}waitKey(30); //延时30毫秒
}

  IplImage* pFrame = NULL;//声明IplImage指针
CvCapture* pCapture = cvCreateCameraCapture(-1);//获取摄像头//-1为默认摄像头,其他则需要填写地址;//函数cvCreateCameraCapture给从摄像头的视频流分配和初始化CvCapture结构。//目前在Windows下可使用两种接口:Video for Windows(VFW)//和Matrox Imaging Library(MIL);//Linux下也有两种接口:V4L和FireWire(IEEE1394)。//释放这个结构,使用函数cvReleaseCapture。//返回值为一个// CvCapture
cvNamedWindow("video", 1);//创建窗口while(1)//显示视屏
           {pFrame=cvQueryFrame( pCapture );// 函数cvQueryFrame从摄像头或者文件中抓取一帧,//然后解压并返回这一帧。//这个函数仅仅是函数cvGrabFrame和函数cvRetrieveFrame在一起调用的组合。//返回的图像不可以被用户释放或者修改。抓取后,capture被指向下一帧,//可用cvSetCaptureProperty调整capture到合适的帧。if(!pFrame)break;//如果PFrame为空,则跳出循环;
cvShowImage("video",pFrame);//当前帧显示后char c=cvWaitKey(33);//我等待33msif(c==27)break;//如果用户触发了按键,将按键的ASCII值给C//如果C为ESC(ASCII 为27)循环退出
           }cvReleaseCapture(&pCapture);//释放Capture;
cvDestroyWindow("video");//销毁窗口

以上两种方法在填入-1时,都会弹出选择摄像机的界面,而且都可以成功打开笔记本电脑上自带的摄像头。

但是本人手头上USBCamera却不行。之后发现只有使用VideoCapture方法,填入指定id才能成功过打开摄像头。 CvCapture怎么试都不行。所以希望大家在开发的时候注意到这一点。

转载于:https://www.cnblogs.com/blueroses/p/7930120.html

使用openCV打开USB摄像头(UVC 小米micro接口)相关推荐

  1. OpenCV 打开USB摄像头帧率低问题解决

    采用OpenCV对USB摄像头进行视频图像抓取时,如果图像帧抓取帧率低,可采用以下方式提高帧率. cv::VideoCapture camera_capture; camera_capture.ope ...

  2. linux系统USB摄像头反应慢,Linux下OpenCV打开USB接口的UVC摄像头及索引号是202的原因...

    一般来说,USB的UVC摄像头在Linux平台下通过V4L驱动来使用.OpenCV打开USB的UVC摄像头一般也通过V4L驱动来打开.打开方法网上都有,一般就是通过VideoCapture的open( ...

  3. 31全志r58平台Android4.4.2下打开USB摄像头

    31全志r58平台Android4.4.2下打开USB摄像头 2018/10/26 16:00 版本:V1.0 开发板:SC5806 1.系统编译:(略) 2.需要修改的文件: W:\r58_andr ...

  4. Opencv根据USB摄像头PID\VID号,获取对应摄像头索引

    1.引言 电脑插多个USB摄像头时,当插拔或者开机之后,Opencv对应的摄像头索引会发生改变,导致Opencv打开摄像头会开错,比如笔记本自带一个摄像头,插上一个USB摄像头时,有时自带的摄像头索引 ...

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

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

  6. 大疆妙算Manifold刷机换源,cuda,opencv,qt配置以及实现opencv读取usb摄像头,qmake nvcc交叉编译

    大疆妙算Manifold刷机换源,cuda,opencv,qt配置以及实现opencv读取usb摄像头,qmake nvcc交叉编译 一.刷机 1.解压安装包 2.制作镜像 3.然后按照妙算说明书进入 ...

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

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

  8. 使用Opencv打开手机摄像头

    使用opencv打开手机摄像头,这里指的是电脑端写的opencv软件读取手机摄像头图像. 其主要原理是在手机端打开一个端口,打开.读取手机摄像头,然后通过ip-端口号实现远程摄像头图像读取,其实就是让 ...

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

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

最新文章

  1. 十大Intellij IDEA快捷键转
  2. KETTLE数据上传
  3. [CF1066C]Books Queries
  4. 网络加速和优化控制常用管理
  5. python生成随机字符串
  6. SpringBoot快速开发利器:Spring Boot CLI
  7. JavaEE6入门02—Myeclipse8.5+GlassFish
  8. 我和学姐聊了下他在阿里这9年的成长,受益颇多!
  9. ForkJoin框架简单使用
  10. java容器类---概述
  11. Error:Execution failed for task ':app:clean'. Unable to delete directory: /media/file/workspaces/a
  12. 有了证件照大师 轻松在ps中做证件照
  13. 计算机系毕业论文绪论,本科毕业论文绪论范文
  14. 90后美女学霸传奇人生:出身清华姚班,成斯坦福AI实验室负责人高徒
  15. 四元数与欧拉角(RPY角)的相互转换
  16. Word和Excel怎样进入安全模式?
  17. ESP8266+blinker点灯(小爱+天猫+小度三合一)
  18. matlab调整文字方向,MATLAB改变ylabel文字方向以及截边
  19. 物联网设备数据流转之前后端数据交互与展示:Layout, Cascader, Card, Dialog, Table, Pagination
  20. plc c语言 软元件t,三菱PLC软元件的种类及功能大全

热门文章

  1. Downloaded bytes did not match Content-Length解决方案:本地安装
  2. 为什么抖音总显示连不上服务器,抖音登录不上怎么回事
  3. Apollo:planning模块概况
  4. Melis4.0[D1s]:1.启动流程(与adc按键初始化相关部分)跟踪笔记
  5. 改进YOLO系列 | YOLOv5/v7 更换骨干网络之 MobileNeXt
  6. 一款漂亮的网址永久发布页源码
  7. 图书馆 管理系统--可行性报告
  8. echarts的学习
  9. android 计步器毕设论文,基于单片机的计步器.doc
  10. centos7安装swoole与PHP添加swoole扩展