У меня возникли проблемы с созданием и открытием OpenCV VideoWriter
для записи видео на малиновый пи (Raspbian Weezy).
Мой проект написан на С++, но я написал минимальную программу Python, которая демонстрирует проблему.
https://gist.github.com/chriscollins/11ff2f43852e1c93dae8
Как мой код на С++, так и код Python выше работают без проблем на моей машине с Windows. Иногда сценарий не открывается, но этого следует ожидать - у меня нет всех перечисленных кодеков (список кодеков исходит из открытого источника CV), но многие из них работают правильно. Однако на Raspberry Pi код С++ и код Python терпят неудачу, а VideoWriter
никогда не открывается. В приведенном выше коде Python writer.isOpened()
возвращает false для каждого отдельного кодека при запуске на малине Pi.
Я установил chown
каталог назначения для пользователя. Я запускаю Python script as, а chmod
отнесен к 777
, поэтому я не считаю, что это проблема с разрешениями. Я думаю, это может быть связано с тем, как я установил OpenCV или некоторые из его зависимостей, но я не уверен, как его исправить.
Процесс установки, который я использовал, выглядит следующим образом:
-
Обновите прошивку/пакеты через
rpi-update
,apt-get update
иapt-get upgrade
. -
Установите следующие зависимости через
apt-get
:libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev python-numpy libpython2.6 python-dev python2.6-dev libgtk2.0-dev
-
Загрузите и распакуйте http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip в
/root/opencv-2.4.9
. -
cd /root/opencv-2.4.9
и запуститеcmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_gpu=OFF -DBUILD_opencv_ocl=OFF
. Выход cmake доступен в https://gist.github.com/chriscollins/d8060e03a6acd6d4336c -
make
иmake install
из того же каталога.
Различные другие функции OpenCV работают правильно на Raspberry Pi (в С++ или на Python) - например, просмотр веб-камеры через VideoCapture
, но я не могу заставить VideoWriter
работать. У меня возникает желание попробовать установить FFMPEG из источника вместо apt-get
, но поскольку make
занимает 5+ часов для запуска на малине Pi, я надеялся, что найду ответ здесь, вместо того, чтобы продолжить пробную версию и подход к ошибкам!
Любые советы о том, как решить (или отлаживать) это оценили.
EDIT: Добавлен вывод команды cmake (https://gist.github.com/chriscollins/d8060e03a6acd6d4336c)