为了允许循环只在按下按钮时运行而不是直到按下按钮才运行,需要哪种语法?

问题描述 投票:0回答:0

我创建了以下代码以显示实时提要并从中保存特定帧。但这里的问题是它检测到按键本身而不是连续按下的键。哪种语法可以让我检测是否连续按下某个键,然后才允许实时提要运行?我不确定如何实现此功能。这可以通过简单的 while 循环来实现,还是有更简单的方法来解决这个问题?

if c== ord('r'):
    camera = cv2.VideoCapture(0)
    live=camera.read
    bg=live
    cv2.namedWindow(window_name_bg, cv2.WINDOW_NORMAL) 
    cv2.imshow(window_name_bg, bg)
    
    i+=1
   # set path in which you want to save images
    path = r'C:/Users/Smit/Labor_Gäst/Dsa Simulator'
    os.chdir(path)
    i = 0
    wait = 0
    ret, img = camera.read()
    font = cv2.FONT_HERSHEY_PLAIN
    cv2.putText(img, str(datetime.now()), (20, 40), font, 2, (255, 255, 255), 2, cv2.LINE_AA)
    cv2.imshow('live video', )
    filename = 'Frame_'+str(i)+'.jpg'
    pic=cv2.imwrite(filename, img)
    cv2.imshow('background',pic)
    i=i+1   # for changing name of file

我只是在按下 r 键时才尝试显示来自摄像机的实时画面。在那之前它应该只显示一个黑色窗口。我设法获得实时提要,但不仅仅是在按下键时,而是一般情况下。你会为这样的操作推荐什么语法(或 python 库)或循环结构(或者更好的函数)?

python loops syntax
© www.soinside.com 2019 - 2024. All rights reserved.