"VideoFrames" (神经网络编码器)
NetEncoder["VideoFrames"]
表示一个可将视频文件或对象转换为像素值序列的秩为 3 的张量的编码器.
NetEncoder[{"VideoFrames","param"->val,…}]
表示一个为预处理有特定参数的编码器.
更多信息
- "VideoFrames" 编码器从输入中返回视频帧列表.
- NetEncoder[…][input] 将编码器应用于输入生成输出.
- 编码器的输入可以是以下之一:
-
video Video 对象 file 以 File 表达式形式给出的视频文件 {image1,image2,…} 视为从视频中提取的图像列表 - NetEncoder[…][{input1,input2,…}] 将编码器应用于输入列表生成输出列表.
- 构建网络时,可通过指定 "port"->NetEncoder[…] 将编码器附于网络的输入端口.
- 支持下列参数:
-
ColorSpace "RGB" 编码要用的颜色空间 FrameRate 24 提取帧的帧率 "Levels" Automatic 结果中级别的顺序 "MeanImage" None 平均图像减去 RasterSize {128,128} 用于重设帧大小的栅格尺寸 "StartTime" 0 帧提取开始的时间 "TargetLength" Automatic 目标输出长度 "VarianceImage" None 标准化的方差图像 Method "Stretch" 怎样使尺寸一致 Resampling Automatic 重新采样的方法 Alignment Center 怎样对齐 Method"Fit" 或 "Fill" 情况下的图像 Padding Black Method"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)
范围 (3)
NetEncoder["VideoFrames"] 可对 File 或 Video 对象进行编码. 创建视频帧编码器:
将编码器应用于 File 对象:
将编码器应用于 Video 对象:
NetEncoder["VideoFrames"] 可作用于批量输入:
创建视频帧 NetEncoder:
将该网络应用于 Video 对象:
参数 (6)
ColorSpace (1)
将输出图像的 ColorSpace 设为 "Grayscale":