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

yipeiwu_com6年前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中循环语句的嵌套使用

 Python编程语言允许在一个循环内嵌套另一个循环。下面将介绍几个例子来说明这一概念。 语法 在Python中嵌套循环语句的语法如下: for iterating_var...

用virtualenv建立多个Python独立虚拟开发环境

用virtualenv建立多个Python独立虚拟开发环境

本文为大家分享了virtualenv建立多个Python独立虚拟开发环境,供大家参考,具体内容如下 1、安装virtualenv: pip install virtualenv 2...

Python中每次处理一个字符的5种方法

目的 对字符串的每个字符进行处理,其实每个字符(Char)就是一个长度为1的字符串。 方法 1.使用内建函数list() 复制代码 代码如下: >>> A_string...

python实现rsa加密实例详解

python实现rsa加密实例详解 一 代码 import rsa key = rsa.newkeys(3000)#生成随机秘钥 privateKey = key[1]#私钥 pu...

使用Python读取大文件的方法

背景 最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方...