即使您按下一个键,如何在 OpenCV 中保持图像打开
Posted
技术标签:
【中文标题】即使您按下一个键,如何在 OpenCV 中保持图像打开【英文标题】:How to keep an image open in OpenCV even if u press a key 【发布时间】:2020-02-19 19:01:57 【问题描述】:我是怎么做到的?在 matplotlib 中,我们有 Show with False 参数,您可以在不关闭的情况下保留图像。在我的脚本中,我使用 cv2.imshow 弹出两个图像,我读到我可以使用 waitKey(0) 保持它们的同步,但是当我按下一个键时,它们会随着 waitKey 的稳定而消失。
我想知道 OpenCV 是否有与 matplotlib.pyplot 中的 Show(False) 等效的方法。
【问题讨论】:
while (true): imshow 和 waitKey 【参考方案1】:当您使用 waitKey(number) 时,您正在设置一个计时器,用于确定 OpenCV 应等待任何键被按下的时间,并在此期间停止执行,直到按下某个键或计时器到时为止。当您设置 number = 0 时,这是表示永远等待直到按下某个键的简写。
key = cv2.waitKey(0)
if key == 27:
cv2.destroyAllWindows()
上面的代码设置了它,当你按下一个键时,它会将你按下的键返回给变量:key。现在如果 key = 27(即按下了 esacpe 键),那么它将关闭窗口。如果不是,那么它不会。更多细节可以在下面的链接中看到!
OpenCV Images
干杯,
警告:如果您使用的是 64 位机器,那么您需要使用
k = cv2.waitKey(0) & 0xFF
【讨论】:
【参考方案2】:您可以使用while
循环:
while cv2.waitKey(0) != 27:
pass
循环一直等待,直到按下 Escape 键。 将它放在脚本的末尾,因为它会阻止执行。
【讨论】:
以上是关于即使您按下一个键,如何在 OpenCV 中保持图像打开的主要内容,如果未能解决你的问题,请参考以下文章