VideoCapture在OpenCV 2.4.2中不起作用 [英] VideoCapture is not working in OpenCV 2.4.2
问题描述
cap = VideoCapture(0)
正在工作。但是我无法从某些视频源中抓取帧。
cap = VideoCapture(input.avi)
img = cap.read()
给我一个全部为零的元素。
我还安装了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安装
当我做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'未找到
和
- 视频I / O:
- DC1394 1.x:NO
- DC1394 2.x:是(版本2.2.0)
- FFMPEG :YES
- 编解码器:YES(ver 54.23.100)
- 格式: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)
- 视频:YES(ver 0.10.36)
- OpenNI:NO
- 打开NI PrimeSensor模块:NO
- PvAPI:NO
- UniCap:NO
- UniCap ucil:NO
- V4L / V4L2:使用libv4l(版本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
有什么问题这里?
所以,我意识到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/
I recently installed OpenCV 2.4.2 in Ubuntu 12.04.
cap = VideoCapture(0)
is working. but I can't grab frames from some video source.
cap = VideoCapture("input.avi")
img = cap.read()
gives me a numpy with all zero elements.
I have also installed ffmpeg 0.11, Latest snapshot of x264, v4l-0.8.8 (All are latest stable versions)
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
When I do cmake, I get this
-- Detected version of GNU GCC: 46 (406)
-- Found OpenEXR: /usr/lib/libIlmImf.so
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
-- checking for module 'tbb'
-- package 'tbb' not found
And
-- 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
I looked for videodev.h, etc
- /usr/include/linux/videodev2.h exists
- /usr/include/libavformat/avformat.h exists
- /usr/local/include/libavformat/avformat.h exists
But I couldn't find ffmpeg/avformat.h
What's the problem here?
So, I realized there was some problem with ffmpeg. and I rebuilt and installed ffmpeg and then changed flags for cmake to make opencv.
For 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
For OpenCV,
cmake -D CMAKE_BUILD_TYPE=RELEASE ..
make
sudo make install
Here's the complete script to install OpenCV 2.4.2 https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_2.sh
and here's my blogpost about OpenCV 2.4.2 installation in detail http://jayrambhia.com/blog/install-opencv-2-4-in-ubuntu-12-04-precise-pangolin/
这篇关于VideoCapture在OpenCV 2.4.2中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!