1. 程式人生 > >【轉載】Opencv同時呼叫兩個攝像頭

【轉載】Opencv同時呼叫兩個攝像頭

參考原博地址

http://blog.csdn.net/zmdsjtu/article/details/69222388

原博中可以呼叫但是由於沒有包含釋放所以可能報錯



部落格 :編譯opencv程式錯誤除錯集合

http://blog.csdn.net/hx1298234467/article/details/48173993中提到的路徑問題和載入庫的問題考慮了一下都不存在。所以可能是由於沒有新增釋放的原因。

故修改如下:

#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;
}
測試可以平穩執行30分鐘


另外原程式中使用了#include<thread>  屬於c++11新特性 的執行緒 故至少需要在vs2013版本及以上執行。

但是目前不涉及 所以可以去除 程式也可以執行

PS:

目前剛剛接觸相關工作,程式設計、影象處理都還是初學者,希望大佬們批評指正