tf.io.encode_jpeg()

介绍

与 tf.io.decode_jpeg() 向反,将numpy类型的Tensor,编码成 string类型的Tensor(其内容是二进制jpeg数据)

一般和 tf.io.write_file() 搭配使用,保存成图片文件

语法

tf.io.encode_jpeg(
    image,
    format='',
    quality=95,
    progressive=False,
    optimize_size=False,
    chroma_downsampling=True,
    density_unit='in',
    x_density=300,
    y_density=300,
    xmp_metadata='',
    name=None
)
参数
  • image:uint类型的tensor,形状[height, width, channels]
  • format:string来自的可选””, “grayscale”, “rgb”。默认为””。每像素图像格式。
  • quality:可选int。默认为95。压缩质量从0到100(越高越好,越慢)。
  • progressive:可选bool。默认为False。如果为True,则创建一个逐渐加载的JPEG(从粗到细)。
  • optimize_size:可选bool。默认为False。如果为True,则花费CPU / RAM来减小大小而不会改变质量。
  • chroma_downsampling:可选bool。默认为True。请参阅http://en.wikipedia.org/wiki/Chroma_subsampling。
  • density_unit:string来自的可选”in”, “cm”。默认为”in”。用于指定x_density和的单位y_density:每英寸(’in’)或厘米(’cm’)的像素。
  • x_density:可选int。默认为300。每个密度单位的水平像素。
  • y_density:可选int。默认为300。每个密度单位的垂直像素。
  • xmp_metadata:可选string。默认为””。如果不为空,则将此XMP元数据嵌入图像标题中。
  • name:操作的名称(可选)。

例子:

节选语义分割代码

# 加载模型
model=tf.keras.models.load_model(h5_path)
# 进行预测
prd=model.predict(img)

img=tf.squeeze(prd)
img=tf.math.argmax(img,axis=2)

img=tf.image.encode_jpeg(img)
tf.io.write_file(path,img)

原文出处:/show_1EF54XrwrTkx.html