opencv не может открыть avi с кодеком ffdshow

В настоящее время я использую OpenCV, чтобы попытаться открыть файл AVI, созданный с помощью ffdshow. Программе удается открыть видеофайл и воспроизвести его, однако видеофайл черно-белый и слегка перекошенный. VLC и проигрыватель Windows Media могут работать нормально. Есть ли что-нибудь, что я могу сделать, чтобы установить кодек ffdshow в OpenCV, или мне нужно преобразовать каждый файл с ffdshow, используемым в соответствующие форматы кодека OpenCV? Спасибо заранее за вашу помощь.


person Seb    schedule 15.02.2011    source источник


Ответы (2)


OpenCV управляет видеофайлами по-разному, в зависимости от вашей компиляции и конфигурации OpenCV, например Video for Windows (Vfw), Win32, ffdshow... если ваш кодек установлен только как фильтр для DirectShow, а OpenCV пытается открыть это видео с помощью VfW32. .dll кодек не видно.

person Jonathan    schedule 27.09.2011
comment
Это на самом деле имеет большой смысл в том, как видео было закодировано. Спасибо. - person Seb; 27.09.2011

ffdshow — это не кодек, а пакет кодеков.
Вы можете определить, какой кодек фактически используется, либо с помощью параметров, которые вы передали в ffdshow (в частности, fourcc), либо с помощью gspot

openCV может использовать только информацию fourcc для определения кодека, он не справляется с какими-либо дополнительными функциями. Возможно, он использует декодер, отличный от предоставленного ffdshow (см. sherlock, чтобы определить, какие из них установлены).
Или может быть, вы выбрали какую-то опцию в кодировщике, которую он не понимает.

person Martin Beckett    schedule 15.02.2011
comment
Я попытался использовать Sherlock, и он показал, что все мои кодеки действительны. - person Seb; 16.02.2011
comment
Каким кодеком вы кодируете данные? Поскольку вы можете что-то увидеть, вероятно, это опция кодировщика, которую декодер не улавливает правильно. - person Martin Beckett; 16.02.2011