web-dev-qa-db-ja.com

VideoCaptureはOpenCV2.4.2では機能しません

最近、Ubuntu12.04にOpenCV2.4.2をインストールしました。

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を見つけることができませんでした

ここでの問題は何ですか?

12
Froyo

だから、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

これがOpenCV2.4.2のインストールに関する私のブログ投稿です http://jayrambhia.com/blog/install-opencv-2-4-in-ubuntu-12-04-precise-pangolin/

18
Froyo

OpenCVのフルインストールを実行するには、次のことを試してください。

Sudo apt-get install libopencv-dev python-opencv

詳細については、次のリンクを確認してください http://milq.github.io/install-opencv-ubuntu-debian/

0
Shane Manthando