キャプチャのenum | ライブラリ/インタフェースの名称 | 詳細/解説 | enumの定数 | |
CV_CAP_VFW | VFW:Video For Windows の略 | Windows上で使われるインタフェース。カメラもビデオも統合して同じインタフェースで利用できる。 OpenCV1.0時代はこのインタフェースでキャプチャするのが普通だった。 | 200 | |
CV_CAP_V4L CV_CAP_V4L2 | V4L:Video For Linux の略 | Linux のビデオキャプチャ用インタフェースで、1と2があるが、Kernel2.6.38からV4L1はサポート外となった。¬e{V4L-wikipedia:V4L1 support was dropped in kernel 2.6.38.Video4Linux - Wikipedia, the free encyclopedia, 2012-12-02閲覧}; | ||
上記2点が基本的なライブラリで、実際VFWもV4LもCMakeのオプションにかかわらずOpenCVに組み込まれ、WindowsならVFW、LinuxならV4Lが組み込まれる。 また、GStreamer ¬e{gstreamer-official:GStreamer: open source multimedia framework, 2012-12-02閲覧};があれば、GStreamerでのキャプチャも試されるが、どちらも使える場合はV4L、VFWなどが優先される。 | ||||
CV_CAP_DSHOW | Direct Show | Windowsプラットフォームのキャプチャ方法。VFWを多機能にした感じのインタフェース。VFWの上位互換版と言ってもいいのかな? OpenCV内では videoInputというライブラリ¬e{videoinput-official:videoInput Library, 2012-12-02閲覧};に丸投げしてることから、videoInputと表されることもある。 ちなみに公式でVideoInputをサポートするより前に魔改造でOpenCVに組み込んでる人たち¬e{videoinput-dandelion:OpenCV/videoInput Libraryによるビデオキャプチャ - Point at infinity, 2012-12-02閲覧};¬e{videoinput-mswiki:Momma's Wiki: OpenCV/複数台のカメラ - videoInputを使って複数台の動画像処理, 2012-12-02閲覧};が居たりする。 | 700 | |
CV_CAP_STEREO | CV_CAP_TYZX | TYZX | TYZX社の開発した技術で人物監視・追跡用のライブラリ¬e{tyzx-technology:TYZX Technology, 2012-12-02閲覧}; ステレオ計算、ネットワークカメラの制御なども含む。 ちなみにTYZXは「Physics」みたいな発音をするらしい¬e{tutorial-tyxz:OpenCV and TYZX: Video Surveillance, 2008-08, 2012-12-02閲覧。発音に関する記述は9pにあり。}; | 400 |
CV_CAP_FIREWIRE | CV_CAP_DC1394 CV_CAP_DC1394_2 CV_CAP_CMU1394 | IEEE1394 | IEEE1394カメラを制御するためのインタフェース インタフェースを提供するライブラリはCMU1394¬e{CMU-1394:1394 Camera Driver - Main, 2012-12-02閲覧};、DC1394、GStreamer¬e{gstreamer-official};の3つだが、 GStreamerは仕様が変わったことに伴って、GStreamer経由でFirewireカメラを制御するAPIはオフにされている。 | 300 |
CV_CAP_MIL | MIL:Matrox Imaging Library | Matrox社が開発したライブラリ¬e{wikipedia-MIL:Matrix Imaging Library - Wikipedia, 2012-12-02閲覧};。 | 100 | |
CV_CAP_QT | QuickTime | Appleが開発するマルチメディアライブラリ。 movファイルを扱うために使われる。主にMac向けに開発されていた経緯を持つが、Windowsでも利用可能¬e{QuickTime-wikipedia:QuickTime - Wikipedia, 2012-12-02閲覧}; | 500 | |
CV_CAP_UNICAP | unicap | unicapライブラリを使った¬e{unicap-official:unicap - The uniform API for image acquisition devices, 2012-12-02閲覧}; | 600 | |
CV_CAP_OPENNI | OpenNI | 言わずとしれたKinect操作用のライブラリ¬e{openni-official:OpenNI - OpenNI > Home, 2012-12-08閲覧};。 Xtionを使う場合はCV_CAP_OPENNI_ASUSのenumを使う。 | 900 | |
CV_CAP_OPENNI_ASUS | 910 | |||
CV_CAP_ANDROID | Android | Android用のインタフェース。ハードウェアごとの問題がまだまだあるらしい | 1000 | |
CV_CAP_XIAPI | XIMEA | カメラメーカXIMEA それをキャプチャするためのライブラリ。¬e{ximea-official:XIMEA - XIMEA, 2012-12-02閲覧}; | 1100 | |
CV_CAP_AVFOUNDATION | AV Foundation | iOS用のカメラ制御ライブラリ。OSX Lionにも同等のAPIが実装されている。¬e{AVFoundation-pdf:AV Foundationプログラミングガイド, 2012-12-02閲覧};¬e{AVFoundation-sample:Cocoaの日々: [iOS] AVFoundation のカメラでフォーカスと露出をタッチで合わせる, 2012-12-02閲覧}; | 1200 | |
CV_CAP_PVAPI | GigaLinx, PvAPI, Prosilica GigE SDK | GigE Vision 製カメラを制御するライブラリ。¬e{gigalinx-official:GigaLinx - GigE vision products, 2012-12-02閲覧};ライブラリはAllied Vision Technologyから提供されている。¬e{gige-qa:OpenCV with GigE Vision Cameras - Stack Overflow, 2012-12-02閲覧};¬e{gige-AVI:GigE SDK (PvAPI) - Allied Vision Technologies, 2012-12-02閲覧}; | 1300 | |
CV_CAP_GIGANETIX | Smartek Giganetix GigEVisionSDK | GigE Vision 製カメラを制御するライブラリ。¬e{gigalinx-official};SMARTEK Visionがライブラリを開発している¬e{smart-official:SMARTEK Vision, 2012-12-02閲覧}; | 800 |
ライブラリ名 | 解説 |
FC2 | Point Grey Research社のカメラを使うためのライブラリFlyCapture。¬e{FC2-official:Point Grey - FlyCapture - Camera Control & Image Acquisition Software, 2012-12-02閲覧};¬e{sample-fc2-opencv:秘密研究所 » 【OpenCV】PointGrey社のカメラからMat型・IplImage型のデータを得るクラス, 2012-12-02閲覧}; 日本の代理店であるViewPlusではOpenCVでPGR製カメラを利用するためのサンプルコードが紹介されている。¬e{viewplus-sample-19:OpenCVによる Point Greyカメラのキャリブレーション - 株式会社ビュープラス, 2012-12-02閲覧};¬e{viewplus-sample-20:チュートリアルOpenCV Viewer - 株式会社ビュープラス, 2012-12-02閲覧}; |
Code Laboratory | PlayStation Eyeを制御するためのSDK¬e{CL-official:Code Laboratories > CL Studio Live, 2012-12-02閲覧};¬e{CL-SDK-official:Code Laboratories > Downloads, 2012-12-02閲覧};。 このSDKをインストールすると、PATH変数が消去されるという凶悪なバグが潜んでいるため、インストール時には注意が必要。 PlayStation用のおもちゃと侮る無かれ。3000円程度と安価ながら、75fpsでのキャプチャが可能。これ結構すごいし、コストパフォーマンスが良い。 |
ライブラリ名 | 解説 | 読み込み優先順位¬e{note:小さい方が優先される}; | 書き出し優先順位 | オプション |
FFMPEG¬e{ffmpeg-official:FFmpeg, 2012-12-02閲覧}; | 最近のOpenCVに組み込まれている。 ちょっと前はビルドオプションだったが、最近はデフォルトで組み込まれる。 FFMPEGは基本的にVisualStudioでのビルドができない¬e{ffmpeg-compiler:コンパイラはMinGWかGccしか使えない};ため、Windows版ではビルド済みのバイナリとともに提供されている。 こちらの記事¬e{ffmpeg-build-dandelion:OpenCV/Building of opencv_ffmpeg.dll on OpenCV 2.3.1 - Point at infinity, 2012-12-02閲覧};を参考にすればWindows上でMinGWを使ってFFMPEGをビルドし直す手順が書かれている。 公式に組み込まれたため、OpenCVはデフォルとでFFMPEGで開こうとする。MPEGとかも普通に読み込めるので結構便利 | 1 | 2 | なし |
XINE | xine project というライブラリ¬e{XINE-official:the xine project - Home, 2012-12-08閲覧};を組み込んだ読み込みインタフェース。ファイルの書き出しの昨日が無い? | 2 | - | HAVE_XINE |
GStreamer | 同上¬e{gstreamer-official}; | 3 | 5 | HAVE_GSTREAMER |
QuickTime | 同上¬e{QuickTime-wikipedia}; | 4 | 4 | HAVE_QUICKTIME |
AVFOUNDATION | 同上¬e{AVFoundation-pdf}; | 5 | 3 | HAVE_AVFOUNDATION |
OpenNI | 同上¬e{openni-official}; | 6 | - | HAVE_OPENNI |
連番画像ファイル | OpenCV2.0頃から実装された、連番画像ファイルを動画として扱う方法。 JPGでもBMPでも、画像単体として読み込めるならOK。image-%04d.jpgみたいな形でファイル名を渡すと、連番のファイルを動画として開いてくれる。 | 7 | 1 | なし |