我遵循了一个教程,并尝试在按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()

而且我尝试添加&0xFF:
key = cv2.waitKey(0)&0xFF

仍然无法正常工作,这有什么问题?我可以解决吗?

=============更新===========

我在其中添加了print(key),当按下q时,变量key113,而ord('q')113,也无法理解为什么它不起作用...

============已解决=============

(似乎我忘记了if的工作原理...)

最佳答案

在不返回cv2.waitKey(0)键的键值时连续调用q可能有效:

while cv2.waitKey(0) != ord('q'):
    pass
cv2.destroyAllWindows()

09-04 23:51