2012-07-12 19 views
11

Niedawno zainstalowałem OpenCV 2.4.2 w Ubuntu 12.04.VideoCapture nie działa w OpenCV 2.4.2

cap = VideoCapture(0) 

działa. ale nie mogę pobrać ramek z jakiegoś źródła wideo.

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

daje mi numpy ze wszystkimi elementami zerowymi.

mam również zainstalowany ffmpeg 0.11, najnowszy snapshot od x264, v4l-0.8.8 (wszystkie są najnowsze stabilne wersje)

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 

Kiedy zrobić cmake, otrzymuję ten

- - Wykryto wersji GNU GCC: 46 (406)
- Znaleziony OpenEXR: /usr/lib/libIlmImf.so
- Looking for Linux/videodev.h
- Szuka linux/videodev.h - nie znaleziono
- Szuka linux/videodev2.h
- Szuka linux/videodev2.h - znaleziono
- Szuka libavformat/avformat.h
- Szuka biblioteki libavformat/avformat.h - znaleziono
- Szuka ffmpeg/avformat.h
- Szuka ffmpeg/avformat.h - nie znaleziono
- sprawdzanie modułu 'TBB'
- pakiet 'TBB' nie znaleziono

I

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

Szukałam videodev.h itp

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

Ale nie mogłem znaleźć ffmpeg/avformat.h

Na czym polega problem?

+1

Mam też problem z VideoCapture, to awarie podczas próby otwarcia wideo ... –

Odpowiedz

18

Tak, zdałem sobie sprawę, że był jakiś problem z ffmpeg. i przebudowałem i zainstalowałem ffmpeg, a następnie zmieniłem flagi dla cmake'a, aby uczynić opencv.

Dla 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 

Dla OpenCV,

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

Oto pełna skrypt zainstalować OpenCV 2.4.2 https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_2.sh

i oto moja blogpost o OpenCV 2.4.instalacja 2 szczegółowo http://jayrambhia.com/blog/install-opencv-2-4-in-ubuntu-12-04-precise-pangolin/

+2

Po prostu nie rozumiem, jak mogą to uczynić tak skomplikowanym, domyślnie powinno to być –

+0

Co zrobić, jeśli zainstaluję wszystko przez apt-get? Myślisz, że mogę go uruchomić? –

+0

Myślę, że może to być problem licencyjny, który musi to zrobić w ten sposób. – Russj

Powiązane problemy