在Linux下使用OpenCV多线程使用opencv的imshow显示图片时,很多时候会出现图片不更新的情况(但是实际内存数据在变化),经过多次试验后,发现一个可以暂时解决图片显示不更新方法:
1.首先将所有的图片显示放到一个线程中,在该线程中统一显示。
2.显示代码:
Mat a;//a会不断的循环更新
namedWindow("img");
imshow("img",a);
startWindowThread();//开始不断的更新图片
waitKey(20);//20ms,这里参数选择最好根据具体的图片大小来定。即图片越大,最后时间越大。