如何在没有键盘反馈的情况下使用OpenCV imshow在循环中显示最新图像

时间:2015-01-27 16:26:13

标签: python opencv imshow

我在Python中使用OpenCV运行图像处理循环,我想在imshow窗口中显示最新的图像蒙版。因此,每当循环计算新掩码时,它都会更新imshow窗口(大约6Hz)。但是,我无法在不等待键盘中断的情况下让imshow返回控制。有什么建议?有没有更好的库可用于此?

2 个答案:

答案 0 :(得分:1)

如果图像实时显示并非完全必要,您可以将图像记录到循环目录中的文件夹中。

cv2.imwrite('image_logs/image_' + str(image_count) + '.jpeg', image)

例如。使用计数器可以轻松地跟踪图像。

您也可以使用waitkey - 这将延迟括号中的毫秒数。有时我遇到这个问题(我使用rpi,非常慢!)所以我倾向于选择日志选项。

cv2.waitKey(50) #wait for 50ms

答案 1 :(得分:1)

没有代码,这是一个猜测。但是!

我想你正在使用cv2.waitKey等待键盘输入:

cv2.waitKey(33)
if k==27:    # Esc key to stop
    break

您需要做的是使用cv2.waitKey等待一段时间,比如1毫秒。

# Wait 1 milliseconds. Specifying 0 means forever, so we don't want that
cv2.waitKey(1)