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

2024-05-13 03:30:44 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 图像图书馆键盘opencv图像处理建议imshow掩码
2条回答

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

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

例如。使用计数器可以很容易地跟踪图像。

您也可以使用waitkey-这将延迟括号中的毫秒数。但有时我对此有问题(我使用rpi,速度很慢!)所以我倾向于选择日志记录。

cv2.waitKey(50) #wait for 50ms

如果没有密码,这只是猜测。但是!

我想您当前正在使用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)

相关问题 更多 >