创建用于写入视频文件的对象
使用一个VideoWriter
对象从数组或MATLAB创建视频文件®电影。对象包含有关视频和控制输出视频的属性的信息。您可以创建VideoWriter
对象使用VideoWriter
函数,指定其属性,然后使用对象函数编写视频。
文件名
- - - - - -文件名称文件名,指定为字符向量或字符串标量。VideoWriter
创建该文件。
VideoWriter
金宝app支持这些文件扩展名。
|
AVI文件 |
|
Motion jpeg2000文件 |
|
MPEG-4文件(系统与窗户®7之后,或macOS10.7及以后版本) |
如果您没有指定有效的文件扩展名,VideoWriter
附加的扩展.avi
,.mj2
,或mp4
,这取决于配置文件
论点。如果没有指定值配置文件
,然后VideoWriter
创建带有扩展名的Motion JPEG压缩AVI文件.avi
.
例子:“myFile.avi”
例子:“. . / dir /视频/ myFile.mj2”
数据类型:字符
|字符串
配置文件
- - - - - -文件类型“运动JPEG AVI”
(默认)|“档案”
|“运动JPEG 2000”
|……文件类型,指定为其中之一。
的价值配置文件 |
描述 |
---|---|
|
运动JPEG 2000文件无损压缩 |
|
AVI文件使用Motion JPEG编码 |
|
Motion jpeg2000文件 |
|
MPEG-4文件与H.264编码(系统与Windows 7之后,或macOS10.7及以后版本) |
|
未压缩的AVI文件 |
|
未压缩的AVI文件与索引视频 |
|
未压缩的AVI文件与灰度视频 |
配置文件
设置视频属性的默认值,例如VideoCompressionMethod
.
数据类型:字符
|字符串
的VideoWriter
对象包含控制输出视频的属性。您可以创建VideoWriter
对象,该对象具有定制为特定格式的属性,例如未压缩的AVI的
或mpeg - 4的
,通过使用VideoWriter
函数的配置文件.例如,您可以创建VideoWriter
对象与一个运动JPEG AVI
配置文件并赋值给质量
财产。
v = VideoWriter (“newfile.avi”,“运动JPEG AVI”);v.Quality = 95;
在你打电话给开放
功能上的VideoWriter
对象时,不能更改属性的值。因此,请在打开视频文件进行写入前修改属性值。
ColorChannels
- - - - - -彩色通道数此属性是只读的。
每个输出视频帧的彩色通道数,指定为正整数:
未压缩的AVI、Motion JPEG AVI和MPEG-4文件有三个彩色通道。
索引和灰度AVI文件有一个颜色通道。
对于Motion jpeg2000文件,通道的数量取决于输入的数据writeVideo
功能:一个单色数据或三个颜色数据。
数据类型:双
Colormap
- - - - - -视频文件的颜色信息P
3数值矩阵视频文件的颜色信息,指定为三列最多256行的数字矩阵。矩阵中的每一行使用RGB三元组定义了一种颜色。RGB三元组是一个由三个元素组成的行向量,其元素指定颜色的红色、绿色和蓝色组件的强度。强度必须在这个范围内[0, 1]
.
可以在调用之前显式地设置颜色映射开放
,或使用colormap
在写第一帧时电影帧结构的场域。
的Colormap
属性仅适用于用于编写索引AVI文件的对象。
例子:colormap(夏天(256))
数据类型:双
|uint8
CompressionRatio
- - - - - -目标压缩比10
(默认)|大于1的整数目标压缩比,指定为大于1的整数。压缩比是输入图像的字节数与压缩图像的字节数之间的比率。对视频数据进行尽可能多的压缩,达到指定的目标。
CompressionRatio
仅适用于用于写入Motion jpeg2000文件的对象。后你叫开放
,你不能改变CompressionRatio
价值。如果你之前设置LosslessCompression
来真正的
,然后设置CompressionRatio
生成一个错误。
例子:5
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
持续时间
- - - - - -输出文件持续时间此属性是只读的。
输出文件的持续时间,以秒为单位,指定为标量值。
数据类型:双
FileFormat
- - - - - -要写入的文件类型“avi”
|“mp4”
|“mj2”
此属性是只读的。
要写入的文件类型,指定为“avi”
,“mp4”
,或“mj2”
.
数据类型:字符
|字符串
文件名
- - - - - -文件的名字此属性是只读的。
文件的名称,指定为字符向量或字符串标量。
数据类型:字符
|字符串
FrameCount
- - - - - -的帧数此属性是只读的。
写入视频文件的帧数,指定为整数。
数据类型:双
帧速率
- - - - - -视频回放速率30.
(默认)|正数以每秒帧数为单位的视频播放速率,指定为正数。
后你叫开放
,你不能改变帧速率
价值。
例子:10
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
高度
- - - - - -每个视频帧的高度此属性是只读的。
每个视频帧的像素高度,指定为标量。的writeVideo
方法为高度
和宽度
根据第一帧的尺寸。
MPEG-4文件要求可以被2整除的帧尺寸。如果MPEG-4文件的输入帧高度不是偶数,则VideoWriter
在底部用一行黑色像素填充框架。对于Windows系统上的MPEG-4文件,允许的值取决于Windows的版本。
数据类型:双
LosslessCompression
- - - - - -无损压缩真正的
|假
无损压缩,指定为真正的
或假
.的LosslessCompression
属性仅对用于写入Motion jpeg2000文件的对象可用。
如果LosslessCompression
是真正的
,那么:
的writeVideo
函数写入数据,使解压缩后的数据与输入数据相同。
VideoWriter
的指定值CompressionRatio
.
后你叫开放
,你不能改变LosslessCompression
价值。
默认情况下,LosslessCompression
是假
为“运动JPEG 2000”
概要文件和真正的
为“档案”
概要文件。
数据类型:逻辑
MJ2BitDepth
- - - - - -Motion jpeg2000文件的位深度(1、16)
Motion jpeg2000文件的位深度,指定为范围内的整数(1、16)
.位深是输入图像数据中最低有效位的数目
MJ2BitDepth
仅适用于用于写入Motion jpeg2000文件的对象。如果在调用之前没有指定值开放
方法,然后VideoWriter
根据输入数据类型设置位深度。例如,如果输入数据writeVideo
是uint8
或int8
值,然后MJ2BitDepth
是8
.
例子:8
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
路径
- - - - - -视频文件的完整路径此属性是只读的。
视频文件的完整路径,指定为字符向量或字符串标量。
数据类型:字符
|字符串
质量
- - - - - -视频质量75
(默认)|范围内的整数[0100]
视频质量,指定为范围内的整数,[0100]
.更高质量的数字导致更高的视频质量和更大的文件大小。较低的质量数字导致较低的视频质量和较小的文件大小。
质量
仅对与mpeg - 4
或运动JPEG AVI
概要文件。后你叫开放
,你不能改变质量
价值。
例子:50
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
VideoBitsPerPixel
- - - - - -每像素的比特数此属性是只读的。
在每个输出视频帧中每像素的比特数,指定为数字标量。
带有真彩色视频的AVI文件,Motion JPEG AVI和MPEG-4文件有每像素24位(三个颜色波段各8位)。
索引和灰度AVI文件每像素有8位。
对于Motion jpeg2000文件,每个像素的比特数取决于值MJ2BitDepth
以及图像数据的频带数。例如,如果输入数据writeVideo
是三维阵列uint16
或int16
的默认值MJ2BitDepth
是16
,VideoBitsPerPixel
是48
(位深的三倍)。
数据类型:双
VideoCompressionMethod
- - - - - -视频压缩类型“没有”
|“h”
|JPEG格式的
|“运动JPEG 2000”
此属性是只读的。
视频压缩类型,指定为“没有”
,“h”
,JPEG格式的
,或“运动JPEG 2000”
.
数据类型:字符
|字符串
VideoFormat
- - - - - -视频格式的MATLAB表示此属性是只读的。
视频格式的MATLAB表示,指定为字符向量或字符串标量。
对于除Motion jpeg2000以外的文件类型,VideoWriter
集VideoFormat
给下面的人。
视频格式 |
的价值 |
---|---|
未压缩的AVI, Motion JPEG AVI,或MPEG-4文件 |
“RGB24” |
AVI文件与索引视频 |
“索引” |
带有灰度视频的AVI文件 |
“灰度” |
对于Motion jpeg2000文件,VideoWriter
设置VideoFormat
基于…的价值MJ2BitDepth
所述的输入图像数据的格式writeVideo
方法。例如,如果您没有指定MJ2BitDepth
属性,然后VideoWriter
设置格式如下所示。
图像数据格式 |
的价值 |
---|---|
单波段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);
backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。