ImageDecoder

ImageDecoder - 20

版本

  • 名称: ImageDecoder (GitHub)

  • : main

  • 起始版本: 20

  • 函数: False

  • 支持级别: 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 - 字符串 (默认值为 'RGB')

    像素格式。可以是“RGB”、“BGR”或“灰度”。

输入

  • encoded_stream (异构) - T1

    编码流

输出

  • image (异构) - T2

    解码后的图像

类型约束

  • T1 在 ( tensor(uint8) ) 中

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

  • T2 在 ( tensor(uint8) ) 中

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