PIL,cv2,plt读取和显示图像;组合多幅图像

PIL,cv2,plt读取和显示图像;组合多幅图像

1.PIL

(1) 用image.show()image.save('PIL1.jpg')直接显示和保存PIL格式的image
(2) transforms.Compose.ToTensor()把PIL图像或者数组图像numpy.ndarry(WxHxC)从[0,255]转换到float型[0.0,1.0]的tensor;
(3) transforms.Compose.Normalize(Tensor,mean,std,inplace),比如transforms.Normalize([0.5,0.5,0.5], [0.5,0.5,0.5])说明三个通道的mean和std均是0.5.
(4) 保存arrayImage.fromarray(image).save('PIL.jpg')
array通过transforms.Compose转换为PIL后保存,unloader = transforms.ToPILImage() image = (unloader(image))
transforms.Compose.Resize()只能对PIL图像进行转换
(5) 结果如下:
PIL1和PIL显示
在这里插入图片描述

from PIL import Image
import torchvision.transforms as transforms
import numpy as np

image_path = 'E:/aboutVS/dataset/image/LIVE/gblur/img2.bmp'
transform = transforms.Compose([
    transforms.Resize(256),
    transforms.RandomResizedCrop(224,scale=(0.5,1.0)),
    transforms.ToTensor(),
    transforms.Normalize([0.5,0.5,0.5], [0.5,0.5,0.5])
])   #定义变换:resize+随机裁剪+totensor+归一化

im = Image.open(image_path,"r").convert('RGB')   # 读取为PIL图像
im.show()   # 直接显示PIL图像
image = (transform(im)).permute(1,
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用matplotlib读取图像时,可以使用matplotlib.image的mpimg.imread()函数。首先导入matplotlib.pyplot和matplotlib.image模块,然后使用mpimg.imread()函数读取图像并赋值给一个变量。例如,可以使用以下代码读取一张名为test.png的图像: ``` import matplotlib.pyplot as plt import matplotlib.image as mpimg img = mpimg.imread("./image/test.png") ``` 读取完成后,可以使用plt.imshow()函数显示图像。要显示彩色图像,可以使用以下代码: ``` from matplotlib import pyplot as plt plt.imshow(img) ``` 如果在显示图像后没有显示出来,可以在plt.imshow()后面加上plt.show()来显示图像。例如: ``` plt.imshow(img) plt.show() ``` 此外,还可以使用subplot函数绘制多个图像。subplot函数的原型为subplot(nrows, ncols, index, **kwargs),其中nrows表示有多少行,ncols表示有多少列,index表示窗口编号。例如,可以使用以下代码绘制三个图像: ``` import matplotlib.pyplot as plt import matplotlib.image as mpimg import cv2 from PIL import Image plt.subplot(1, 3, 1) image = mpimg.imread('./images/cat.png') plt.title('Matplotlib') plt.axis('off') plt.imshow(image) plt.subplot(1, 3, 2) image = cv2.imread('./images/cat.png') plt.title('Opencv') plt.axis('off') plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) plt.subplot(1, 3, 3) image = Image.open('./images/cat.png') plt.title('PIL') plt.axis('off') plt.imshow(image) plt.show() ``` 这样就可以使用matplotlib来读取显示图像了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python中利用opencv、matplotlib读取显示图像](https://blog.csdn.net/W9XM96/article/details/120866735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [使用matplotlib、opencv和PIL读取图片](https://blog.csdn.net/weixin_46003347/article/details/123228638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值