我创建了以下代码以显示实时提要并从中保存特定帧。但这里的问题是它检测到按键本身而不是连续按下的键。哪种语法可以让我检测是否连续按下某个键,然后才允许实时提要运行?我不确定如何实现此功能。这可以通过简单的 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 库)或循环结构(或者更好的函数)?