2012-07-12 11 views
11

Recentemente ho installato OpenCV 2.4.2 in Ubuntu 12.04.VideoCapture non funziona in OpenCV 2.4.2

cap = VideoCapture(0) 

funziona. ma non riesco a prendere i fotogrammi da qualche fonte video.

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

mi dà un numpy con tutti gli elementi zero.

Inoltre ho installato ffmpeg 0,11, ultima istantanea di x264, v4l-0.8.8 (Tutti sono le ultime versioni stabili)

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 

Quando faccio CMake, ho questa

- - Rilevamento versione di GNU GCC: 46 (406)
- Trovato OpenEXR: /usr/lib/libIlmImf.so
- Alla ricerca di linux/videodev.h
- Alla ricerca di linux/videodev.h - non trovato
- Alla ricerca di linux/videodev2.h
- Alla ricerca di linux/videodev2.h - trovati
- Cerco libavformat/avformat.h
- Cerco libavformat/avformat.h - trovati
- Alla ricerca di ffmpeg/avformat.h
- Alla ricerca di ffmpeg/avformat.h - non trovato
- controllo per il modulo 'TBB'
- pacchetto 'TBB' non trovato

E

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

ho cercato videodev.h, ecc

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

Ma non riuscivo a trovare ffmpeg/avformat.h

Qual è il problema qui?

+1

Ho anche un problema con VideoCapture, esso si blocca quando si tenta di aprire video ... –

risposta

18

Quindi, ho capito che c'era un problema con ffmpeg. e ho ricostruito e installato ffmpeg e poi cambiato i flag per cmake per rendere opencv.

Per 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 

Per OpenCV,

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

Ecco lo script completo da installare OpenCV 2.4.2 https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_2.sh

e qui è la mia blogpost su OpenCV 2.4.2 installazione nel dettaglio http://jayrambhia.com/blog/install-opencv-2-4-in-ubuntu-12-04-precise-pangolin/

+2

Semplicemente non capisco come possono renderlo così complicato, questo dovrebbe essere di default –

+0

Cosa succede se installo tutto tramite apt-get? Pensi che possa farlo funzionare? –

+0

Suppongo che potrebbe esserci qualche problema di licenza che deve farlo in questo modo. – Russj

Problemi correlati