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;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章