Class for video capturing from video files, image sequences or cameras. [詳解]
#include <videoio.hpp>
公開メンバ関数 |
|
CV_WRAP | VideoCapture () |
デフォルトコンストラクタ[【詳解】(英語]
|
|
CV_WRAP | VideoCapture (const String &filename, int apiPreference=CAP_ANY) |
ビデオファイル,キャプチャデバイス,またはビデオキャプチャ用のIPビデオストリームを,API Preferenceで開きます.[【詳解】(英語]
|
|
CV_WRAP | VideoCapture (const String &filename, int apiPreference, const std::vector< int > ¶ms) |
ビデオファイル、キャプチャーデバイス、またはIPビデオストリームを開き、API Preferenceとパラメーターを使ってビデオキャプチャーを行います。[【詳解】(英語]
|
|
CV_WRAP | VideoCapture (int index, int apiPreference=CAP_ANY) |
ビデオキャプチャー用のカメラを開く[【詳解】(英語]
|
|
CV_WRAP | VideoCapture (int index, int apiPreference, const std::vector< int > ¶ms) |
ビデオキャプチャー用のカメラを、API Preference とパラメータを用いてオープンします。[【詳解】(英語]
|
|
virtual | ~VideoCapture () |
デフォルトのデストラクタ[【詳解】(英語]
|
|
virtual CV_WRAP bool | open (const String &filename, int apiPreference=CAP_ANY) |
ビデオキャプチャー用のビデオファイル、キャプチャーデバイス、IP ビデオストリームを開きます。[【詳解】(英語]
|
|
virtual CV_WRAP bool | open (const String &filename, int apiPreference, const std::vector< int > ¶ms) |
ビデオキャプチャー用のカメラを開く[【詳解】(英語]
|
|
virtual CV_WRAP bool | open (int index, int apiPreference=CAP_ANY) |
ビデオキャプチャー用のカメラを開く[【詳解】(英語]
|
|
virtual CV_WRAP bool | open (int index, int apiPreference, const std::vector< int > ¶ms) |
ビデオキャプチャーがすでに初期化されている場合、trueを返します。[【詳解】(英語]
|
|
virtual CV_WRAP bool | isOpened () const |
ビデオキャプチャーがすでに初期化されている場合、trueを返します。[【詳解】(英語]
|
|
virtual CV_WRAP void | release () |
ビデオファイルやキャプチャデバイスを閉じます.[【詳解】(英語]
|
|
virtual CV_WRAP bool | grab () |
ビデオファイルまたはキャプチャーデバイスから 次のフレームを取得します。[【詳解】(英語]
|
|
virtual CV_WRAP bool | retrieve (OutputArray image, int flag=0) |
キャプチャしたビデオフレームをデコードして返します。[【詳解】(英語]
|
|
virtual VideoCapture & | operator>> (CV_OUT Mat &image) |
次のビデオフレームを読み込むためのストリーム演算子。[【詳解】(英語]
|
|
virtual VideoCapture & | operator>> (CV_OUT UMat &image) |
virtual CV_WRAP bool | read (OutputArray image) |
次のビデオフレームを取得し、デコードして返します。[【詳解】(英語]
|
|
virtual CV_WRAP bool | set (int propId, double value) |
でプロパティを設定します.VideoCapture.[【詳解】(英語]
|
|
virtual CV_WRAP double | get (int propId) const |
戻り値は、指定したVideoCaptureプロパティ[【詳解】(英語]
|
|
CV_WRAP String | getBackendName () const |
使用されているバックエンドのAPI名を返します[【詳解】(英語]
|
|
CV_WRAP void | setExceptionMode (bool enable) |
CV_WRAP bool | getExceptionMode () |
例外モードが有効な場合の問い合わせ |
|
静的公開メンバ関数 |
|
static bool | waitAny (const std::vector< VideoCapture > &streams, CV_OUT std::vector< int > &readyIndex, int64 timeoutNs=0) |
入力ビデオストリームからのレディフレームをVideoCapture.[【詳解】(英語]
|
|
限定公開変数類 |
|
Ptr< CvCapture > | cap |
Ptr< IVideoCapture > | icap |
bool | throwOnFail |
フレンド |
|
class | internal::VideoCapturePrivateAccessor |
ビデオファイル,イメージシーケンス,またはカメラからビデオをキャプチャするためのクラスです。
このクラスは、カメラからビデオをキャプチャしたり、ビデオファイルやイメージシーケンスを読み込んだりするためのC++ APIを提供します。
ここでは、このクラスの使い方を説明します。
CvCapture
を使用しています。OPENCV_SOURCE_CODE/samples/cpp/videocapture_starter.cpp
OPENCV_SOURCE_CODE/samples/python/video.py
OPENCV_SOURCE_CODE/samples/python/video_threaded.py
OPENCV_SOURCE_CODE/samples/python/video_v4l2.py
CV_WRAP cv::VideoCapture::VideoCapture | ( | ) |
|
explicit |
ビデオファイル,キャプチャデバイス,またはビデオキャプチャ用のIPビデオストリームを,API Preferenceで開きます.
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
filename | とすることができます.
|
apiPreference | 使用するCapture API バックエンドを指定します。複数のリーダーが利用可能な場合、特定のリーダーの実装を強制するために使用することができます。cv::CAP_FFMPEGまたはcv::CAP_IMAGESまたはcv::CAP_DSHOW. |
|
explicit |
ビデオファイル、キャプチャーデバイス、またはIPビデオストリームを開き、API Preferenceとパラメーターを使ってビデオキャプチャーを行います。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
のクラスはスレッドセーフではありません。params
パラメータでは、ペアでエンコードされた追加のパラメータを指定できます。(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
. 参照cv::VideoCaptureProperties
|
explicit |
ビデオキャプチャー用のカメラを開く
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
index | 開くビデオキャプチャーデバイスのid。デフォルトのバックエンドを使用してデフォルトのカメラを開くには、0を渡します(後方互換性のため、camera_id + domain_offset (CAP_*)の使用は、apiPreferenceがCAP_ANYの場合に有効です)。 |
apiPreference | 使用するCapture API バックエンドを指定します。複数のリーダーが利用可能な場合、特定のリーダーの実装を強制するために使用することができます。cv::CAP_DSHOWまたはcv::CAP_MSMFまたはcv::CAP_V4L. |
|
explicit |
ビデオキャプチャー用のカメラを、API Preference とパラメータを用いてオープンします。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
のクラスはスレッドセーフではありません。params
パラメータでは、ペアでエンコードされた追加のパラメータを指定できます。(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
. 参照cv::VideoCaptureProperties
|
virtual |
デフォルトのデストラクタ
このメソッドは、まずVideoCapture::releaseを呼び出し、既に開いているファイルやカメラを閉じます。
|
virtual |
戻り値は、指定したVideoCaptureプロパティ
propId | プロパティの識別子cv::VideoCaptureProperties(例cv::CAP_PROP_POS_MSEC,cv::CAP_PROP_POS_FRAMESからのプロパティ識別子(例: , ... )またはAdditional flags for video I/O API backends |
CV_WRAP String cv::VideoCapture::getBackendName | ( | ) | const |
使用されているバックエンドのAPI名を返します
|
virtual |
ビデオファイルまたはキャプチャーデバイスから 次のフレームを取得します。
true
(成功した場合、0 以外の値を返します。このメソッド/関数は、ビデオファイルまたはカメラから次のフレームを取得し、成功した場合は true(0 ではない)を返します。
この関数の主な用途は、マルチカメラ環境で、特にカメラがハードウェア同期していない場合です。つまり,各カメラに対してVideoCapture::grab()を呼び出し,その後,より低速なメソッドであるVideoCapture::retrieve()を呼び出してデコードし,各カメラからフレームを取得します.こうすることで、デモザイキングやモーションJPEGの解凍などのオーバーヘッドがなくなり、異なるカメラから取得したフレームの時間が近くなります。
また、接続されたカメラがマルチヘッドの場合(ステレオカメラやKinectデバイスなど)、データを取得する正しい方法は、最初にVideoCapture::grab()を最初に呼び出し、次にVideoCapture::retrieve()を複数回、チャンネルパラメータの値を変えて呼び出すことです。
tutorial_kinect_openni
|
virtual |
ビデオキャプチャーがすでに初期化されている場合、trueを返します。
前の呼び出しがVideoCaptureコンストラクタまたはVideoCapture::open()が成功した場合、このメソッドはtrueを返します。
|
virtual |
ビデオキャプチャー用のカメラを開く
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
のクラスはスレッドセーフではありません。params
パラメータでは、ペアでエンコードされた追加のパラメータを指定できます。(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
. 参照cv::VideoCaptureProperties
true
ファイルのオープンに成功した場合このメソッドは、まずVideoCapture::releaseを呼び出し、既に開いているファイルやカメラを閉じます。
|
virtual |
ビデオキャプチャー用のビデオファイル、キャプチャーデバイス、IP ビデオストリームを開きます。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
パラメータはコンストラクタと同じです。VideoCapture(const String& filename, int apiPreference = CAP_ANY)
true
ファイルのオープンに成功した場合このメソッドは、まずVideoCapture::releaseを呼び出し、既に開いているファイルやカメラを閉じます。
|
virtual |
ビデオキャプチャーがすでに初期化されている場合、trueを返します。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
のクラスはスレッドセーフではありません。params
パラメータでは、ペアでエンコードされた追加のパラメータを指定できます。(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
. 参照cv::VideoCaptureProperties
true
カメラのオープンに成功した場合このメソッドは、まずVideoCapture::releaseを呼び出し、既に開いているファイルやカメラを閉じます。
|
virtual |
ビデオキャプチャー用のカメラを開く
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
パラメータはコンストラクタと同じです。VideoCapture(int index, int apiPreference = CAP_ANY)
true
カメラのオープンに成功した場合このメソッドは、まずVideoCapture::releaseを呼び出し、既に開いているファイルやカメラを閉じます。
|
virtual |
次のビデオフレームを読み込むためのストリーム演算子。
|
virtual |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
|
virtual |
次のビデオフレームを取得し、デコードして返します。
[out]. | image | ここでは、ビデオフレームが返されます。フレームを取得していない場合は、画像は空になります。 |
false
フレームが取得されていない場合このメソッド/関数はVideoCapture::grab()およびVideoCapture::retrieve()を1回の呼び出しで行います。ビデオファイルを読み込んだり、デコードからデータを取り込んだりするのに最も便利な方法で、取り込んだばかりのフレームを返します。フレームが取得されなかった場合(カメラが切断された,あるいは,ビデオファイルにフレームが存在しない),このメソッドは false を返し,この関数は空の画像を返します( cv::Mat を利用する場合は,以下のコマンドでテストしてください).Mat::empty()).
|
virtual |
ビデオファイルやキャプチャデバイスを閉じます.
このメソッドは,後続のVideoCapture::openやVideoCaptureデストラクタから自動的に呼び出されます.
また,この C 関数は,メモリを解放し,*capture ポインタをクリアします.
|
virtual |
キャプチャしたビデオフレームをデコードして返します。
[out]. | image | ここでは、ビデオフレームが返されます。フレームを取得していない場合は、画像は空になります。 |
flag | これはフレームインデックスやドライバ固有のフラグの場合もあります。 |
false
フレームが取得されていない場合このメソッドは、取り込まれたばかりのフレームをデコードして返します。フレームが取得されなかった場合(カメラが切断された,あるいは,ビデオファイルにフレームが残っていない),このメソッドは false を返し,この関数は空の画像を返します( cv::Mat の場合は,次のコマンドでテストしてください).Mat::empty()).
|
virtual |
でプロパティを設定します.VideoCapture.
propId | プロパティの識別子cv::VideoCaptureProperties(例cv::CAP_PROP_POS_MSEC,cv::CAP_PROP_POS_FRAMESからのプロパティ識別子(例: , ... )またはAdditional flags for video I/O API backends |
value | そのプロパティの値. |
true
が利用しているバックエンドが,そのプロパティをサポートしているかどうかを確認します.VideoCaptureインスタンスを作成します。true
を返したとしても,そのプロパティの値がキャプチャデバイスに受け入れられたことを保証するものではありません.の注記を参照してください。VideoCapture::get()
|
inline |
例外モードの切り替え
メソッドは、成功しなかった場合にエラーコードを返すのではなく、例外を発生させます。
|
static |
入力ビデオストリームからのレディフレームをVideoCapture.
streams | 入力ビデオストリーム |
readyIndex | 取得したフレームを含むストリームのインデックス (実際のフレームを取得するために .NET を使用する準備ができている)retrieve()を使用して実際のフレームを取得できます) |
timeoutNs | ナノ秒単位(0~無限)で指定します。 |
true
streamReadyが空でない場合Exception | ストリームエラー時の例外(不正なストリームを除外するために .isOpened()をチェックして不正なストリームを除外する)、またはVideoCaptureタイプがサポートされていない場合 |
この関数の主な用途は、マルチカメラ環境での使用です。このメソッドは,カメラの準備ができていれば, ready 状態のベクトルを埋め,ビデオフレームを取得します.
この呼び出しの後にVideoCapture::retrieve()を使ってフレームデータをデコードして取得します。