暂停在opencv中显示一系列图像

Pause the showing of a series of images in opencv

我有以下代码

the_list=os.listdir(directory)
img_list= [i for i in the_list if i.endswith('.png')]
img_list.sort()

for img_name in img_list:
    img=cv2.imread(img_name)
    cv2.imshow("movie",img)
    #cv2.waitKey(0)
    cv2.waitKey(10)

有了这个,如果我在 waiKey 中使用 0,我每次都必须按一个键,但是如果我使用 10,那么我就有了“像”电影一样的东西,每个图像一个接一个地显示

我的问题是,如何修改脚本,让我可以按一个键暂停或继续显示图片?

我没有测试过这段代码,但它应该可以工作,按 p 你应该可以暂停和取消暂停:

the_list=os.listdir(directory)
img_list= [i for i in the_list if i.endswith('.png')]
img_list.sort()
time_to_wait=10
for img_name in img_list:
    img=cv2.imread(img_name)
    cv2.imshow("movie",img)
    k = cv2.waitKey(time_to_wait)
    if k == ord('p'):
        if time_to_wait == 10:
             time_to_wait=0
        else:
             time_to_wait=10