Chr*_*isC 13 linux opencv ffmpeg codec raspberry-pi
我无法VideoWriter在Raspberry Pi(Raspbian Weezy)上实例化和打开用于录制视频的OpenCV .
我的项目是用C++编写的,但我编写了一个最小的Python程序来演示这个问题.
https://gist.github.com/chriscollins/11ff2f43852e1c93dae8
我的C++代码和上面的Python代码都在我的Windows机器上运行没有问题.有时候笔者不开,但是这是可以预料的-我没有安装所有列出的编解码器(编解码器的列表来自开放CV源),但相当多的人正常工作.然而,在Raspberry Pi上,C++代码和Python代码都失败了,VideoWriter永远不会被打开.在上面的Python代码中,writer.isOpened()当在Raspberry Pi上运行时,为每个编解码器返回false.
我已将chown目标目录编辑为我正在运行Python脚本的用户,并将chmod其设置为ded,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.可通过https://gist.github.com/chriscollins/d8060e03a6acd6d4336c获得cmake的输出
make并make install从同一目录.
各种其他OpenCV功能在Raspberry Pi(在C++或Python中)上正常工作 - 例如通过查看网络摄像头VideoCapture,但我无法VideoWriter使用它.我很想尝试从源代码而不是通过安装FFMPEG apt-get,但是make在Raspberry Pi上运行需要5个多小时,我希望我能在这里找到答案,而不是继续尝试试错法!
任何有关如何解决(或调试)这方面的建议都表示赞赏.
编辑:添加了cmake命令的输出(https://gist.github.com/chriscollins/d8060e03a6acd6d4336c)
我在 Mac OS 10.9 (Mavericks) 上也遇到过类似的问题。我已经通过重新安装带有 ffmpeg 支持的 Opencv 解决了这个问题(我不确定我是否在手动安装 ffmpeg 后重新安装了它,或者 brew 是否处理了它)。在 Mac 上安装支持 ffmpeg 的 OpenCV 只需一个命令 - brew install opencv --with-ffmpeg(此选项的说明 ->“使用 ffmpeg 支持进行构建”)。我确信apt-get应该有类似的选择。
您也可以尝试这个解决方案 - http://www.ozbotz.org/opencv-installation-2-3-1/它已经很旧了,但是经过一些小的更改应该可以与当前的 OpenCV 版本一起使用。
| 归档时间: |
|
| 查看次数: |
2280 次 |
| 最近记录: |