图像解码器

ImageDecoder - 20

版本

  • 名称: ImageDecoder (GitHub)

  • 域名: main

  • since_version: 20

  • 函数: False

  • support_level: SupportType.COMMON

  • 形状推断: True

此版本的运算符自版本20起可用。

摘要

从文件加载并解码图像。如果由于任何原因无法解码(例如,损坏的编码流,无效的格式),它将返回一个空矩阵。 支持以下图像格式:

  • BMP

  • JPEG(注意:无损JPEG支持是可选的)

  • JPEG2000

  • TIFF

  • PNG

  • WebP

  • 便携式图像格式(PBM, PGM, PPM, PXM, PNM) 解码后的图像遵循通道最后的布局:(高度,宽度,通道)。 JPEG色度上采样方法: 当色度分量上采样2倍时,像素会进行线性插值,使得输出像素的中心位于输入像素中心之间的1/4和3/4处。 在四舍五入时,0.5会在交替的像素位置向下或向上舍入,以防止偏向较大值(有序抖动模式)。 考虑到相邻的输入像素A、B和C,B被上采样为像素B0和B1,使得

B0 = round_half_down((1/4) * A + (3/4) * B)
B1 = round_half_up((3/4) * B + (1/4) * C)

此方法是著名的libjpeg-turbo库中的默认色度上采样方法,也被称为“平滑”或“高级”上采样。

属性

  • pixel_format - STRING (默认值为 'RGB'):

    像素格式。可以是“RGB”、“BGR”或“Grayscale”之一。

输入

  • encoded_stream (异构) - T1:

    编码流

输出

  • image (异构) - T2:

    解码后的图像

类型约束

  • T1 在 ( tensor(uint8) ) 中:

    将输入类型限制为8位无符号整数张量。

  • T2 在 ( tensor(uint8) ) 中:

    将输出类型限制为8位无符号整数张量。