2012-07-12 19 views
11

Recientemente instalé OpenCV 2.4.2 en Ubuntu 12.04.VideoCapture no funciona en OpenCV 2.4.2

cap = VideoCapture(0) 

está trabajando. pero no puedo tomar fotogramas de alguna fuente de video.

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

me da un numpy con todos los elementos cero.

También he instalado ffmpeg 0,11, última instantánea de x264, v4l-0.8.8 (Todos son últimas versiones estables)

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 

Cuando hago cmake, consigo este

- - versión detectada de GNU GCC: 46 (406)
- encontrado OpenEXR: /usr/lib/libIlmImf.so
- Buscando Linux/videodev.h
- Buscando Linux/videodev.h - no encontrado
- Buscando Linux/videodev2.h
- Buscando Linux/videodev2.h - encontró
- Buscando libavformat/avformat.h
- Buscando libavformat/avformat.h - encontró
- en busca de ffmpeg/avformat.h
- Buscando ffmpeg/avformat.h - que no se encuentra
- la comprobación de módulo 'tbb'
- paquete 'tbb' no se encuentra

Y

-- 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 

busqué videodev.h, etc

  • existe /usr/include/linux/videodev2.h
  • existe /usr/include/libavformat/avformat.h
  • /usr /local/include/libavformat/avformat.h existe

Pero no pude encontrar ffmpeg/avformat.h

¿Cuál es el problema aquí?

+1

que también tienen un problema con VideoCapture, se se bloquea al intentar abrir el video ... –

Respuesta

18

Entonces, me di cuenta de que había algún problema con ffmpeg. y reconstruí e instalé ffmpeg y luego cambié las banderas para cmake para hacer opencv.

Para 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 

Para OpenCV,

cmake -D CMAKE_BUILD_TYPE=RELEASE .. 
make 
sudo make install 

Aquí está el guión completo para instalar OpenCV 2.4.2 https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_2.sh

y aquí es mi entrada de blog acerca de OpenCV 2.4.2 de instalación en detalle http://jayrambhia.com/blog/install-opencv-2-4-in-ubuntu-12-04-precise-pangolin/

+2

Simplemente no entiendo cómo pueden hacerlo tan complicado, esto debería ser por defecto –

+0

¿Qué pasa si instalo todo a través de apt-get? ¿Crees que puedo hacerlo funcionar? –

+0

Supongo que podría ser un problema de licencia que debe hacerlo de esta manera. – Russj

Cuestiones relacionadas