2

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

4

2 回答 2

2

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

我想您目前正在使用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)
于 2015-01-27T19:56:48.103 回答
1

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

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

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

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

cv2.waitKey(50) #wait for 50ms
于 2015-01-27T16:30:06.333 回答