"VideoFrames" (神经网络编码器)

NetEncoder["VideoFrames"]

表示一个可将视频文件或对象转换为像素值序列的秩为 3 的张量的编码器.

NetEncoder[{"VideoFrames","param"->val,}]

表示一个为预处理有特定参数的编码器.

更多信息

  • "VideoFrames" 编码器从输入中返回视频帧列表.
  • NetEncoder[][input] 将编码器应用于输入生成输出.
  • 编码器的输入可以是以下之一:
  • videoVideo 对象
    fileFile 表达式形式给出的视频文件
    {image1,image2,}视为从视频中提取的图像列表
  • NetEncoder[][{input1,input2,}] 将编码器应用于输入列表生成输出列表.
  • 构建网络时,可通过指定 "port"->NetEncoder[] 将编码器附于网络的输入端口.
  • 参数
  • 支持下列参数:
  • ColorSpace"RGB"编码要用的颜色空间
    FrameRate24提取帧的帧率
    "Levels"Automatic结果中级别的顺序
    "MeanImage"None平均图像减去
    RasterSize{128,128}用于重设帧大小的栅格尺寸
    "StartTime"0帧提取开始的时间
    "TargetLength"Automatic目标输出长度
    "VarianceImage"None标准化的方差图像
    Method"Stretch"怎样使尺寸一致
    ResamplingAutomatic重新采样的方法
    AlignmentCenter怎样对齐 Method"Fit""Fill" 情况下的图像
    PaddingBlackMethod"Fit" 的填充方案
  • Method 可取的值为:
  • "Stretch"通过重新采样拉伸图像以使图像一致
    "Fit"适配整个图像;保持长宽比;必要时进行填充
    "Fill"适配较小的尺寸;必要时对另一尺寸进行剪切
  • 有一些参数可在计算时使用 NetEncoder[][{input,"param"val,}] 指定.
  • 默认情况下,帧以每秒 24 帧的速度提取. 使用 FrameRateInherited 以原始帧速率提取.
  • 默认情况下,结果以维度 {time,channels,height,width} 这样秩为 4 的数组形式返回. 将 "Levels" 参数设置为包含 "Time""Channels""Height""Width" 的列表,以达到控制级别顺序的目的.
  • "MeanImage""VarianceImage" 可用下列设置:
  • None不做任何减去
    m从每个像素中减去的值
    {m1,m2,}从不同通道减去的值
    Image[]要减去的整体图像
  • 在做减去前,像素会被标准化为落于 0 和 1 之间的值.
  • "TargetLength" 可用下列设置:
  • n提取 n
    All提取所有可用帧
    Automatic自动选择提取帧的数量

范例

打开所有单元关闭所有单元

基本范例  (2)

创建视频帧 NetEncoder

将编码器应用于 Video 对象:

将编码器的结果展示为图像:

范围  (3)

NetEncoder["VideoFrames"] 可对 FileVideo 对象进行编码. 创建视频帧编码器:

将编码器应用于 File 对象:

将编码器应用于 Video 对象:

NetEncoder["VideoFrames"] 可作用于批量输入:

创建视频帧 NetEncoder

将编码器附于网络的输入:

将该网络应用于 Video 对象:

参数  (6)

ColorSpace  (1)

将输出图像的 ColorSpace 设为 "Grayscale"

输出仅有一个通道维度,适合灰度图:

FrameRate  (1)

创建一个可以以指定速率提取帧的视频帧编码器:

在计算时间处指定 "FrameRate" 参数:

"MeanImage"  (1)

创建从被编码帧中减去平均值列表的视频帧编码器:

创建一个每个像素值都为 0.8 的视频:

将编码器应用于该视频:

"StartTime"  (1)

创建一个在指定时间开始编码的视频帧编码器:

在计算时间处指定 "StartTime" 参数:

"TargetLength"  (1)

创建一个返回 5 帧的视频帧编码器:

创建一个返回所有输入视频的帧的解码器:

若指定的 "TargetLength" 设为 automatic,则结果的长度可在计算时间处控制:

"VarianceImage"  (1)

创建一个通过方差列表标准化被编码帧的视频帧编码器:

创建一个每个像素值都为 0.8 的视频:

将编码器应用于视频: