OpenCV外接USB攝像頭的方法
近期,需要利用OpenCV計算機視覺庫讀取視頻并顯示、保存。由于之前一直使用筆記本,此次臺式機外接USB攝像頭,出現(xiàn)了很大問題,總是顯示內(nèi)存問題,谷歌、百度大半天,總結(jié)各路大神建議,最終解決了問題,將問題和代碼分享給大家,避免走彎路。
出現(xiàn)問題原因:
1. 攝像頭初始化需要時間,進入循環(huán)前 waitKey(2000),否則會出現(xiàn)閃退;
2. 攝像頭視頻存在解碼問題。
//--------------------------------------【程序說明】------------------------------------------- // 程序說明:OpenCV計算機視覺庫入門學習 // 程序描述:臺式機利用OpenCV外接USB攝像頭,讀入視頻并顯示 // 開發(fā)測試所用操作系統(tǒng): Windows 7 64bit // 開發(fā)測試所用IDE版本:Visual Studio 2010 // 開發(fā)測試所用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; //進入循環(huán)前,等待一段時間攝像頭初始化,否則初始化未完成,會直接閃退出程序 cvWaitKey(2000); while(1) { img=cvQueryFrame(cap);//讀入視頻解碼 if(!img) break; cvShowImage("img",img); cvWaitKey(3); } cvReleaseCapture(&cap); cvDestroyAllWindows(); cvReleaseImage(&img); return 0; }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Qt利用QNetwork實現(xiàn)上傳數(shù)據(jù)的示例代碼
這篇文章主要為大家詳細介紹了Qt如何利用QNetwork實現(xiàn)上傳數(shù)據(jù)的 功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-02-02C++ 將文件數(shù)據(jù)一次性加載進內(nèi)存實例代碼
這篇文章主要介紹了C++ 將文件數(shù)據(jù)一次性加載進內(nèi)存實例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05關(guān)于讀取popen輸出結(jié)果時未截斷字符串導(dǎo)致的命令行注入詳解
這篇文章主要給大家介紹了關(guān)于讀取popen輸出結(jié)果時未截斷字符串導(dǎo)致的命令行注入的相關(guān)資料,文中通過圖文及示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-03-03