如果我运行以下代码
import cv2
cv2.namedWindow('Window')
while True:
key = cv2.waitKey(50)
print(key)
if key == ord('q'):
break
print('quit')
然后按
i
(键代码105
)一会儿,我得到输出-1
-1
-1
-1
-1
-1
105
-1
-1
-1
-1
-1
-1
-1
-1
-1
105
105
105
105
105
105
105
105
105
105
-1
-1
105
的首次出现是我按下i
的时间。即使我一直按下i
,我仍然连续九次获得-1
。然后,我不断得到105
,直到释放i
为止。在这两种情况下,我都如何知道第一次出现
105
之后是否仍按下i
或释放-1
?或者换句话说,您如何检测OpenCV中何时释放密钥? 最佳答案
OpenCV具有非常基本的界面属性。如the documentation所述,它不谈论已发布的事件:
就您而言,如果仅使用按下事件,它将正常工作。不幸的是,您不能使用按下的事件来获得释放事件。您可以使用MouseEvent types代替keyEvent来发布事件,或者使用Micka在注释中提到,最好使用基于ui的程序。