一。用opencv读取图片,用matplotlib.pyplot 显示
1.opencv读取的图像通道是,BGR,如果用matplotlib显示,就要转化成RGB
import matplotlib.pyplot as plt
import cv2
def CVshow_RGB(path):
img = cv2.imread(path)
img = img[:, :, [2, 1, 0]]#BGR to RGB
plt.title("RGB")
plt.imshow(img)
plt.show()
2.如果有批量,需要压缩批量维度
def CVshow_pixes(title,img_pixes):
if len(img_pixes.shape)!=3 :
img_pixes=np.squeeze(img_pixes,axis=0)
cv2.imshow(title,img_pixes)
cv2.waitKey()
cv2.destroyAllWindows()
二,图片是torch类型
如果图片是torch类型,维度为[B,C,H,W]
那么需要将图片压缩通道,
img=[1,3,224,224],dtype=torch,device=cuda
img=torch.unsqueeze(img,dim=0).detach().cpu().numpy().transpose((1,2,0))
#image=np.transpose(img,(1,2,0))
plt.imshow(image)
plt.show()