创建用于写入视频文件的对象
用一个VideoWriter
对象从数组或MATLAB创建视频文件®电影。对象包含有关视频和控制输出视频的属性的信息。您可以创建VideoWriter
对象使用VideoWriter
函数,指定其属性,然后使用对象函数编写视频。
文档名称
- - - - - -文档名称文件名,指定为字符向量或字符串标量。VideoWriter
创建该文件。
VideoWriter
万博1manbetx支持这些文件扩展名。
|
AVI文件 |
|
Motion JPEG 2000文件 |
|
MPEG-4文件(系统视窗®7或者以后,或macOS10.7及以后版本) |
如果您没有指定有效的文件扩展名,VideoWriter
追加扩展名.avi
,.mj2
, 或者mp4
,这取决于配置文件
论点。如果没有指定值配置文件
,然后VideoWriter
创建带有扩展名的Motion JPEG压缩AVI文件.avi
.
例子:“myFile.avi”
例子:“. . / dir /视频/ myFile.mj2”
数据类型:字符
|细绳
配置文件
- - - - - -文件类型'Motion JPEG AVI'
(默认)|“档案”
|'Motion JPEG 2000'
|......文件类型,指定为其中之一。
的价值配置文件 |
描述 |
---|---|
|
Motion JPEG 2000文件具有无损压缩 |
|
AVI文件使用Motion JPEG编码 |
|
Motion JPEG 2000文件 |
|
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','Motion JPEG AVI');v.quality = 95;
打电话给了打开
功能上的VideoWriter
对象,无法更改属性的值。因此,在打开视频文件之前修改属性值。
ColorChannels.
- - - - - -彩色通道数此属性是只读的。
每个输出视频帧的彩色通道数,指定为正整数:
未压缩的AVI、Motion JPEG AVI和MPEG-4文件有三个彩色通道。
索引和灰度AVI文件有一个颜色通道。
对于Motion JPEG 2000文件,通道的数量取决于输入数据writevideo.
功能:一个用于单色数据或三个颜色数据。
数据类型:双倍的
Colormap
- - - - - -视频文件的颜色信息P
-By-3数字矩阵视频文件的颜色信息,指定为具有三列的数字矩阵,最多256行。矩阵中的每一行使用RGB三重态定义了一种颜色。RGB三联网是一个三元素行向量,其元素指定了红色,绿色和蓝色组件的强度。强度必须在范围内[0, 1]
.
可以在调用之前显式地设置颜色映射打开
,或使用COLOROMAP.
在写第一帧时电影帧结构的场域。
的Colormap
属性仅适用于用于编写索引AVI文件的对象。
例子:colormap(夏天(256))
数据类型:双倍的
|uint8.
CompressionRatio
- - - - - -目标压缩比10.
(默认)|整数大于1目标压缩比,指定为大于1的整数。压缩比是输入图像的字节数与压缩图像的字节数之间的比率。对视频数据进行尽可能多的压缩,达到指定的目标。
CompressionRatio
仅适用于用于写入Motion jpeg2000文件的对象。后你叫打开
,你不能改变CompressionRatio
价值。如果你之前设置无损压抑
到真的
,然后设置CompressionRatio
生成一个错误。
例子:5
数据类型:单身的
|双倍的
|INT8.
|int16
|int32
|INT64.
|uint8.
|uint16
|UINT32
|UINT64
持续时间
- - - - - -输出文件持续时间此属性是只读的。
输出文件的持续时间,以秒为单位,指定为标量值。
数据类型:双倍的
文件格式
- - - - - -写入的文件类型'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的版本。
数据类型:双倍的
无损压抑
- - - - - -无损压缩真的
|假
无损压缩,指定为真的
或者假
.的无损压抑
属性仅适用于用于编写Motion JPEG 2000文件的对象。
如果无损压抑
是真的
,那么:
的writevideo.
函数写入数据,使解压缩后的数据与输入数据相同。
VideoWriter
忽略任何指定的值CompressionRatio
.
后你叫打开
,你不能改变无损压抑
价值。
默认情况下,无损压抑
是假
为'Motion JPEG 2000'
概要文件和真的
为“档案”
概要文件。
数据类型:逻辑
MJ2BitDepth
- - - - - -Motion jpeg2000文件的位深度(1、16)
Motion JPEG 2000文件的位深度,指定为范围内的整数(1、16)
.位深是输入图像数据中最低有效位的数目
MJ2BitDepth
仅适用于用于写入Motion jpeg2000文件的对象。如果在调用之前没有指定值打开
方法,然后VideoWriter
根据输入数据类型设置位深度。例如,如果输入数据writevideo.
是uint8.
或者INT8.
值,然后MJ2BitDepth
是8
.
例子:8
数据类型:单身的
|双倍的
|INT8.
|int16
|int32
|INT64.
|uint8.
|uint16
|UINT32
|UINT64
路径
- - - - - -全程视频文件此属性是只读的。
视频文件的完整路径,指定为字符向量或字符串标量。
数据类型:字符
|细绳
质量
- - - - - -视频质量75.
(默认)|整数范围内[0,100]
视频质量,指定为范围内的整数,[0,100]
.更高质量的数字导致更高的视频质量和更大的文件大小。较低的质量数字导致较低的视频质量和较小的文件大小。
质量
仅适用于与之关联的对象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”
|'Motion JPEG'
|'Motion JPEG 2000'
此属性是只读的。
视频压缩类型,指定为'没有任何'
,“h”
,'Motion JPEG'
, 或者'Motion 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 万博1manbetx支持 |
将视频写入文件,通过创建随机数据数组,使VideoWriter
对象,然后将该数组写入视频。
创建一个300×300矩阵的数据。
a = rand(300);
创建一个VideoWriter
对象写入名为newfile.avi.
并打开文件进行写入。
v = VideoWriter('newfile.avi');打开(v)
写出数据的矩阵一个
转到视频文件。
writeVideo (v)
关闭该文件。
关闭(v)
使用指定的配置文件创建一个视频对象,使包含RGB映像的数组,然后将数组写入视频文件。
创建一个VideoWriter
对象为一个新的未压缩的AVI文件RGB24视频。
v = VideoWriter('newfile.avi',未压缩的AVI的);
打开文件进行写入。
打开(v)
创建一个包含静态图像样本数据的数组,peppers.png
.写图像一个
转到视频文件。
a = imread(“peppers.png”);writeVideo (v)
关闭该文件。
关闭(v)
通过生成帧序列,为文件创建要写入的视频对象,然后将帧写入视频文件,将帧序列写入压缩的AVI文件。
设置轴和图形属性以为视频生成帧。
Z =山峰;冲浪(Z);轴紧手册集(gca),“nextplot”,“replacechildren”);
为输出的视频文件创建一个视频写入器对象,并打开要写入的对象。
v = VideoWriter(“peaks.avi”);开放(v);
生成一组帧,从图中获取帧,然后将每个帧写入文件。
为k = 1:20冲浪(SIN(2 * PI * K / 20)* z,z)帧= getFrame(GCF);WriteVideo(v,帧);结束关闭(v);
backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.这个函数完全支持基于线程的环境。万博1manbetx有关更多信息,请参见在线程环境中运行MATLAB函数.
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。