Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 20, 2017 16:25:32

_visor_
Зарегистрирован: 2013-04-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и OpenCV для web камеры

Доброго времени суток! Вопрос кратко: есть внешняя web камера, по характеристикам (подтверждено через VLC) поддерживает MGPEG с разрешением 1920*1080 30 fps. При попытке заграбить видео через OpenCV, формат захвата (fourcc) по-любому автоматически выставляется YUY. Попытки насильно поменять fourcc на MJPEG не помогают (т.е. VideoCapture.set(cv2.CAP_PROP_FOURCC, 1196444237.0) выдает True, но на самом деле ничего не меняет) . Может кто сталкивался с такой проблемой? (ЗЫ: у YUY при таком разрешении fps максимум 5, а у MGPEG 30)
собственно сам код:

import numpy as np
import cv2

cap = cv2.VideoCapture(1)# это вторая web камера
w = 1920
h = 1080
fps = 30.0
cap.set(6, 1196444237.0)#6 (при YUY значение 844715353.0, при MJPEG 1196444237.0)
cap.set(3, w)#3
cap.set(4, h)#4
cap.set(cv2.CAP_PROP_FPS, fps)#10?
fourcc = cv2.VideoWriter_fourcc(*'MJPG')

out = cv2.VideoWriter('output.avi',fourcc, fps, (w,h))

while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
#for i in range(27):
# print(cap.get(i)) можно распечатать значения которые на камере
cap.release()
out.release()
cv2.destroyAllWindows()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version