主要内容

VideoWriter

创建用于写入视频文件的对象

描述

使用一个VideoWriter对象从数组或MATLAB创建视频文件®电影。对象包含有关视频和控制输出视频的属性的信息。您可以创建VideoWriter对象使用VideoWriter函数,指定其属性,然后使用对象函数编写视频。

创建

描述

例子

v= VideoWriter (文件名创建一个VideoWriter对象以将视频数据写入带有Motion JPEG压缩的AVI文件。

例子

v= VideoWriter (文件名配置文件另外,应用一组针对特定文件格式(例如mpeg - 4的未压缩的AVI的).

输入参数

全部展开

文件名,指定为字符向量或字符串标量。VideoWriter创建该文件。

VideoWriter金宝app支持这些文件扩展名。

.avi

AVI文件

.mj2

Motion jpeg2000文件

mp4.m4v

MPEG-4文件(系统与窗户®7之后,或macOS10.7及以后版本)

如果您没有指定有效的文件扩展名,VideoWriter附加的扩展.avi.mj2,或mp4,这取决于配置文件论点。如果没有指定值配置文件,然后VideoWriter创建带有扩展名的Motion JPEG压缩AVI文件.avi

例子:“myFile.avi”

例子:“. . / dir /视频/ myFile.mj2”

数据类型:字符|字符串

文件类型,指定为其中之一。

的价值配置文件 描述

“档案”

运动JPEG 2000文件无损压缩

“运动JPEG AVI”

AVI文件使用Motion JPEG编码

“运动JPEG 2000”

Motion jpeg2000文件

mpeg - 4的

MPEG-4文件与H.264编码(系统与Windows 7之后,或macOS10.7及以后版本)

未压缩的AVI的

未压缩的AVI文件RGB24视频

“索引AVI”

未压缩的AVI文件与索引视频

“灰度AVI”

未压缩的AVI文件与灰度视频

配置文件设置视频属性的默认值,例如VideoCompressionMethod

数据类型:字符|字符串

属性

全部展开

VideoWriter对象包含控制输出视频的属性。您可以创建VideoWriter对象,该对象具有定制为特定格式的属性,例如未压缩的AVI的mpeg - 4的,通过使用VideoWriter函数的配置文件.例如,您可以创建VideoWriter对象与一个运动JPEG AVI配置文件并赋值给质量财产。

v = VideoWriter (“newfile.avi”“运动JPEG AVI”);v.Quality = 95;

在你打电话给开放功能上的VideoWriter对象时,不能更改属性的值。因此,请在打开视频文件进行写入前修改属性值。

此属性是只读的。

每个输出视频帧的彩色通道数,指定为正整数:

  • 未压缩的AVI、Motion JPEG AVI和MPEG-4文件有三个彩色通道。

  • 索引和灰度AVI文件有一个颜色通道。

  • 对于Motion jpeg2000文件,通道的数量取决于输入的数据writeVideo功能:一个单色数据或三个颜色数据。

数据类型:

视频文件的颜色信息,指定为三列最多256行的数字矩阵。矩阵中的每一行使用RGB三元组定义了一种颜色。RGB三元组是一个由三个元素组成的行向量,其元素指定颜色的红色、绿色和蓝色组件的强度。强度必须在这个范围内[0, 1]

可以在调用之前显式地设置颜色映射开放,或使用colormap在写第一帧时电影帧结构的场域。

Colormap属性仅适用于用于编写索引AVI文件的对象。

例子:colormap(夏天(256))

数据类型:|uint8

目标压缩比,指定为大于1的整数。压缩比是输入图像的字节数与压缩图像的字节数之间的比率。对视频数据进行尽可能多的压缩,达到指定的目标。

CompressionRatio仅适用于用于写入Motion jpeg2000文件的对象。后你叫开放,你不能改变CompressionRatio价值。如果你之前设置LosslessCompression真正的,然后设置CompressionRatio生成一个错误。

例子:5

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

此属性是只读的。

输出文件的持续时间,以秒为单位,指定为标量值。

数据类型:

此属性是只读的。

要写入的文件类型,指定为“avi”“mp4”,或“mj2”

数据类型:字符|字符串

此属性是只读的。

文件的名称,指定为字符向量或字符串标量。

数据类型:字符|字符串

此属性是只读的。

写入视频文件的帧数,指定为整数。

数据类型:

以每秒帧数为单位的视频播放速率,指定为正数。

后你叫开放,你不能改变帧速率价值。

例子:10

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

此属性是只读的。

每个视频帧的像素高度,指定为标量。的writeVideo方法为高度宽度根据第一帧的尺寸。

MPEG-4文件要求可以被2整除的帧尺寸。如果MPEG-4文件的输入帧高度不是偶数,则VideoWriter在底部用一行黑色像素填充框架。对于Windows系统上的MPEG-4文件,允许的值取决于Windows的版本。

数据类型:

无损压缩,指定为真正的.的LosslessCompression属性仅对用于写入Motion jpeg2000文件的对象可用。

如果LosslessCompression真正的,那么:

  • writeVideo函数写入数据,使解压缩后的数据与输入数据相同。

  • VideoWriter的指定值CompressionRatio

后你叫开放,你不能改变LosslessCompression价值。

默认情况下,LosslessCompression“运动JPEG 2000”概要文件和真正的“档案”概要文件。

数据类型:逻辑

Motion jpeg2000文件的位深度,指定为范围内的整数(1、16).位深是输入图像数据中最低有效位的数目

MJ2BitDepth仅适用于用于写入Motion jpeg2000文件的对象。如果在调用之前没有指定值开放方法,然后VideoWriter根据输入数据类型设置位深度。例如,如果输入数据writeVideouint8int8值,然后MJ2BitDepth8

例子:8

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

此属性是只读的。

视频文件的完整路径,指定为字符向量或字符串标量。

数据类型:字符|字符串

视频质量,指定为范围内的整数,[0100].更高质量的数字导致更高的视频质量和更大的文件大小。较低的质量数字导致较低的视频质量和较小的文件大小。

质量仅对与mpeg - 4运动JPEG AVI概要文件。后你叫开放,你不能改变质量价值。

例子:50

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

此属性是只读的。

在每个输出视频帧中每像素的比特数,指定为数字标量。

带有真彩色视频的AVI文件,Motion JPEG AVI和MPEG-4文件有每像素24位(三个颜色波段各8位)。

索引和灰度AVI文件每像素有8位。

对于Motion jpeg2000文件,每个像素的比特数取决于值MJ2BitDepth以及图像数据的频带数。例如,如果输入数据writeVideo是三维阵列uint16int16的默认值MJ2BitDepth16,VideoBitsPerPixel48(位深的三倍)。

数据类型:

此属性是只读的。

视频压缩类型,指定为“没有”“h”JPEG格式的,或“运动JPEG 2000”

数据类型:字符|字符串

此属性是只读的。

视频格式的MATLAB表示,指定为字符向量或字符串标量。

对于除Motion jpeg2000以外的文件类型,VideoWriterVideoFormat给下面的人。

视频格式

的价值VideoFormat

未压缩的AVI, Motion JPEG AVI,或MPEG-4文件

“RGB24”

AVI文件与索引视频

“索引”

带有灰度视频的AVI文件

“灰度”

对于Motion jpeg2000文件,VideoWriter设置VideoFormat基于…的价值MJ2BitDepth所述的输入图像数据的格式writeVideo方法。例如,如果您没有指定MJ2BitDepth属性,然后VideoWriter设置格式如下所示。

图像数据格式

的价值VideoFormat

单波段uint8 “Mono8”
单波段int8 “Mono8签署”
单波段uint16 “Mono16”
单波段int16 “Mono16签署”
三级uint8 “RGB24”
三级int8 “RGB24签署”
三级uint16 “RGB48”
三级int16 “RGB48签署”

数据类型:字符|字符串

此属性是只读的。

每个视频帧的宽度(以像素为单位),指定为数字标量。的writeVideo函数为高度宽度根据第一帧的尺寸。

MPEG-4文件要求可以被2整除的帧尺寸。如果MPEG-4文件的输入帧宽度不是偶数,则VideoWriter在框架的右侧填充一列黑色像素。对于Windows系统上的MPEG-4文件,允许的值取决于Windows的版本。

数据类型:

对象的功能

开放 打开文件写入视频数据
关闭 写完视频数据后关闭文件
writeVideo 将视频数据写入文件
VideoWriter.getProfiles 配置文件和文件格式VideoWriter金宝app支持

例子

全部折叠

将视频写入文件,通过创建随机数据数组,使VideoWriter对象,然后将该数组写入视频。

创建一个300 * 300的数据矩阵。

一个=兰德(300);

创建一个VideoWriter对象写入名为newfile.avi并打开文件进行写入。

v = VideoWriter (“newfile.avi”);打开(v)

写出数据的矩阵一个转到视频文件。

writeVideo (v)

关闭该文件。

关闭(v)

使用指定的配置文件创建视频对象,生成包含RGB图像的数组,然后将该数组写入视频文件。

创建一个VideoWriter对象为一个新的未压缩的AVI文件RGB24视频。

v = VideoWriter (“newfile.avi”未压缩的AVI的);

打开文件进行写入。

打开(v)

创建一个包含静态图像样本数据的数组,peppers.png.将图像写入一个转到视频文件。

一个= imread (“peppers.png”);writeVideo (v)

关闭该文件。

关闭(v)

通过生成帧序列,为文件创建要写入的视频对象,然后将帧写入视频文件,将帧序列写入压缩的AVI文件。

设置坐标轴和图形属性,为视频生成帧。

Z =山峰;冲浪(Z);轴手册集(gca),“nextplot”“replacechildren”);

为输出的视频文件创建一个视频写入器对象,并打开要写入的对象。

v = VideoWriter (“peaks.avi”);开放(v);

生成一组帧,从图中获取帧,然后将每个帧写入文件。

surf(sin(2*pi*k/20)*Z,Z) frame = getframe(gcf);writeVideo (v,框架);结束关闭(v);

扩展功能

另请参阅

|

介绍了R2010b