**
python/pytorch图像加载与显示总结
本文总结了python框架常用的图像加载的方法
**
4种:cv2,io,pil,PIL
cv2:
import cv2
img = cv2.imread(img_path)
numpy数组,uint8类型,0-255范围,(H,W,C) BGR顺序
BGR->RGB (RGB->BGR)
img = img[:,:,::-1]
plt:
import matplotlib.pyplot as plt
img = plt.imread(img_path)
numpy数组,uint8类型,0-255范围,(H,W,C) RGB顺序
io:
import skimage.io as io
img = io.imread(img_path)
np.ndarray对象,0-255范围,(H,W,C)RGB顺序
PIL:
from PIL import Image
img = Image.open(img_path)
PIL.Image.Image对象 0-255范围,RGB顺序
PIL转换numpy
img = np.array(img) (H,W,C)
numpy转换PIL
img = Image.fromarray(img) (PIL.Image.Image对象)
显示图片
2种:PIL,plt
PIL:
img.show() 图像类型是PIL.Image.Image对象
plt:
plt.imshow(img)
plt,show() 必须是numpy,必须是W,H,C结构
图片保存
3种:cv2,plt,PIL
cv2:
cv2.imwrite(‘./***/img_cv2.jpg’,img) img是numpy的格式
plt:
plt.imsave(‘./***/img_plt.jpg’,img’) img是numpy的格式
PIL:
img.save(‘./***/img_plt.jpg’) img是PIL.Image.Image对象格式
numpy->tensor 及高维表示形式转换
transforms.ToTensor()
torch.from_numpy(np.transpose(img_numpy,(2,0,1)))
img_numpy.transpose((2,0,1))
tensor-> numpy
img_tensor.numpy()