Аргумент в cv2.waitKey()
- это время ожидания нажатия клавиши, а не точное время, в течение которого отображается изображение.
cv::imshow()
или cv2.imshow()
не было разработано, чтобы быть полным GUI. Он был разработан для быстрой отладки и отображения изображений / видео.
Вы можете достичь того, что вам нужно, используя некоторую форму sleep()
в потоке или около того. Но это сложнее сделать в python. Вы также можете просто изменить свой код на
t_screen_time = 5000
import numpy
import cv2
left_arrow = r"first/image"
right_arrow = r"second/image"
img = cv2.imread(left_arrow)
cv2.imshow('image',img)
cv2.waitKey(t_screen_time)
img = cv2.imread(right_arrow)
cv2.imshow('image',img)
cv2.waitKey(t_screen_time)
cv2.destroyAllWindows()
, удалив cv2.destroyAllWindows()
перед отображением второго изображения. Я протестировал этот код, и он работает, но если вам нужна дополнительная функциональность GUI, используйте что-то вроде Qt.