Как установить размер кадра cv.CreateVideoWriter - PullRequest
2 голосов
/ 28 июля 2011

если я попытаюсь:

writer = cv.CreateVideoWriter(file, -1,(int(800),int(600)), is_color=1)

-или-

writer = cv.CreateVideoWriter(file, -1,(800,600), is_color=1)

-или-

writer = cv.CreateVideoWriter(file, -1,(800.0,600.0), is_color=1)

Я получаю ошибку:

TypeError: требуется поплавок

с этим я получаю прогресс:

writer = cv.CreateVideoWriter(file, -1, 25.0, (800,600), is_color=1)

ошибка: бэкэнд Gstreamer Opencv не поддерживает этот кодек на самом деле.

Входные файлы .png , вывод .avi

1 Ответ

2 голосов
/ 28 июля 2011

Вам необходимо передать действительные fourcc и fps :

fourcc = cv.CV_FOURCC('X','V','I','D')
fps = 25.0 # or 30.0 for a better quality stream
writer = cv.CreateVideoWriter(file, fourcc, 25.0, (800,600), is_color=1)

В качестве альтернативы, вы можете использовать именованные параметры в Python. Этот способ менее подвержен ошибкам:

writer = cv.CreateVideoWriter(
    filename=file,
    fourcc=cv.CV_FOURCC('X','V','I','D'),
    fps=25.0,
    frame_size=(800,600),
    is_color=1)

A fourcc - это 32-битный идентификатор кодека видеопотока внутри вашей целевой avi. Возможные значения для gstreamer в соответствии с cap_gstreamer.cpp :

cv.CV_FOURCC('H','F','Y','U') # HuffYUV
cv.CV_FOURCC('D','R','A','C') # BBC Dirac
cv.CV_FOURCC('X','V','I','D') # MPEG-4 Part 2
cv.CV_FOURCC('X','2','6','4') # MPEG-4 Part 10 (aka. H.264 or AVC)
cv.CV_FOURCC('M','P','1','V') # MPEG-1 video

Я считаю, что все вышеперечисленное можно поместить в контейнер avi.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...