【轉載】Opencv同時呼叫兩個攝像頭
阿新 • • 發佈:2019-01-25
參考原博地址
http://blog.csdn.net/zmdsjtu/article/details/69222388
原博中可以呼叫但是由於沒有包含釋放所以可能報錯
部落格 :編譯opencv程式錯誤除錯集合
http://blog.csdn.net/hx1298234467/article/details/48173993中提到的路徑問題和載入庫的問題考慮了一下都不存在。所以可能是由於沒有新增釋放的原因。
故修改如下:
測試可以平穩執行30分鐘#include<opencv2/opencv.hpp> //#include<thread> using namespace cv; int main() { VideoCapture cap(0); VideoCapture capcap(1); Mat frame; Mat frame2; if (!capcap.isOpened())return 0; if (!cap.isOpened())return 0; while (1) { capcap >> frame2; cap >> frame; if (!frame2.empty() && !frame.empty()) { imshow("攝像頭2", frame2); imshow("攝像頭1", frame); if (waitKey(30) == 27) break; } else break; } capcap.release(); cap.release(); return 0; }
另外原程式中使用了#include<thread> 屬於c++11新特性 的執行緒 故至少需要在vs2013版本及以上執行。
但是目前不涉及 所以可以去除 程式也可以執行
PS:
目前剛剛接觸相關工作,程式設計、影象處理都還是初學者,希望大佬們批評指正