zoukankan      html  css  js  c++  java
  • Python PIL Image图片显示系列

    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. 总结

      努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!

      如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。

     

  • 相关阅读:
    c++ mvc timer的应用
    table 在网页无法顶到头部问题
    vs2008 C++ 没有找到MSVCR90D.dll 问题
    FrametSet中各frame,iframe之间dom的访问
    关于VC中的Timer
    Vc2008中如何为视图类添加消息响应
    C++ map在MFC中的应用
    解决iframe 右边有空白的问题
    poj1125 Stockbroker Grapevine *
    poj1062 昂贵的聘礼 **
  • 原文地址:https://www.cnblogs.com/haifwu/p/12934003.html
Copyright © 2011-2022 走看看