概述
将RGB图转换成灰度图
注意: 只能是RGB三通道图,如果是4通道图,该函数会报错
语法
tf.image.rgb_to_grayscale(images, name=None)
参数:
- images:numpy类型 或者 解码
tf.io.decode_jpeg()后的图片对象
注意:必须是RGB图,否则报错 - name:
返回值:
- 灰度图的Tensor,该灰度图是3个维度,第三维的值是1
注意: 与PIL转成灰度图不同,PIL转成灰度图后只有2个维度
例子
import tensorflow as tf
import matplotlib.pyplot as plt
path=r"C:\Users\mym\Desktop\文件接收柜\timgxingxing.jpg"
f=tf.io.read_file(path)
arr=tf.io.decode_jpeg(f)
# 观察通道数
print(arr.shape)
# 只能将RGB三通道图转换成灰度图,否则报错
arr2=tf.image.rgb_to_grayscale(arr)
# 转换成功后,数据是3维,第3个维度是1
print(arr2.shape)
plt.imshow(arr2.numpy().reshape(arr2.shape[0],arr2.shape[1]))