1. PIL Image图片显示
在使用PIL函数中的Image方法读取图片时,对于图片的shape,可能有不少宝宝存在疑惑。是什么疑惑了?就是image = Image.open(image_path),当你执行print(image.size)时,你得到的是图片的真实维度:W * H(宽和高),但在后续的使用中,我们使用的却是Image的数组形式,此时的维度是: H * W(高和宽)。怎么查询了它的数组形式了,再加一行代码,image = np.array(image),即可输出print(image.shape)查看维度,此时就是:H * W * C格式。
但在Image转Tensor过程中,图片的格式会由: H * W * C的格式转为: C * H * W格式。
2. 例子
2.1 Code
1 import numpy as np 2 import torchvision.transforms as transforms 3 from PIL import Image 4 5 6 def image_open(): 7 # 图片路径,相对路径 8 image_path = "./fusion_datasets/2.jpg" 9 # 读取图片 10 image = Image.open(image_path) 11 # 输出图片size 12 print("image_shape: ", image.size) 13 # 后续使用的numpy数组形式的格式 14 image_array = np.array(image) 15 print("image_array: ", image_array.shape) 16 # 显示图片 17 image.show() 18 # 转为tensor 19 input_transform = transforms.Compose([ 20 transforms.ToTensor(), 21 ]) 22 image = input_transform(image).unsqueeze(0) 23 # 输出图片转为tensor后的格式 24 print("image_tensor: ", image.shape) 25 26 27 if __name__ == '__main__': 28 image_open()
2.2 结果显示
原图片属性:
图片信息打印:
显示图片:
3. 总结
努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!
如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。