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

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

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

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

    VideoCapture capture;
capture.open(); //open the default camera -1才是默认摄像机,3是我的USBCaemra的
if (capture.isOpened())
{ qDebug()<<"camera open!!!";
}
Mat edges;
namedWindow("edges",);
for(;;)
{
Mat frame; //定义一个Mat变量,用于存储每一帧的图像
capture>>frame; //读取当前帧
if (!frame.empty()) //判断当前帧是否捕捉成功 **这步很重要
{
imshow("edges", frame); //若当前帧捕捉成功,显示
}
else
{
qDebug()<<"can not ";
}
waitKey(); //延时30毫秒 }
  IplImage* pFrame = NULL;
//声明IplImage指针 CvCapture* pCapture = cvCreateCameraCapture(-);
//获取摄像头
//-1为默认摄像头,其他则需要填写地址;
//函数cvCreateCameraCapture给从摄像头的视频流分配和初始化CvCapture结构。
//目前在Windows下可使用两种接口:Video for Windows(VFW)
//和Matrox Imaging Library(MIL);
//Linux下也有两种接口:V4L和FireWire(IEEE1394)。
//释放这个结构,使用函数cvReleaseCapture。
//返回值为一个
// CvCapture cvNamedWindow("video", );
//创建窗口 while()//显示视屏
{
pFrame=cvQueryFrame( pCapture );
// 函数cvQueryFrame从摄像头或者文件中抓取一帧,
//然后解压并返回这一帧。
//这个函数仅仅是函数cvGrabFrame和函数cvRetrieveFrame在一起调用的组合。
//返回的图像不可以被用户释放或者修改。抓取后,capture被指向下一帧,
//可用cvSetCaptureProperty调整capture到合适的帧。 if(!pFrame)break;
//如果PFrame为空,则跳出循环; cvShowImage("video",pFrame);
//当前帧显示后 char c=cvWaitKey();
//我等待33ms if(c==)break;
//如果用户触发了按键,将按键的ASCII值给C
//如果C为ESC(ASCII 为27)循环退出
}
cvReleaseCapture(&pCapture);
//释放Capture; cvDestroyWindow("video");
//销毁窗口

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

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

使用openCV打开USB摄像头(UVC 小米micro接口)的更多相关文章

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

  2. 调用opencv打开不摄像头

    调用opencv打开不摄像头,可以试试下面的语句: CvCapture* pCapture = cvCreateCameraCapture(0); 参数设为0 ,而不是-1,在自己电脑上可以 .

  3. python+opencv 打开网络摄像头

    python+opencv 打开网络摄像头(手机)(转) #以下是最常用的读取视频流的方法import cv2url = 'rtsp://admin:admin@192.169.5.2:554/'#根 ...

  4. Jetson TX2(3)opencv3 打开usb摄像头

    ubuntu2604 opencv3.4.0 https://blog.csdn.net/ultimate1212/article/details/80936175?utm_source=blogxg ...

  5. python opencv 读取USB摄像头的像素问题

    问题描述 每次调用capture读取video的时候,还回的像素都是640x480,不管是笔记本的摄像头还是USB摄像头,明明我的摄像头是支持130万读取的功能的呀. 问题分析 一番查找,关于用ope ...

  6. 利用opencv从USB摄像头获取图片

    由于opencv自带的VideoCapture函数直接从usb摄像头获取视频数据,所以用这个来作为实时的图像来源用于实体检测识别是很方便的. 1. 安装opencv 安装的步骤可以按照之前这个文章操作 ...

  7. 使用vlc打开usb摄像头

    打开vlc播放器 可以打开网络串流的方式打开摄像头,但只支持第一个摄像头 这一串地址拼凑方法看下面,下面可以选择摄像头 为什么只支持第一个摄像头可以参考下一篇使用Vlc.DotNet打开摄像头并截图 ...

  8. pcduino 无法打开usb摄像头。

    1.sudo ./demon   http://www.oschina.net/question/994181_118098 2.usb camera interfarce switch :http: ...

  9. OpenCV 学习笔记(5) 使用opencv打开笔记本摄像头

    #include "stdafx.h" #include <opencv2\opencv.hpp> #include <iostream> #include ...

随机推荐

  1. WampServer & XAMPP Configure with MariaDB and MySQL

    第一部分补上次的一个问题 1.WampServer 3不支持的硬件格式 FAT3和 exFAT 他只能工作在NTFS的格式硬盘上. 不能在Windows XP上运行. 安装 WampServer 必须 ...

  2. bzoj 1812

    什么鬼noip互测题... 这题很显然是树形dp,但设计状态以及转移是个难点 记状态f[i][j][k]表示以i为根节点的子树,离i最近的祖宗节点编号为j放了虫洞(伐木场?),i的子树内放了k个伐木场 ...

  3. 3种vue路由传参的基本模式

    路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功. 在vue路由中,支持3中传参方式. 场景,点击父组件的li元素跳转到子组件中,并携带参数,便 ...

  4. Centos6.10部署TeamViewer

    1.在官网下载支持Linux系统的包,建议下载TeamViewer12的包,官网URL:https://www.teamviewer.com/cn/download/linux/ 2.将下载的软件包导 ...

  5. Django的Session存储Redis环境配置

    第一步:在项目目录下的settings.py中MIDDLEWARE中加上中间件: # session中间件Django项目默认启用Session 'django.contrib.sessions.mi ...

  6. HDU 1075 What Are You Talking About (stl之map映射)

    What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K ...

  7. 【C++ Primer | 07】常用算法

    第一部分 常用泛型算法: find(beg, end, val); equal(beg1, end1, beg2); fill(beg, end, val); fill_n(beg, cnt, val ...

  8. php接收base64图片并保存

    header("Content-Type: text/html; charset=utf-8"); /*print_r($_FILES)*/;//所有传入的图片都在files这个数 ...

  9. C++ 语法--变量和常量

    起步 Hello world! #include <iostream> int main() { std::cout<<"Hello, world!"; ; ...

  10. 基于AspNet Core2.0 开发框架,包含简单的个人博客Demo

    大家好,最近离职了,利用闲暇时间就捣鼓了一个基于AspNet Core开发框架,分享出来希望能给AspNet Core学者带来一些帮助,同时也能跟大家一起学习.当然了,由于我的个人技术及经验的有限,框 ...