opencvjetson armlinux

OpenCV视频流的C++多线程处理方式(遇到窗口卡死,需要调节窗口大小才会显示几帧图片)

by nineone, 2023-02-27


opencv 多线程显示imshow出现图片不更新的问题

在linux 下使用opencv多线程使用opencv的imshow显示图片时,很多时候会出现图片不更新的情况(但是实际内存数据在变化),经过多次试验后,发现一个可以暂时解决图片显示不更新方法:

1 .首先将所有的图片显示放到一个线程中,在该线程中统一显示。

  1. 显示代码:

Mat a;//a会不断的循环更新

namedWindow("img");

imshow("img",a);

startWindowThread();//开始不断的更新图片

waitKey(20);//20ms,这里参数选择最好根据具体的图片大小来定。即图片越大,最后时间越大。

参考
https://blog.csdn.net/michaelhan3/article/details/68954106?fps=1&locationNum=4

https://blog.csdn.net/hlld__/article/details/112600447?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-4-112600447-blog-68954106.pc_relevant_default&spm=1001.2101.3001.4242.3&utm_relevant_index=7

https://zhuanlan.zhihu.com/p/593361913

opencvlinux

作者: nineone

2025 © typecho & elise 26 ms