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.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
Итак, я понял, что есть некоторая проблема с 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
Здесь полный script для установки 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/
Ответ 2
Чтобы выполнить полную установку OpenCV, выполните следующие действия:
sudo apt-get install libopencv-dev python-opencv
Для получения дополнительной информации ознакомьтесь со следующей ссылкой http://milq.github.io/install-opencv-ubuntu-debian/