VideoCapture не работает в OpenCV 2.4.2
недавно я установил OpenCV 2.4.2 в Ubuntu 12.04.
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.так что
-- Ищу linux / videodev.h
-- Ищу linux / videodev.н - не найден
-- Ищу linux / videodev2.h
-- Ищу linux / videodev2.Н - нашли
-- Ищу libavformat/avformat.h
-- Ищу libavformat/avformat.Н - нашли
-- Ищу ffmpeg / avformat.h
-- Ищу ffmpeg / avformat.н - не найден
-- проверка модуля "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, etc
- / usr / include / linux / videodev2.ч существует
 - / usr / include / libavformat / avformat.ч существует
 - / usr / local / include/libavformat / avformat.ч существует
 
но я не мог найти ffmpeg/avformat.h
в чем проблема?
2 ответов
Итак, я понял, что есть некоторые проблемы с 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/
чтобы запустить полную установку OpenCV, попробуйте следующее:
sudo apt-get install libopencv-dev python-opencv
для более подробной информации посетите следующую ссылку http://milq.github.io/install-opencv-ubuntu-debian/