2012-07-12 45 views
11

我最近在Ubuntu 12.04中安装了OpenCV 2.4.2。VideoCapture无法在OpenCV 2.4.2中工作

cap = VideoCapture(0) 

正在工作。但我无法从某些视频源抓取帧。

cap = VideoCapture("input.avi") 
img = cap.read() 

给我一个所有零元素的numpy。

我还安装了ffmpeg的0.11,X264,为v41-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等

  • /usr/include/linux/videodev2.h存在
  • /usr/include/libavformat/avformat.h存在
  • 的/ usr /local/include/libavformat/avformat.h存在

但我找不到ffmpeg/avformat.h

这里有什么问题?

+1

我也有videoCapture一个问题,当试图打开视频时崩溃... – 2012-09-06 15:02:56

回答

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

,这里是我的约2.4 OpenCV的博客帖子。2安装详细http://jayrambhia.com/blog/install-opencv-2-4-in-ubuntu-12-04-precise-pangolin/

+2

我根本不明白他们如何使它变得如此复杂,这应该是默认的 – 2012-09-06 15:03:42

+0

如果我通过apt-get安装所有东西,该怎么办?你认为我可以运行吗? – 2014-11-07 16:06:28

+0

我想这可能是一些许可证问题,必须这样做。 – Russj 2014-12-05 03:13:25