Какой тип данных захватывается с помощью метода cv2.VideoCapture.read () в OpenCV? - PullRequest
0 голосов
/ 20 сентября 2018

Мне интересно, какой тип данных захватывается с помощью метода cv2.VideoCapture.read ().Я читал документы OpenCV и нашел это объяснение:

enter image description here

Я ознакомился с парой основных руководств по OpenCV, где веб-камера может захватывать данныеи выводит кадры.На рисунке ниже показаны данные кадра.

enter image description here

И здесь следует код, который выводит эти кадры:

import cv2, time, base64

framesCaptured = 0;
video=cv2.VideoCapture(0) <====== Video capture for the webcam

# Save camera frames as movie
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('recording.avi', fourcc, 20.0, (640, 480))

while True:
    framesCaptured += 1

    check, frame = video.read() <====== Grabs and retrieves frames and decode
    # Write video frames
    out.write(frame)

    # Print out statements
    #print(check)
    print(frame) <====== Print out frame data (as shown in the cmd picture below)

    gray=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow("frame", gray)   

    key=cv2.waitKey(1)

    if key == ord('q'):
        break

#print('Frames captured: ' + str(framesCaptured))
video.release()
out.release()
cv2.destroyAllWindows

Поэтому мне интересно, какой тип данных печатается из переменной 'frame'?

В конце я хочу использовать эти данные «кадра» для восстановления изображений в видео в приложении C #.

1 Ответ

0 голосов
/ 20 сентября 2018

Вы можете проверить тип кадра самостоятельно, добавив print(type(frame)).
Когда я выполняю скрипт с print(type(frame)), печатается numpy.ndarray.

...