OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
cv::VideoCapture クラス

動画ファイル・画像シーケンス・カメラから動画をキャプチャするためのクラス。 続き...

#include <opencv2/videoio.hpp>

Collaboration diagram for cv::VideoCapture:

公開メンバ関数

 VideoCapture ()
 デフォルトコンストラクタ。
 
 VideoCapture (const Ptr< IStreamReader > &source, int apiPreference, const std::vector< int > &params)
 データストリームを使って動画を開く。
 
 VideoCapture (const String &filename, int apiPreference, const std::vector< int > &params)
 API Preferenceとパラメータを指定して、動画ファイル・キャプチャデバイス・IP動画ストリームを動画キャプチャ用に開く。
 
 VideoCapture (const String &filename, int apiPreference=CAP_ANY)
 API Preferenceを指定して、動画ファイル・キャプチャデバイス・IP動画ストリームを動画キャプチャ用に開く。
 
 VideoCapture (int index, int apiPreference, const std::vector< int > &params)
 API Preferenceとパラメータを指定して、カメラを動画キャプチャ用に開く。
 
 VideoCapture (int index, int apiPreference=CAP_ANY)
 カメラを動画キャプチャ用に開く。
 
virtual ~VideoCapture ()
 デフォルトのデストラクタ。
 
virtual double get (int propId) const
 指定した VideoCapture プロパティを返す。
 
String getBackendName () const
 使用しているバックエンドAPI名を返す。
 
bool getExceptionMode () const
 例外モードが有効かどうかを問い合わせる
 
virtual bool grab ()
 動画ファイルまたはキャプチャデバイスから次のフレームを取得する。
 
virtual bool isOpened () const
 動画キャプチャが既に初期化済みであれば true を返す。
 
virtual bool open (const Ptr< IStreamReader > &source, int apiPreference, const std::vector< int > &params)
 データストリームを使って動画を開く。
 
virtual bool open (const String &filename, int apiPreference, const std::vector< int > &params)
 API Preferenceとパラメータを指定して、動画ファイル・キャプチャデバイス・IP動画ストリームを動画キャプチャ用に開く。
 
virtual bool open (const String &filename, int apiPreference=CAP_ANY)
 動画ファイル・キャプチャデバイス・IP動画ストリームを動画キャプチャ用に開く。
 
virtual bool open (int index, int apiPreference, const std::vector< int > &params)
 API Preferenceとパラメータを指定して、カメラを動画キャプチャ用に開く。
 
virtual bool open (int index, int apiPreference=CAP_ANY)
 カメラを動画キャプチャ用に開く。
 
virtual VideoCaptureoperator>> (Mat &image)
 次の動画フレームを読み込むためのストリーム演算子。
 
virtual VideoCaptureoperator>> (UMat &image)
 
virtual bool read (OutputArray image)
 次の動画フレームを取得・デコードして返す。
 
virtual void release ()
 動画ファイルまたはキャプチャデバイスを閉じる。
 
virtual bool retrieve (OutputArray image, int flag=0)
 取得済みの動画フレームをデコードして返す。
 
virtual bool set (int propId, double value)
 VideoCapture にプロパティを設定する。
 
void setExceptionMode (bool enable)
 

静的公開メンバ関数

static bool waitAny (const std::vector< VideoCapture > &streams, std::vector< int > &readyIndex, int64 timeoutNs=0)
 VideoCapture から準備の整ったフレームを待つ。
 

限定公開変数類

Ptr< IVideoCapture > icap
 
bool throwOnFail
 

フレンド

class internal::VideoCapturePrivateAccessor
 

詳細説明

動画ファイル・画像シーケンス・カメラから動画をキャプチャするためのクラス。

このクラスは、カメラから動画をキャプチャしたり、動画ファイルや画像シーケンスを読み込んだりするためのC++ APIを提供する。

このクラスは次のように使用できる:

#include <opencv2/core.hpp>
#include <iostream>
#include <stdio.h>
using namespace cv;
using namespace std;
int main(int, char**)
{
Mat frame;
//--- INITIALIZE VIDEOCAPTURE
// open the default camera using default API
// cap.open(0);
// OR advance usage: select any API backend
int deviceID = 0; // 0 = open default camera
int apiID = cv::CAP_ANY; // 0 = autodetect default API
// open selected camera using selected API
cap.open(deviceID, apiID);
// check if we succeeded
if (!cap.isOpened()) {
cerr << "ERROR! Unable to open camera\n";
return -1;
}
//--- GRAB AND WRITE LOOP
cout << "Start grabbing" << endl
<< "Press any key to terminate" << endl;
for (;;)
{
// wait for a new frame from camera and store it into 'frame'
cap.read(frame);
// check if we succeeded
if (frame.empty()) {
cerr << "ERROR! blank frame grabbed\n";
break;
}
// show live and wait for a key with timeout long enough to show images
imshow("Live", frame);
if (waitKey(5) >= 0)
break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;
}
Comma-separated Matrix Initializer.
Definition mat.hpp:964
bool empty() const
Returns true if the array has no elements.
Class for video capturing from video files, image sequences or cameras.
Definition videoio.hpp:790
virtual bool read(OutputArray image)
Grabs, decodes and returns the next video frame.
virtual bool open(const String &filename, int apiPreference=CAP_ANY)
Opens a video file or a capturing device or an IP video stream for video capturing.
virtual bool isOpened() const
Returns true if video capturing has been initialized already.
@ CAP_ANY
Auto detect == 0.
Definition videoio.hpp:92
int main(int argc, char *argv[])
Definition highgui_qt.cpp:3
Definition core.hpp:107
STL namespace.
覚え書き
  • (C++) VideoCaptureインターフェースの使用例の基本的なサンプルは OPENCV_SOURCE_CODE/samples/cpp/videocapture_combined.cpp にある
  • (Python) VideoCapture インターフェースの使い方の基本的なサンプルは OPENCV_SOURCE_CODE/samples/python/video.py にある
  • (Python) マルチスレッドでの動画処理のサンプルは OPENCV_SOURCE_CODE/samples/python/video_threaded.py にある
  • (Python) Video4Linux2バックエンドのいくつかの機能を紹介するVideoCaptureのサンプル OPENCV_SOURCE_CODE/samples/python/video_v4l2.py
samples/cpp/lkdemo.cpp, samples/cpp/snippets/camshiftdemo.cpp, samples/cpp/snippets/dis_opticalflow.cpp, samples/cpp/snippets/laplace.cpp, samples/cpp/snippets/phase_corr.cpp, samples/cpp/snippets/segment_objects.cpp, samples/cpp/tutorial_code/videoio/video-write/video-write.cpp, samples/cpp/videowriter.cpp, samples/dnn/classification.cpp, samples/dnn/object_detection.cpp, samples/dnn/segmentation.cpp, samples/facedetect.cpp, samples/hog_tapi.cpp, および samples/peopledetect.cpp

構築子と解体子の詳解

◆ VideoCapture() [1/6]

cv::VideoCapture::VideoCapture ( )
Python:
cv.VideoCapture() -> <VideoCapture object>
cv.VideoCapture(filename[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(filename, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(index[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(index, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(source, apiPreference, params) -> <VideoCapture object>

デフォルトコンストラクタ。

◆ VideoCapture() [2/6]

cv::VideoCapture::VideoCapture ( const String & filename,
int apiPreference = CAP_ANY )
explicit
Python:
cv.VideoCapture() -> <VideoCapture object>
cv.VideoCapture(filename[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(filename, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(index[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(index, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(source, apiPreference, params) -> <VideoCapture object>

APIプリファレンスを指定して、ビデオ撮影用にビデオファイル、撮影デバイス、またはIPビデオストリームを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

引数
filename次のいずれかを指定できる:
  • 動画ファイル名(例: video.avi
  • または画像シーケンス(例: img_%02d.jpg。これは img_00.jpg, img_01.jpg, img_02.jpg, ... のようなサンプルを読み込む)
  • または動画ストリームのURL(例: protocol://host:port/script_name?script_params|auth
  • またはGStreamerをバックエンドとして使用する場合は gst-launch ツール形式のGStreamerパイプライン文字列。各動画ストリームやIPカメラのフィードはそれぞれ独自のURLスキームを持つことに注意。正しいURLを知るには、そのソースストリームのドキュメントを参照すること。
apiPreference使用する優先的なCapture APIバックエンド。複数のリーダー実装が利用可能な場合に特定の実装を強制するために使用できる。例: cv::CAP_FFMPEGcv::CAP_IMAGEScv::CAP_DSHOW など。
参照
cv::VideoCaptureAPIs

◆ VideoCapture() [3/6]

cv::VideoCapture::VideoCapture ( const String & filename,
int apiPreference,
const std::vector< int > & params )
explicit
Python:
cv.VideoCapture() -> <VideoCapture object>
cv.VideoCapture(filename[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(filename, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(index[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(index, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(source, apiPreference, params) -> <VideoCapture object>

APIプリファレンスとパラメータを指定して、ビデオ撮影用にビデオファイル、撮影デバイス、またはIPビデオストリームを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

params パラメータでは、(paramId_1, paramValue_1, paramId_2, paramValue_2, ...) のペアとしてエンコードされた追加パラメータを指定できる。cv::VideoCaptureProperties を参照。

◆ VideoCapture() [4/6]

cv::VideoCapture::VideoCapture ( int index,
int apiPreference = CAP_ANY )
explicit
Python:
cv.VideoCapture() -> <VideoCapture object>
cv.VideoCapture(filename[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(filename, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(index[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(index, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(source, apiPreference, params) -> <VideoCapture object>

ビデオ撮影用にカメラを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

引数
index開く動画キャプチャデバイスのID。デフォルトのバックエンドでデフォルトカメラを開くには、単に0を渡す。(後方互換のため、apiPreference が CAP_ANY の場合は camera_id + domain_offset (CAP_*) の指定も有効である)
apiPreference使用する優先的なCapture APIバックエンド。複数のリーダー実装が利用可能な場合に特定の実装を強制するために使用できる。例: cv::CAP_DSHOWcv::CAP_MSMFcv::CAP_V4L など。
参照
cv::VideoCaptureAPIs

◆ VideoCapture() [5/6]

cv::VideoCapture::VideoCapture ( int index,
int apiPreference,
const std::vector< int > & params )
explicit
Python:
cv.VideoCapture() -> <VideoCapture object>
cv.VideoCapture(filename[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(filename, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(index[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(index, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(source, apiPreference, params) -> <VideoCapture object>

APIプリファレンスとパラメータを指定して、ビデオ撮影用にカメラを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

params パラメータでは、(paramId_1, paramValue_1, paramId_2, paramValue_2, ...) のペアとしてエンコードされた追加パラメータを指定できる。cv::VideoCaptureProperties を参照。

◆ VideoCapture() [6/6]

cv::VideoCapture::VideoCapture ( const Ptr< IStreamReader > & source,
int apiPreference,
const std::vector< int > & params )
Python:
cv.VideoCapture() -> <VideoCapture object>
cv.VideoCapture(filename[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(filename, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(index[, apiPreference]) -> <VideoCapture object>
cv.VideoCapture(index, apiPreference, params) -> <VideoCapture object>
cv.VideoCapture(source, apiPreference, params) -> <VideoCapture object>

データストリームを使用してビデオを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

params パラメータでは、(paramId_1, paramValue_1, paramId_2, paramValue_2, ...) のペアとしてエンコードされた追加パラメータを指定できる。cv::VideoCaptureProperties を参照。

◆ ~VideoCapture()

virtual cv::VideoCapture::~VideoCapture ( )
virtual

デフォルトのデストラクタ。

このメソッドは、まず VideoCapture::release を呼び出して、すでに開いているファイルまたはカメラを閉じる。

メンバ関数詳解

◆ get()

virtual double cv::VideoCapture::get ( int propId) const
virtual
Python:
cv.VideoCapture.get(propId) -> retval

指定した VideoCapture プロパティを返す。

引数
propIdcv::VideoCaptureProperties のプロパティ識別子(例: cv::CAP_PROP_POS_MSECcv::CAP_PROP_POS_FRAMES など)、または 動画I/O APIバックエンド向けの追加フラグ のいずれか
戻り値
指定されたプロパティの値。使用しているバックエンドが VideoCapture インスタンスでサポートしていないプロパティを照会した場合は、値 cv::CAP_PROP_UNKNOWN が返される。
覚え書き
プロパティの読み書きは多くの層を経由する。このチェーンに沿って予期しない結果が生じることがある。
VideoCapture -> API Backend -> Operating System -> Device Driver -> Device Hardware
返される値は、デバイスが実際に使用している値と異なる場合や、デバイス依存のルール(例: ステップやパーセンテージ)でエンコードされている場合がある。実際の挙動はデバイスドライバとAPIバックエンドに依存する。
samples/cpp/snippets/laplace.cpp.

◆ getBackendName()

String cv::VideoCapture::getBackendName ( ) const
Python:
cv.VideoCapture.getBackendName() -> retval

使用しているバックエンドAPI名を返す。

覚え書き
ストリームが開いている必要がある。

◆ getExceptionMode()

bool cv::VideoCapture::getExceptionMode ( ) const
inline
Python:
cv.VideoCapture.getExceptionMode() -> retval

例外モードが有効かどうかを問い合わせる

◆ grab()

virtual bool cv::VideoCapture::grab ( )
virtual
Python:
cv.VideoCapture.grab() -> retval

ビデオファイルまたは撮影デバイスから次のフレームを取得(grab)する。

戻り値
成功した場合は true(非ゼロ)。

このメソッド/関数は、ビデオファイルまたはカメラから次のフレームを取得(grab)し、成功した場合は true(非ゼロ)を返す。

この関数の主な用途は、複数カメラ環境、特にカメラがハードウェア同期を持たない場合である。すなわち、各カメラに対して VideoCapture::grab() を呼び出し、その後でより遅いメソッド VideoCapture::retrieve() を呼び出して、各カメラからフレームをデコードして取得する。この方法により、デモザイクやモーションJPEG展開などのオーバーヘッドが排除され、異なるカメラから取得されるフレームの時刻がより近くなる。

また、接続されたカメラがマルチヘッド(例: ステレオカメラやKinectデバイス)の場合、そこからデータを取得する正しい方法は、まず VideoCapture::grab() を呼び出し、その後 channel パラメータの値を変えて VideoCapture::retrieve() を1回以上呼び出すことである。

Kinectおよびその他のOpenNI互換深度センサの利用

◆ isOpened()

virtual bool cv::VideoCapture::isOpened ( ) const
virtual
Python:
cv.VideoCapture.isOpened() -> retval

ビデオ撮影がすでに初期化されている場合は true を返す。

直前の VideoCapture コンストラクタまたは VideoCapture::open() の呼び出しが成功した場合、このメソッドは true を返す。

samples/cpp/lkdemo.cpp, samples/cpp/snippets/camshiftdemo.cpp, samples/cpp/snippets/dis_opticalflow.cpp, samples/cpp/snippets/laplace.cpp, samples/cpp/snippets/segment_objects.cpp, samples/dnn/classification.cpp, samples/dnn/segmentation.cpp, samples/facedetect.cpp, samples/hog_tapi.cpp, および samples/peopledetect.cpp

◆ open() [1/5]

virtual bool cv::VideoCapture::open ( const Ptr< IStreamReader > & source,
int apiPreference,
const std::vector< int > & params )
virtual
Python:
cv.VideoCapture.open(filename[, apiPreference]) -> retval
cv.VideoCapture.open(filename, apiPreference, params) -> retval
cv.VideoCapture.open(index[, apiPreference]) -> retval
cv.VideoCapture.open(index, apiPreference, params) -> retval
cv.VideoCapture.open(source, apiPreference, params) -> retval

データストリームを使用してビデオを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

params パラメータでは、(paramId_1, paramValue_1, paramId_2, paramValue_2, ...) のペアとしてエンコードされた追加パラメータを指定できる。cv::VideoCaptureProperties を参照。

戻り値
ファイルが正常に開かれた場合は true

このメソッドは、まず VideoCapture::release を呼び出して、すでに開いているファイルまたはカメラを閉じる。

◆ open() [2/5]

virtual bool cv::VideoCapture::open ( const String & filename,
int apiPreference,
const std::vector< int > & params )
virtual
Python:
cv.VideoCapture.open(filename[, apiPreference]) -> retval
cv.VideoCapture.open(filename, apiPreference, params) -> retval
cv.VideoCapture.open(index[, apiPreference]) -> retval
cv.VideoCapture.open(index, apiPreference, params) -> retval
cv.VideoCapture.open(source, apiPreference, params) -> retval

APIプリファレンスとパラメータを指定して、ビデオ撮影用にビデオファイル、撮影デバイス、またはIPビデオストリームを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

params パラメータでは、(paramId_1, paramValue_1, paramId_2, paramValue_2, ...) のペアとしてエンコードされた追加パラメータを指定できる。cv::VideoCaptureProperties を参照。

戻り値
ファイルが正常に開かれた場合は true

このメソッドは、まず VideoCapture::release を呼び出して、すでに開いているファイルまたはカメラを閉じる。

◆ open() [3/5]

virtual bool cv::VideoCapture::open ( const String & filename,
int apiPreference = CAP_ANY )
virtual
Python:
cv.VideoCapture.open(filename[, apiPreference]) -> retval
cv.VideoCapture.open(filename, apiPreference, params) -> retval
cv.VideoCapture.open(index[, apiPreference]) -> retval
cv.VideoCapture.open(index, apiPreference, params) -> retval
cv.VideoCapture.open(source, apiPreference, params) -> retval

ビデオ撮影用にビデオファイル、撮影デバイス、またはIPビデオストリームを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

パラメータはコンストラクタ VideoCapture(const String& filename, int apiPreference = CAP_ANY) と同じ。

戻り値
ファイルが正常に開かれた場合は true

このメソッドは、まず VideoCapture::release を呼び出して、すでに開いているファイルまたはカメラを閉じる。

samples/cpp/lkdemo.cpp, samples/cpp/snippets/camshiftdemo.cpp, samples/cpp/snippets/dis_opticalflow.cpp, samples/cpp/snippets/laplace.cpp, samples/cpp/snippets/segment_objects.cpp, samples/dnn/classification.cpp, samples/dnn/object_detection.cpp, samples/dnn/segmentation.cpp, samples/facedetect.cpp, samples/hog_tapi.cpp, および samples/peopledetect.cpp

◆ open() [4/5]

virtual bool cv::VideoCapture::open ( int index,
int apiPreference,
const std::vector< int > & params )
virtual
Python:
cv.VideoCapture.open(filename[, apiPreference]) -> retval
cv.VideoCapture.open(filename, apiPreference, params) -> retval
cv.VideoCapture.open(index[, apiPreference]) -> retval
cv.VideoCapture.open(index, apiPreference, params) -> retval
cv.VideoCapture.open(source, apiPreference, params) -> retval

APIプリファレンスとパラメータを指定して、ビデオ撮影用にカメラを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

params パラメータでは、(paramId_1, paramValue_1, paramId_2, paramValue_2, ...) のペアとしてエンコードされた追加パラメータを指定できる。cv::VideoCaptureProperties を参照。

戻り値
カメラが正常に開かれた場合は true

このメソッドは、まず VideoCapture::release を呼び出して、すでに開いているファイルまたはカメラを閉じる。

◆ open() [5/5]

virtual bool cv::VideoCapture::open ( int index,
int apiPreference = CAP_ANY )
virtual
Python:
cv.VideoCapture.open(filename[, apiPreference]) -> retval
cv.VideoCapture.open(filename, apiPreference, params) -> retval
cv.VideoCapture.open(index[, apiPreference]) -> retval
cv.VideoCapture.open(index, apiPreference, params) -> retval
cv.VideoCapture.open(source, apiPreference, params) -> retval

ビデオ撮影用にカメラを開く。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

パラメータはコンストラクタ VideoCapture(int index, int apiPreference = CAP_ANY) と同じ。

戻り値
カメラが正常に開かれた場合は true

このメソッドは、まず VideoCapture::release を呼び出して、すでに開いているファイルまたはカメラを閉じる。

◆ operator>>() [1/2]

virtual VideoCapture & cv::VideoCapture::operator>> ( Mat & image)
virtual

次のビデオフレームを読み込むストリーム演算子。

参照
read()

◆ operator>>() [2/2]

virtual VideoCapture & cv::VideoCapture::operator>> ( UMat & image)
virtual

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

参照
read()

◆ read()

virtual bool cv::VideoCapture::read ( OutputArray image)
virtual
Python:
cv.VideoCapture.read([, image]) -> retval, image

次のビデオフレームを取得(grab)、デコードして返す。

引数
[out]imageここに動画フレームが返される。フレームが取得されていない場合、画像は空になる。
戻り値
フレームが取得されなかった場合は false

このメソッド/関数は、VideoCapture::grab()VideoCapture::retrieve() を1回の呼び出しにまとめたものである。これはビデオファイルの読み込みやデータの撮影に最も便利なメソッドで、取得したばかりのフレームをデコードして返す。フレームが取得されなかった場合(カメラが切断された、またはビデオファイルにこれ以上フレームがない場合)、メソッドは false を返し、関数は空の画像を返す(cv::Mat の場合は Mat::empty() で確認できる)。

◆ release()

virtual void cv::VideoCapture::release ( )
virtual
Python:
cv.VideoCapture.release() -> None

ビデオファイルまたは撮影デバイスを閉じる。

このメソッドは、後続の VideoCapture::open および VideoCapture のデストラクタによって自動的に呼び出される。

C関数は、メモリの解放と *capture ポインタのクリアも行う。

◆ retrieve()

virtual bool cv::VideoCapture::retrieve ( OutputArray image,
int flag = 0 )
virtual
Python:
cv.VideoCapture.retrieve([, image[, flag]]) -> retval, image

取得(grab)したビデオフレームをデコードして返す。

引数
[out]imageここに動画フレームが返される。フレームが取得されていない場合、画像は空になる。
flagフレームインデックス、またはドライバ固有のフラグを指定できる
戻り値
フレームが取得されなかった場合は false

このメソッドは、取得したばかりのフレームをデコードして返す。フレームが取得されなかった場合(カメラが切断された、またはビデオファイルにこれ以上フレームがない場合)、メソッドは false を返し、関数は空の画像を返す(cv::Mat の場合は Mat::empty() で確認できる)。

参照
read()

◆ set()

virtual bool cv::VideoCapture::set ( int propId,
double value )
virtual
Python:
cv.VideoCapture.set(propId, value) -> retval

VideoCapture にプロパティを設定する。

引数
propIdcv::VideoCaptureProperties のプロパティ識別子(例: cv::CAP_PROP_POS_MSECcv::CAP_PROP_POS_FRAMES など)、または 動画I/O APIバックエンド向けの追加フラグ のいずれか
valueプロパティの値。
戻り値
プロパティが VideoCapture インスタンスが使用するバックエンドでサポートされている場合は true
覚え書き
true が返されても、プロパティ値が撮影デバイスに受け入れられたことを保証するものではない。VideoCapture::get() の注記を参照。
samples/cpp/snippets/laplace.cpp.

◆ setExceptionMode()

void cv::VideoCapture::setExceptionMode ( bool enable)
inline
Python:
cv.VideoCapture.setExceptionMode(enable) -> None

例外モードを切り替える

メソッドは、失敗時にエラーコードを返す代わりに例外を送出する

◆ waitAny()

static bool cv::VideoCapture::waitAny ( const std::vector< VideoCapture > & streams,
std::vector< int > & readyIndex,
int64 timeoutNs = 0 )
static
Python:
cv.VideoCapture.waitAny(streams[, timeoutNs]) -> retval, readyIndex
cv.VideoCapture_waitAny(streams[, timeoutNs]) -> retval, readyIndex

VideoCapture から準備の整ったフレームを待機する。

引数
streams入力動画ストリーム
readyIndexフレームが取得されたストリームのインデックス(.retrieve() で実際のフレームを取得できる状態のもの)
timeoutNsナノ秒数(0 - 無限)
戻り値
streamReady が空でない場合は true
例外
ExceptionException on stream errors (check .isOpened() to filter out malformed streams) or VideoCapture type is not supported

この関数の主な用途は複数カメラ環境である。このメソッドは準備状態ベクトルを埋め、カメラが準備できていればビデオフレームを取得する。

この呼び出しの後、VideoCapture::retrieve() を使ってフレームデータをデコードし取得する。

Friends And Related Symbol Documentation

◆ internal::VideoCapturePrivateAccessor

friend class internal::VideoCapturePrivateAccessor
friend

メンバ変数詳解

◆ icap

Ptr<IVideoCapture> cv::VideoCapture::icap
protected

◆ throwOnFail

bool cv::VideoCapture::throwOnFail
protected

このクラス詳解は次のファイルから抽出されました: