即使您按下一个键,如何在 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 中保持图像打开的主要内容,如果未能解决你的问题,请参考以下文章

实战深度学习(下)OpenCV库

如何在 Windows 中取消“系统键关闭”状态

图像的尺寸调整

如何添加HUD? (iOS)

即使在sencha中按下按钮后,如何使按钮的图像可见

如何使按钮保持按下状态?