这看起来很简单,但我无法让它工作,而且我也找不到关于这个特定问题的任何问题(如果有,请在评论中指出)
我正在显示一个图像,希望窗口在特定的键上关闭,但奇怪的是,任何键都会导致它关闭
这是我的简单测试代码:
img = cv2.imread("MyImage.png")
cv2.imshow('My Image', img)
k = cv2.waitKey(0) & 0xFF
print(k)
if k == 27: # close on ESC key
cv2.destroyAllWindows()
(根据所说的here)
无论我按哪个键,都会显示键代码(27表示ESC,32表示空格…),窗口关闭
主要问题:从未到达if
子句(我将print(k)
放入其中进行检查,但没有打印任何内容)。按键后,程序停止运行,无法检查按键代码
(我在macOS Catalina上,使用Python 3.8)
那么,我如何让它等待一个特定的键呢
尝试此操作,它将等待按下“q”键
嗨
在我看来,您的程序只是终止,因此所有窗口都隐式关闭,无论您按哪个键
一个想法可能是在读取和检查按下的键时放置一个
while True
循环:运行此操作,按一些键,最后按ESC,我得到以下输出:
同时,所有窗口都关闭,程序终止
只需这样做:
我只是从中删除了
& 0xFF
。这对我来说是可行的,但我不知道为什么这会造成问题,因为它只是简单地应用和操作FF
相关问题 更多 >
编程相关推荐