我最近在Ubuntu 12.04中安装了OpenCV 2.4.2。
cap = VideoCapture(0)
正在运作。但是我无法从某些视频源中获取帧。
cap = VideoCapture("input.avi")
img = cap.read()
给了我一个零元素的numpy。
我还安装了ffmpeg 0.11,x264的最新快照,v4l-0.8.8(所有都是最新的稳定版本)
cmake -D WITH_QT=ON -D WITH_FFMPEG=ON -D WITH_OPENGL=ON -D WITH_TBB=ON -D BUILD_EXAMPLES=OFF WITH_V4L=ON ..
make
sudo make install
当我做cmake时,我得到了这个
- 检测到的GNU GCC版本:46(406)
- 找到OpenEXR:/usr/lib/libIlmImf.so
- 寻找linux / videodev.h
- 寻找linux / videodev.h - 未找到
- 寻找linux / videodev2.h
- 寻找linux / videodev2.h - 找到了 - 寻找libavformat / avformat.h
- 寻找libavformat / avformat.h - 找到了 - 寻找ffmpeg / avformat.h
- 寻找ffmpeg / avformat.h - 未找到
- 检查模块'tbb'
- 包'tbb'未找到
和
-- Video I/O:
-- DC1394 1.x: NO
-- DC1394 2.x: YES (ver 2.2.0)
-- FFMPEG: YES
-- codec: YES (ver 54.23.100)
-- format: YES (ver 54.6.100)
-- util: YES (ver 51.54.100)
-- swscale: YES (ver 2.1.100)
-- gentoo-style: YES
-- GStreamer:
-- base: YES (ver 0.10.36)
-- app: YES (ver 0.10.36)
-- video: YES (ver 0.10.36)
-- OpenNI: NO
-- OpenNI PrimeSensor Modules: NO
-- PvAPI: NO
-- UniCap: NO
-- UniCap ucil: NO
-- V4L/V4L2: Using libv4l (ver 0.8.8)
-- XIMEA: NO
-- Xine: NO
我找了videodev.h等
但我找不到ffmpeg/avformat.h
这里有什么问题?
答案 0 :(得分:18)
所以,我意识到ffmpeg存在一些问题。然后我重建并安装了ffmpeg,然后更改了cmake的标志以生成opencv。
对于ffmpeg,
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
make
sudo make install
对于OpenCV,
cmake -D CMAKE_BUILD_TYPE=RELEASE ..
make
sudo make install
以下是安装OpenCV 2.4.2 https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_2.sh
的完整脚本这是关于OpenCV 2.4.2安装的博客文章http://jayrambhia.com/blog/install-opencv-2-4-in-ubuntu-12-04-precise-pangolin/
答案 1 :(得分:0)
要运行OpenCV的完整安装,请尝试以下操作:
sudo apt-get install libopencv-dev python-opencv
有关详细信息,请查看以下链接http://milq.github.io/install-opencv-ubuntu-debian/