python 單通道轉3通道,tensorflow灰度圖轉RGB圖

import numpy as np

with tf.Session():
	image, label = sess.run(next_batch)	# batch_size=1
	print(image.shape)	# [224, 224, 1]
	image = np.concatenate((image, image, image), axis=-1)
	print(image.shape)	# [224, 224, 3]
	# image有三個通道,每個通道都是原始的單通道的複製

tf.image.grayscale_to_rgb函數

tf.image.grayscale_to_rgb(
    images,
    name=None
)

定義

將一個或多個圖像從灰度轉換爲RGB

輸出與images相同DType和秩的張量.輸出的最後一個維度的大小爲3,包含像素的RGB值

參數

images:要轉換的灰度張量,最後一個維度大小必須爲1
name:操作的名稱(可選)

返回值

轉換後的灰度圖像
# 舉例
from PIL import Image,ImageChops,ImageEnhance
import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np

if __name__ == "__main__":

    img_data = Image.open('grey.jpg', 'r')
    print(img_data.size)	# (1000,625)
    
    plt.subplot(1,2,1)
    plt.title("origin")
    plt.imshow(img_data)

    img = np.array(img_data)
    img = img.reshape(625,1000,1)
    img_tensor = tf.convert_to_tensor(img)
    img_tensor = tf.image.grayscale_to_rgb(img_tensor)

    sess = tf.Session()
    img = sess.run(img_tensor)
    print(img_tensor.shape)	# (625,1000,3)

    plt.subplot(1, 2, 2)
    plt.title("rgb")
    plt.imshow(img)
    plt.show()


在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章