视频写入器类。更多...
#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
该类的文档由以下文件生成