OpenCV:等待不同按键?

4
我正在使用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能够无限期地等待(尽可能少地浪费资源),直到按下特定的按键以触发后续操作。

1
我也在寻找这个。不幸的是,我认为没有更好的等待特定键的方法。 - A. Sarid
1个回答

1

如果不必要,您可以尝试非递归方法:

def is_pressed(key)
    # if statement

def opencv_wait():
    key = 0

    while is_pressed(key) :
        key = cv2.waitKey(0)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接