如何在没有键盘反馈的情况下使用 OpenCV imshow 循环显示最新图像
How do can I use OpenCV imshow to display the most recent image in a loop without keyboard feedback
我 运行 在 Python 中使用 OpenCV 进行图像处理循环,我想在我的 imshow
window 中显示最新的图像掩码。因此,每当循环计算出新掩码时,它都会更新 imshow
window(大约 6Hz)。但是,如果不等待键盘中断,我无法获得 imshow
到 return 的控制权。有什么建议么?是否有更好的库可以用于此?
你可以做的是将图像记录到循环目录中的一个文件夹中,如果实时显示图像不是完全必要的话。
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)
我 运行 在 Python 中使用 OpenCV 进行图像处理循环,我想在我的 imshow
window 中显示最新的图像掩码。因此,每当循环计算出新掩码时,它都会更新 imshow
window(大约 6Hz)。但是,如果不等待键盘中断,我无法获得 imshow
到 return 的控制权。有什么建议么?是否有更好的库可以用于此?
你可以做的是将图像记录到循环目录中的一个文件夹中,如果实时显示图像不是完全必要的话。
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)