python - 更新时 Opencv imshow() 卡住

标签 python opencv image-processing freeze imshow

对于我的图像处理算法,我使用的是 python/OpenCV。我的算法的输出应在同一个窗口中一遍又一遍地更新。

然而有时窗口会卡住并且根本不更新,但算法仍在运行并在此期间多次更新图片。在这台 Ubuntu 机器上,窗口变成深灰色。

以下是相关代码的摘录:

for i in range(0,1000):
    img = loadNextImg()
    procImg = processImg(img)
    cv2.imshow("The result", procImg)
    cv2.waitKey(1)

注意:processImg() 的过程大约需要 1-2 秒。 cv2.imshow(procImg) 行在第一个实例中创建窗口(即没有前面的调用)

最佳答案

我的建议是使用 Matplotlib pyplot 来显示图像。我按照以下方式进行操作。

import matplotlib.pyplot as plt
# load image using cv2....and do processing.
plt.imshow(cv2.cvtColor(image, cv2.BGR2RGB))
# as opencv loads in BGR format by default, we want to show it in RGB.
plt.show()

我知道它没有解决cv2.imshow的问题,但它解决了我们的问题。

关于python - 更新时 Opencv imshow() 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37038606/

相关文章:

python - 根据其属性为python对象生成唯一ID

python - 跟踪由 Cython 包装的 C++ 中分配的内存使用情况

openCV 置信度值——是好是坏?

opencv - 有没有一种方法可以确定同时保留原始信息的图像中的噪声水平?

python - python grpc客户端如何管理连接?

python - 如何在 PyQt5 中从头开始制作按钮?

opencv - Blob 的像素高度和宽度

c++ - 使用关闭按钮关闭 Opencv 窗口

java - 如何找到图像文件中的隐藏文件 (Jpg/Gif/Png)

python - 图像中网格图案的鲁棒检测