python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例

yipeiwu_com7年前Python基础

我就废话不多说了,直接上代码吧!

from PIL import Image
# 通道转换
def change_image_channels(image, image_path):
    # 4通道转3通道
  if image.mode == 'RGBA':
        r, g, b, a = image.split()
        image = Image.merge("RGB", (r, g, b))
        image.save(image_path)
    # 1 通道转3通道
    elif image.mode != 'RGB':
        image = image.convert("RGB")
        os.remove(image_path)
        image.save(image_path)
    return image
 
# 图片压缩
def image_compression(image):
   w, h = image.size
   print(w, h)
   image.thumbnail((int(w / 1.1), int(h / 1.1)))
   image.save("./car.png")
  return image
 
if __name__ == "__main__":
    image = Image.open("./timg.png")
    new_image = process_image_channels(image, "./time.png")
    print(new_image.mode)

以上这篇python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中copy()与deepcopy()的区别小结

python中copy()与deepcopy()的区别小结

前言 copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。 深复制被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复...

python matplotlib折线图样式实现过程

python matplotlib折线图样式实现过程

这篇文章主要介绍了python matplotlib折线图样式实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一:简单的折线图...

浅析python3中的os.path.dirname(__file__)的使用

Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑...

利用python程序帮大家清理windows垃圾

前言 大家应该都有所体会,在windows系统使用久了就会产生一些“垃圾”文件。这些文件有的是程序的临时文件,有的是操作记录或日志等。垃圾随着时间越积越多,导致可用空间减少,文件碎片过...

Django项目使用CircleCI的方法示例

Django项目使用CircleCI的方法示例

自从认识了 CircleCI 之后,基本上都在用这个了。相比于之前用的travis-ci ,CircleCI 丑是丑了点,但是相比与 travis 有几点好处: CircleCI...