最近我用深度学习训练一些图片数据,为了排除图片颜色的影响,我需要把彩色图片转化为灰度图像。这个容易,直接转化就行,可是会出现新的问题,深度学习的框架的开始是输入3通道的,改框架的话,不能用预训练模型,怎么办???
我就想到把1通道的灰色图像转化为3通道的灰色图像,这样问题就解决了,下面是参考代码:
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
img=Image.open('aaa.jpg') ### 原图
gray=img.convert('L') ### 灰度图
image_gray = np.expand_dims(gray, axis=2) ### 3通道灰度图
image_gray = np.concatenate((image_gray, image_gray, image_gray), axis=-1)
plt.figure("aab")
plt.subplot(1,3,1), plt.title('origin')
plt.imshow(img),plt.axis('off')
plt.subplot(1,3,2), plt.title('gray')
plt.imshow(gray,cmap='gray'),plt.axis('off')
plt.subplot(1,3,3), plt.title('new_gry')
plt.imshow(image_gray),plt.axis('off')