我遵循了一个教程,并尝试在按时使程序退出q,但这是行不通的,无论我按哪个键都可以退出,这是代码:
twi = cv2.imread('large.png')
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image', twi)
key = cv2.waitKey(0)
if key == ord('q'):
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
而且我尝试添加&0xFF:
key = cv2.waitKey(0)&0xFF
Run Code Online (Sandbox Code Playgroud)
仍然无法正常工作,这有什么问题?我可以解决吗?
=============更新============
我还添加print(key)了一点,当按下时q,变量key是113,并且ord('q')是113,都不明白为什么它不起作用...
============已解决=============
(似乎我忘记了if工作原理...)
cv2.waitKey(0)在不返回键的键值时连续调用q可能会起作用:
while cv2.waitKey(0) != ord('q'):
pass
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)