Попробуйте добавить эти две строки в конце:
import cv2
frameWidth = 640
frameHeight = 480
cap = cv2.VideoCapture("Resources/test_video.mp4")
while True:
success, img = cap.read()
if img is None:
break
#img = cv2.resize(img, (frameWidth, frameHeight))
cv2.imshow("Result", img)
if cv2.waitKey(1) and 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Возможно, в конце скрипта не удается освободить ресурс. См. Этот пост для получения дополнительной информации: Что означает cv2.videoCapture.release ()?
Это также, похоже, обычная проблема. См. здесь и здесь .
Изменить: обновить, чтобы ответить на комментарий с запросом выхода из видео на 'q'. Замените строки:
if cv2.waitKey(1) and 0xFF == ord('q'):
break
на:
key = cv2.waitKey(1)
if key == ord('q'):
break
Протестировано, и поведение соответствует ожидаемому, используя: