У меня есть небольшая программа, в которой я хочу транслировать изображения с камеры моего ноутбука и обрабатывать их (здесь неважно), а затем выводить их на мой экран. Мой текущий код выглядит следующим образом:
Python 3.7.1 / cv2 4.1.0
import cv2 as cv
import numpy as np
cap = cv.VideoCapture(0)
cap.set(cv.CAP_PROP_FPS, 20)
cap.set(cv.CAP_PROP_FRAME_WIDTH, 320)
cap.set(cv.CAP_PROP_FRAME_HEIGHT, 200)
while True:
frame_created, frame = cap.read()
print(frame.shape) # writes (360, 640, 3)
cv.imshow('frame', self.frame)
key = cv.waitKey(5) & 0xFF
if key == 27:
break
Теперь мне интересно, почему возвращенный кадр имеет форму, показанную выше, так как я указал другой кадр высота и ширина рамы с cap.set()
? Я что-то здесь упускаю или это ошибка в текущей версии? Выходной кадр также имеет «неправильную» форму.