zoukankan      html  css  js  c++  java
  • Python PIL彩色图像转灰度图像

    1. PIL彩色图像转灰度图像

      PIL彩色图像转灰度图像只需要调用函数 transforms.Grayscale(1)  即可。需要注意的是PIL打开的图像是RGB格式的,一般是三通道,转为灰度图像后,变为一通道。

      转换原理,采用的 ITU-R 601-2 luma 原理来转换的,L = R * 299/1000 + G * 587/1000 + B * 114/1000,下取整,小数被省略,跟OpenCV有区别,OpenCV保留小数位。

      小生就不多言了,客官请下观~~。

    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_RGB2Gray():
     7     # 图片路径,相对路径
     8     image_path = "./fusion_datasets/1.jpg"
     9     # 读取图片
    10     image = Image.open(image_path)
    11     # 输出维度
    12     print("RGB图像的维度:", np.array(image).shape)
    13     # 显示原图
    14     image.show()
    15     # RGB转换我灰度图像
    16     image_transforms = transforms.Compose([
    17         transforms.Grayscale(1)
    18     ])
    19     image = image_transforms(image)
    20     # 输出灰度图像的维度
    21     print("灰度图像维度: ", np.array(image).shape)
    22     # 显示灰度图像
    23     image.show()
    24 
    25 
    26 if __name__ == '__main__':
    27     image_RGB2Gray()

    2.2 结果显示

        转换前后的维度变换,开始是3通道的(height, width, channel),转为灰度图像后维度为1通道,1被省略显示。

            

       哇哦,有木有觉得灰度图像的girl好冷艳,太爱了(#^.^#)(#^.^#)!  

           

     3. 总结

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

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

      

  • 相关阅读:
    Java中断机制
    RPC原理
    synchronized和ReentrantLock的区别
    dubbo入门
    Zookeeper入门
    分布式事务
    Mysql索引会失效的几种情况
    java代码执行过慢的问题定位
    持续集成
    Mycat 数据库分库分表中间件
  • 原文地址:https://www.cnblogs.com/haifwu/p/12855563.html
Copyright © 2011-2022 走看看