对于我的图像处理算法,我使用的是 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/