介绍
与 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)