三通道转单通道 彩色图转灰度图
img=Image.open(r'C:\Users\liu\Desktop\imgs\2.jpg')
tran=torchvision.transforms.Compose([
torchvision.transforms.Grayscale(num_output_channels=1),
torchvision.transforms.ToTensor(),
torchvision.transforms.Resize(size=(28,28))
])
img_tonser=tran(img)
print(img_tonser.shape)
彩色图(三通道)转指定R,G,B通道
def change_image_channels(image):
# 3通道转单通道
if image.mode == 'RGB':
r, g, b = image.split()
return r,g,b
PNG 四通道转三通道
img=Image.open(r'C:\Users\liu\Desktop\imgs\2.jpg')
img=img.convert('RGB')
# tran=torchvision.transforms.Compose([
# torchvision.transforms.Grayscale(num_output_channels=1),
# torchvision.transforms.ToTensor(),
# torchvision.transforms.Resize(size=(28,28))
# ])
如何从[w, h, c]转为[c, w, h]
可以借助numpy的transpose()函数来实现这个转换。是的只要像下面简简单单的一句话即可实现。
import numpy as np
image_chw = np.transpose(image_hwc, (2,0,1))
网友评论