python if wait then statement

时间:2016-05-29 15:25:14

标签: python if-statement

我正在研究一个覆盆子pi python脚本,我正在努力让if语句做我想做的事。

我可以在视频流中计算手指,这样可以正常工作。

接下来我想在计算5个手指(缺陷)时启动第一个事件(蜂鸣声),然后进入子循环,如果5个手指随后在给定时间(2s)内变为零手指然后再进行另一次事件(点击)发生。

这是我到目前为止(不太正常):

if count_defects==5:
    os.system('mpg321 beep.mp3 -q')
    time.sleep(2)
    if count_defects<5:
        os.system('mpg321 click.mp3 -q')
else:
    cv2.putText(img, "Waiting", (50,50), font, 1, (255,255,255), 1)

希望有人可以提供帮助 感谢

1 个答案:

答案 0 :(得分:2)

问题是count_defects采用初始值== 5来传递if子句。但是,除非你给它重新计算的机会,否则它永远不会假设另一个值。我不知道您用来获取此值的函数,但您的代码应如下所示。

def check_number_of_fingers():
    return number_of_fingers


count_defects = check_number_of_fingers()

if count_defects == 5:
    os.system('mpg321 beep.mp3 -q')
    time.sleep(2)
    count_defects = check_number_of_fingers() # Recalculate the value after elapsed time
    if count_defects < 5:
        os.system('mpg321 click.mp3 -q')
else:
    cv2.putText(img, "Waiting", (50,50), font, 1, (255,255,255), 1)