想要将读入图片统一为三通道的方法:在tf.image.decode_jpeg函数中加入参数 channels=3
image = tf.image.decode_jpeg(image_file,channels=3)
判断读入的是灰度图还是RGB图,如果是灰度图,则将其转换成RGB,使用了tf.size()函数来获取image的尺寸,使用tf.cond()函数来进行条件判断,特此记录。
imsize = tf.size(image) #获取image的尺寸
image = tf.cond(tf.equal(imsize, ih * iw), #tf.cond()条件表达式,满足条件执行第一个表达式,否则执行第二个lambda表达式
lambda: tf.image.grayscale_to_rgb(tf.reshape(image, (ih, iw, 1))), #灰度变成RGB
lambda: tf.reshape(image, (ih, iw, 3)))