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实现字符串中某个字母的替代功能

今晚想实现这样一个功能:将输入字符串中的字母 “i” 变成字母 “p”。当时想的很简单,直接用for循环遍历,然后替代,出问题的代码如下: name = input('随便输入一堆字...

python提取照片坐标信息的实例代码

python提取照片坐标信息的代码如下所示: from PIL import Image from PIL.ExifTags import TAGS import os output...

python批量修改图片尺寸,并保存指定路径的实现方法

如下所示: import os from PIL import Image filename = os.listdir("D:\\Work\\process\\样本处理\\pol...

详解python实现小波变换的一个简单例子

详解python实现小波变换的一个简单例子

最近工作需要,看了一下小波变换方面的东西,用python实现了一个简单的小波变换类,将来可以用在工作中。 简单说几句原理,小波变换类似于傅里叶变换,都是把函数用一组正交基函数展开,选取不...

python实现弹跳小球

python实现弹跳小球

前言 学习Python的过程中,比较喜欢通过实际的小项目进行巩固学习,决定写一个弹跳小球的程序。这个实战例程是在公众号上看到的,他的编写过程比较完整,步骤清晰,贴的代码并不完整,但是我还...