imshow是一个显示gui,在被一个线程调用时很可能也会被其他线程调用,存在冲突。
解决方案1:
在显示图像之前,线程必须锁定imshow,并在waitKey函数指定的一段时间。
如下
mtx.lock();
cv::imshow("img_left",img_left);
if((char)waitKey(5)=='s')
break;
mtx.unlock();
解决方案2:
在调用imshow之前建立相应的namedwindow(参数不能给0);
这样多个线程中imshow可以不加锁运行。
转载请引用:
博主:实验室的搬运工
博客:http://write.blog.csdn.net/postedit/78268698
谢谢。