OpenCV外接USB摄像头的方法

近期,需要利用OpenCV计算机视觉库读取视频并显示、保存。由于之前一直使用笔记本,此次台式机外接USB摄像头,出现了很大问题,总是显示内存问题,谷歌、百度大半天,总结各路大神建议,最终解决了问题,将问题和代码分享给大家,避免走弯路。

出现问题原因:

       1. 摄像头初始化需要时间,进入循环前 waitKey(2000),否则会出现闪退;

        2. 摄像头视频存在解码问题。

//--------------------------------------【程序说明】-------------------------------------------

// 程序说明:OpenCV计算机视觉库入门学习

// 程序描述:台式机利用OpenCV外接USB摄像头,读入视频并显示

// 开发测试所用操作系统: Windows 7 64bit

// 开发测试所用IDE版本:Visual Studio 2010

// 开发测试所用OpenCV版本: 2.4.9

// 2017年10月 Created by @Fireman1994

//------------------------------------------------------------------------------------------------

#include"cv.h"

#include"highgui.h"

#include"iostream"

using namespace std;

int main(int argc,char* argv[])

{

CvCapture* cap;

cap=cvCaptureFromCAM(0);

if(!cap)

{

cout<<"create camera capture error"<<endl;

system("pause");

exit(-1);

}

cvNamedWindow("img",1);

IplImage* img;

//进入循环前,等待一段时间摄像头初始化,否则初始化未完成,会直接闪退出程序

cvWaitKey(2000);

while(1)

{

img=cvQueryFrame(cap);//读入视频解码

if(!img)

break;

cvShowImage("img",img);

cvWaitKey(3);

}

cvReleaseCapture(&cap);

cvDestroyAllWindows();

cvReleaseImage(&img);

return 0;

}

以上是 OpenCV外接USB摄像头的方法 的全部内容, 来源链接: utcz.com/z/356636.html

回到顶部