在openCV中显示图像之间暂停

Ant*_*ano 7 python opencv

我想展示几张图片,在两者之间暂停.我试过waitKey,等待用户按ESC,但它似乎没有工作.

import numpy as np
import cv2

img = cv2.imread('image1.jpg',0)
cv2.imshow('image',img)


# here it should be the pause
k = cv2.waitKey(0)
if k == 27:         # wait for ESC key to exit
    cv2.destroyAllWindows()

img = cv2.imread('image2.jpg',0)
    cv2.imshow('image',img)
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

提前致谢

小智 6

在您已发布的代码中,image1.jpg会显示并等待用户自使用以来按任意键waitKey(0)。该0指示程序将等待,直到用户点击一个键。您可以添加要显示第二张图像之前要等待的毫秒数,以代替0。按下一个键后,image2.jpg将读取但不显示该键,因为您没有waitKey第二秒钟的时间imshow,程序将退出。

您可以尝试以下代码。此代码假定您的“几张图片”位于一个文件夹中,并显示一张图片,暂停3秒并显示下一张。

import cv2
import os

folder_path = ''#folder path to your images

for path in os.listdir(folder_path):#loop to read one image at a time 
    imgpath = os.path.join(folder_path, path)

    frame = cv2.imread(imgpath, 1)

    cv2.imshow('Window', frame)

    key = cv2.waitKey(3000)#pauses for 3 seconds before fetching next image
    if key == 27:#if ESC is pressed, exit loop
        cv2.destroyAllWindows()
        break
Run Code Online (Sandbox Code Playgroud)


Mar*_*ett 3

呼叫中的waitkey()数字是等待的毫秒数。