参考原博地址
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:
目前刚刚接触相关工作,编程、图像处理都还是初学者,希望大佬们批评指正