影片寫入器類。更多...
#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,因此您可能會收到 OpenCV 關於 fourcc 程式碼轉換的警告訊息。 |
| fps | 建立的影片流的幀率。 |
| frameSize | 影片幀的大小。 |
| isColor | 如果它不為零,編碼器將期望並編碼彩色幀,否則它將處理灰度幀。 |
提示
- 在某些後端中,
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> |
◆ 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 |
◆ 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 |
◆ operator<<() [2/2]
這是一個過載成員函式,為方便起見提供。它與上述函式的區別僅在於它接受的引數。
- 另請參見
- 寫
◆ release()
| virtual void cv::VideoWriter::release |
( |
| ) |
|
|
virtual |
| Python |
|---|
| cv.VideoWriter.release( | | ) -> | 無 |
◆ set()
| virtual bool cv::VideoWriter::set |
( |
int | propId, |
|
|
double | 值 ) |
|
virtual |
| Python |
|---|
| cv.VideoWriter.set( | propId, value | ) -> | retval |
◆ write()
| virtual void cv::VideoWriter::write |
( |
InputArray | image | ) |
|
|
virtual |
| Python |
|---|
| cv.VideoWriter.write( | image | ) -> | 無 |
◆ iwriter
| Ptr<IVideoWriter> cv::VideoWriter::iwriter |
|
保護 |
◆ writer
該類的文件由以下檔案生成