我正在使用OpenCV,我希望OpenCV 不等待按下任何键(cv2.waitKey()
的默认行为),但等待特定我定义的键(并执行后续操作)。
我目前解决此问题的方法是以下递归方法:
def opencv_wait():
# wait for keypress; capture it
k = cv2.waitKey(0)
if k == 27: # this should be ESC
return # e.g. end the program
elif k == some_key: # some other keys...
do_some_function() # ...and actions to do after key is pressed
else:
opencv_wait() # recursively call opencv_wait() for looping
我的问题是:这个解决方案是让OpenCV等待不同密钥的便捷方式吗?
是否有更快/更好的方法来实现我想要做的事情?
基本上我希望OpenCV等待(尽可能少浪费资源)无限长,直到按下特定的键才能触发后续操作。
答案 0 :(得分:0)
如果不是必要的话,你可以尝试非递归方法:
def is_pressed(key)
# if statement
def opencv_wait():
key = 0
while is_pressed(key) :
key = cv2.waitKey(0)