Создание файлов AVI в OpenCV - PullRequest
5 голосов
/ 16 июля 2009

Я пытался создать приложение с использованием OpenCV и Visual Studio 2008, чтобы захватывать изображения с веб-камеры, применять к ним фильтр, а затем записывать их в файл AVI. Все работает, кроме создания файла AVI.

Проблема в том, что он работает на моем компьютере, но не работает на компьютере моего коллеги. Причина этого (я думаю) в том, что у него нет необходимых видеокодеров для использования OpenCV.

Функция cvCreateVideoWriter не возвращает NULL, но я получаю файл 0kb на диске.

Ответы [ 3 ]

20 голосов
/ 16 июля 2009

Почему бы не протестировать все кодеки, чтобы сохранить игру:

CV_FOURCC('P','I','M','1')    = MPEG-1 codec

CV_FOURCC('M','J','P','G')    = motion-jpeg codec (does not work well)

CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec

CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec

CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec

CV_FOURCC('U', '2', '6', '3') = H263 codec

CV_FOURCC('I', '2', '6', '3') = H263I codec

CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec

Код кодека -1 откроет окно выбора кодека (в окнах).

3 голосов
/ 14 июля 2015

В OpenCV 3.0.0 readme.txt для ffmpeg говорит:

"Существует также наш автономный кодек движения jpeg, который вы можете использовать без каких-либо забот. Он обрабатывает потоки CV_FOURCC («M», «J», «P», «G») внутри контейнера AVI («.avi»). "

(источники \ 3rdparty \ FFmpeg \ readme.txt)

-1 и cv :: VideoWriter :: fourcc ('M', 'J', 'P', 'G') - единственные опции, которые работают для меня в Windows 8.1.

1 голос
/ 16 июля 2009

Проблема заключалась в том, что у моего коллеги была установлена ​​более старая версия OpenCV. Если я использовал новый OpenCV, у него был кодер, и он делал всю работу.

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