動画書き込みクラス。 詳細...
#include <opencv2/videoio.hpp>
|
| | VideoWriter () |
| | デフォルトコンストラクタ。
|
| |
| | VideoWriter (const String &filename, int apiPreference, int fourcc, double fps, const Size &frameSize, const std::vector< int > ¶ms) |
| |
| | VideoWriter (const String &filename, int apiPreference, int fourcc, double fps, Size frameSize, bool isColor=true) |
| |
| | VideoWriter (const String &filename, int fourcc, double fps, const Size &frameSize, const std::vector< int > ¶ms) |
| |
| | VideoWriter (const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true) |
| |
| virtual | ~VideoWriter () |
| | デフォルトのデストラクタ。
|
| |
| virtual double | get (int propId) const |
| | 指定された VideoWriter のプロパティを返す。
|
| |
| String | getBackendName () const |
| | 使用しているバックエンドAPI名を返す。
|
| |
| virtual bool | isOpened () const |
| | ビデオライタが正常に初期化されている場合にtrueを返す。
|
| |
| bool | open (const String &filename, int apiPreference, int fourcc, double fps, const Size &frameSize, const std::vector< int > ¶ms) |
| |
| bool | open (const String &filename, int apiPreference, int fourcc, double fps, Size frameSize, bool isColor=true) |
| |
| bool | open (const String &filename, int fourcc, double fps, const Size &frameSize, const std::vector< int > ¶ms) |
| |
| virtual bool | open (const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true) |
| | ビデオライタを初期化または再初期化する。
|
| |
| virtual VideoWriter & | operator<< (const Mat &image) |
| | 次のビデオフレームを書き込むストリーム演算子。
|
| |
| virtual VideoWriter & | operator<< (const UMat &image) |
| |
| virtual void | release () |
| | ビデオライタを閉じる。
|
| |
| virtual bool | set (int propId, double value) |
| | VideoWriter にプロパティを設定する。
|
| |
| virtual void | write (InputArray image) |
| | 次の動画フレームを書き込む。
|
| |
|
| static int | fourcc (char c1, char c2, char c3, char c4) |
| | 4文字を連結してfourccコードを生成する。
|
| |
◆ VideoWriter() [1/5]
| cv::VideoWriter::VideoWriter |
( |
| ) |
|
| Python: |
|---|
| cv.VideoWriter( | | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
デフォルトコンストラクタ。
コンストラクタ/関数は動画ライタを初期化する。
- Linuxでは動画の書き込みにFFMPEGが使われる。
- WindowsではFFMPEG、MSWF、またはDSHOWが使われる。
- MacOSXではAVFoundationが使われる。
◆ VideoWriter() [2/5]
| cv::VideoWriter::VideoWriter |
( |
const String & | filename, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
Size | frameSize, |
|
|
bool | isColor = true ) |
| Python: |
|---|
| cv.VideoWriter( | | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
- 引数
-
| filename | 出力ビデオファイルの名前。 |
| fourcc | フレームの圧縮に使用するコーデックの4文字コード。例えば VideoWriter::fourcc('P','I','M','1') はMPEG-1コーデック、VideoWriter::fourcc('M','J','P','G') はmotion-jpegコーデックなどである。コードの一覧は MSDN のページ、またはより完全な一覧についてはfourccサイトの このページ で取得できる。MP4コンテナを使用するFFMPEGバックエンドは、fourccコードとしてネイティブに別の値を使用する。ObjectType を参照のこと。そのため、fourccコードの変換についてOpenCVから警告メッセージを受け取ることがある。 |
| fps | 作成されるビデオストリームのフレームレート。 |
| frameSize | ビデオフレームのサイズ。 |
| isColor | 0以外の場合、エンコーダはカラーフレームを期待してエンコードし、それ以外の場合はグレースケールフレームを扱う。 |
ヒント:
- 一部のバックエンドでは、
fourcc=-1を指定するとシステムのコーデック選択ダイアログが表示される。
- 画像シーケンスを保存するには、適切なファイル名(例:
img_%02d.jpg)とfourcc=0またはfps=0を使う。生のフレームを保存するには非圧縮の画像フォーマット(例: img_%02d.BMP)を使う。
- ほとんどのコーデックは非可逆である。可逆な動画ファイルが必要な場合は、可逆コーデック(例: FFMPEG FFV1、Huffman HFYU、Lagarith LAGS など)を使う必要がある。
- FFMPEGが有効な場合、
codec=0; fps=0;を使うと非圧縮(生)の動画ファイルを作成できる。
- FFMPEGを使う場合、幅または高さが奇数のフレームも許可されるが、この場合は一番右の列または一番下の行を切り捨てる。本来はもっとスマートに処理すべきだが、FFMPEG内部のswscaleの一部の関数は偶数の幅/高さを必要とする。
◆ VideoWriter() [3/5]
| cv::VideoWriter::VideoWriter |
( |
const String & | filename, |
|
|
int | apiPreference, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
Size | frameSize, |
|
|
bool | isColor = true ) |
| Python: |
|---|
| cv.VideoWriter( | | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
これは利便性のために提供されているオーバーロードされたメンバ関数である。受け付ける引数のみが上記の関数と異なる。apiPreference引数を使うと、利用するAPIバックエンドを指定できる。複数のリーダ実装が利用可能な場合に特定の実装を強制するために使える。例: cv::CAP_FFMPEGやcv::CAP_GSTREAMER。
◆ VideoWriter() [4/5]
| cv::VideoWriter::VideoWriter |
( |
const String & | filename, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
const Size & | frameSize, |
|
|
const std::vector< int > & | params ) |
| Python: |
|---|
| cv.VideoWriter( | | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
これは利便性のために提供されているオーバーロードされたメンバ関数である。受け付ける引数のみが上記の関数と異なる。params引数を使うと、(paramId_1, paramValue_1, paramId_2, paramValue_2, ...) のペアとしてエンコードされた追加のエンコーダ引数を指定できる。cv::VideoWriterPropertiesを参照。
◆ VideoWriter() [5/5]
| cv::VideoWriter::VideoWriter |
( |
const String & | filename, |
|
|
int | apiPreference, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
const Size & | frameSize, |
|
|
const std::vector< int > & | params ) |
| Python: |
|---|
| cv.VideoWriter( | | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
| cv.VideoWriter( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | <VideoWriter object> |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
◆ ~VideoWriter()
| virtual cv::VideoWriter::~VideoWriter |
( |
| ) |
|
|
virtual |
◆ create()
| static Ptr< IVideoWriter > cv::VideoWriter::create |
( |
const String & | filename, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
Size | frameSize, |
|
|
bool | isColor = true ) |
|
staticprotected |
◆ fourcc()
| static int cv::VideoWriter::fourcc |
( |
char | c1, |
|
|
char | c2, |
|
|
char | c3, |
|
|
char | c4 ) |
|
static |
| Python: |
|---|
| cv.VideoWriter.fourcc( | c1, c2, c3, c4 | ) -> | retval |
| cv.VideoWriter_fourcc( | c1, c2, c3, c4 | ) -> | retval |
◆ get()
| virtual double cv::VideoWriter::get |
( |
int | propId | ) |
const |
|
virtual |
| Python: |
|---|
| cv.VideoWriter.get( | propId | ) -> | retval |
◆ getBackendName()
| String cv::VideoWriter::getBackendName |
( |
| ) |
const |
| Python: |
|---|
| cv.VideoWriter.getBackendName( | | ) -> | retval |
使用しているバックエンドAPI名を返す。
- 覚え書き
- ストリームが開いている必要がある。
◆ isOpened()
| virtual bool cv::VideoWriter::isOpened |
( |
| ) |
const |
|
virtual |
| Python: |
|---|
| cv.VideoWriter.isOpened( | | ) -> | retval |
◆ open() [1/4]
| bool cv::VideoWriter::open |
( |
const String & | filename, |
|
|
int | apiPreference, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
const Size & | frameSize, |
|
|
const std::vector< int > & | params ) |
| Python: |
|---|
| cv.VideoWriter.open( | filename, fourcc, fps, frameSize[, isColor] | ) -> | retval |
| cv.VideoWriter.open( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | retval |
| cv.VideoWriter.open( | filename, fourcc, fps, frameSize, params | ) -> | retval |
| cv.VideoWriter.open( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | retval |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
◆ open() [2/4]
| bool cv::VideoWriter::open |
( |
const String & | filename, |
|
|
int | apiPreference, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
Size | frameSize, |
|
|
bool | isColor = true ) |
| Python: |
|---|
| cv.VideoWriter.open( | filename, fourcc, fps, frameSize[, isColor] | ) -> | retval |
| cv.VideoWriter.open( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | retval |
| cv.VideoWriter.open( | filename, fourcc, fps, frameSize, params | ) -> | retval |
| cv.VideoWriter.open( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | retval |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
◆ open() [3/4]
| bool cv::VideoWriter::open |
( |
const String & | filename, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
const Size & | frameSize, |
|
|
const std::vector< int > & | params ) |
| Python: |
|---|
| cv.VideoWriter.open( | filename, fourcc, fps, frameSize[, isColor] | ) -> | retval |
| cv.VideoWriter.open( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | retval |
| cv.VideoWriter.open( | filename, fourcc, fps, frameSize, params | ) -> | retval |
| cv.VideoWriter.open( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | retval |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
◆ open() [4/4]
| virtual bool cv::VideoWriter::open |
( |
const String & | filename, |
|
|
int | fourcc, |
|
|
double | fps, |
|
|
Size | frameSize, |
|
|
bool | isColor = true ) |
|
virtual |
| Python: |
|---|
| cv.VideoWriter.open( | filename, fourcc, fps, frameSize[, isColor] | ) -> | retval |
| cv.VideoWriter.open( | filename, apiPreference, fourcc, fps, frameSize[, isColor] | ) -> | retval |
| cv.VideoWriter.open( | filename, fourcc, fps, frameSize, params | ) -> | retval |
| cv.VideoWriter.open( | filename, apiPreference, fourcc, fps, frameSize, params | ) -> | retval |
◆ operator<<() [1/2]
| virtual VideoWriter & cv::VideoWriter::operator<< |
( |
const Mat & | image | ) |
|
|
virtual |
次の動画フレームを書き込むストリーム演算子。
- 参照
- write
◆ operator<<() [2/2]
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
- 参照
- write
◆ release()
| virtual void cv::VideoWriter::release |
( |
| ) |
|
|
virtual |
| Python: |
|---|
| cv.VideoWriter.release( | | ) -> | None |
◆ set()
| virtual bool cv::VideoWriter::set |
( |
int | propId, |
|
|
double | value ) |
|
virtual |
| Python: |
|---|
| cv.VideoWriter.set( | propId, value | ) -> | retval |
◆ write()
| virtual void cv::VideoWriter::write |
( |
InputArray | image | ) |
|
|
virtual |
| Python: |
|---|
| cv.VideoWriter.write( | image | ) -> | None |
◆ iwriter
| Ptr<IVideoWriter> cv::VideoWriter::iwriter |
|
protected |
◆ writer
このクラス詳解は次のファイルから抽出されました: