ROS下opencv不能读取本地视频的解决方案
2011-06-12 19:26
344 查看
ROS下opencv不能读取本地视频的解决方案
因为项目需要,我需要把windows下的代码转移到ROS下,可是在转移的过程中,出现了一个非常让人头疼的问题,就是作测试的时候,ROS下的openCV不支持读取本地视频。找了很多方法。都解决不了,被逼无奈,只好到ROS官网去寻求答案。
这里是我发问的贴:http://answers.ros.org/question/1197/opencv-cant-be-used-in-ros,thanks to Eric Perko.
这里我把问题的详细情况在说下,希望对后来者一点帮助。
问题描述:ROS下OPENCV不能很好的读取摄像头或者本地视频。
问题根源:没有装ffmpeg,另外ROS默认的opencv也是不支持ffmpeg,1394,v4l等关于视频的接口。
问题解决方案:
第一,确认安装好ffmpeg,安装过程,我也写道我博客里,具体方法见http://blog.sina.com.cn/s/blog_661159d50100o7or.html
第二,修改ROS下opencv的Makefile文件,默认ros是装在/opt/ros/diamoadback/stacks/vision_opencv/opencv2下。/opt下文件,可以用sudo 修改,但是不好编译,所以我把vision_opencv拷贝我自己的stacks中,
比如 /opt/ros/diamoadback/stacks/vision_opencv/opencv2 :~$ sudo cp -fr vision_opencv ~/stacks
拷贝到home区后,修改makefile,比如:
然后 $ make
之后,重新编译$ rosmake 相应的package,就可以运行读取本地视频。
因为项目需要,我需要把windows下的代码转移到ROS下,可是在转移的过程中,出现了一个非常让人头疼的问题,就是作测试的时候,ROS下的openCV不支持读取本地视频。找了很多方法。都解决不了,被逼无奈,只好到ROS官网去寻求答案。
这里是我发问的贴:http://answers.ros.org/question/1197/opencv-cant-be-used-in-ros,thanks to Eric Perko.
这里我把问题的详细情况在说下,希望对后来者一点帮助。
问题描述:ROS下OPENCV不能很好的读取摄像头或者本地视频。
问题根源:没有装ffmpeg,另外ROS默认的opencv也是不支持ffmpeg,1394,v4l等关于视频的接口。
问题解决方案:
第一,确认安装好ffmpeg,安装过程,我也写道我博客里,具体方法见http://blog.sina.com.cn/s/blog_661159d50100o7or.html
第二,修改ROS下opencv的Makefile文件,默认ros是装在/opt/ros/diamoadback/stacks/vision_opencv/opencv2下。/opt下文件,可以用sudo 修改,但是不好编译,所以我把vision_opencv拷贝我自己的stacks中,
比如 /opt/ros/diamoadback/stacks/vision_opencv/opencv2 :~$ sudo cp -fr vision_opencv ~/stacks
拷贝到home区后,修改makefile,比如:
CMAKE_ARGS = -D CMAKE_BUILD_TYPE=RELEASE / -D CMAKE_INSTALL_PREFIX=`rospack find opencv2`/$(INSTALL_DIR) / -D BUILD_EXAMPLES=ON / -D BUILD_NEW_PYTHON_SUPPORT=ON / -D BUILD_SWIG_PYTHON_SUPPORT=OFF / -D WITH_FFMPEG=OFF / -D WITH_XINE=OFF / -D WITH_1394=OFF / -D WITH_V4L=OFF / -D BUILD_DOXYGEN_DOCS=OFF
修改为:
CMAKE_ARGS = -D CMAKE_BUILD_TYPE=RELEASE / -D CMAKE_INSTALL_PREFIX=`rospack find opencv2`/$(INSTALL_DIR) / -D BUILD_EXAMPLES=ON / -D BUILD_NEW_PYTHON_SUPPORT=ON / -D BUILD_SWIG_PYTHON_SUPPORT=OFF / -D WITH_FFMPEG=ON / -D WITH_XINE=OFF / -D WITH_1394=ON / -D WITH_V4L=ON / -D BUILD_DOXYGEN_DOCS=OFF
然后 $ make
之后,重新编译$ rosmake 相应的package,就可以运行读取本地视频。
相关文章推荐
- 本地可以播放的.flv视频,上传服务器后不能播放的解决方案
- opencv 2.4.9 VideoCapture不能读取视频文件
- python + opencv: 解决不能读取视频的问题
- opencv 2.4.9 VideoCapture不能读取视频文件【补充】
- 关于OpenCV不能读取视频和写入视频的问题
- OpenCV在多线程下不能读取AVI视频的解决办法(转)
- opencv读取本地视频
- OpenCV-002:从本地摄像头读取视频并播放
- Opencv3找不到opencv_world320.dll文件以及读取视频失败的解决方案
- 本地可以播放的.flv视频,上传服务器后不能播放的解决方案
- 解决 “python + opencv” 不能读取视频的问题
- OpenCV--Python--读取视频失败——解决方案
- OpenCV在多线程下不能读取AVI视频新的解决办法cvCaptureFromFile
- python opencv 读取本地视频文件 修改 ffmpeg
- 【视频开发】opencv不能读取MP4格式文件
- python opencv中不能读取视频VideoCapture<D0F782>
- 关于opencv中不能读取视频avi的问题
- Python OpenCV3 VideoCapture读取视频文件失败解决方案
- opencv 2.4.9 VideoCapture不能读取视频文件
- python opencv 读取本地视频 error: (-215) scn == 3 || scn == 4 in function cv::cvtColor