利用python实现图片格式之间的相互转换

一、概要

图片一般有多种格式,常见的图片格式包括:

  1. JPEG(.jpg 或 .jpeg):一种广泛使用的有损压缩格式,适用于摄影图像和网页上的图片。
  2. PNG(.png):一种无损压缩格式,支持透明度和更好的图像质量,常用于图标、图形和需要透明背景的图片。该图片是4通道的,外加一个透明通道。如截屏
  3. GIF(.gif):一种支持动画和透明度的格式,常用于简单的动画和图标。
  4. BMP(.bmp):一种无损格式,存储图像的原始数据,文件大小通常较大,常用于位图处理和打印。
  5. TIFF(.tiff 或 .tif):一种高质量的无损格式,支持多页和多种图像深度,常用于印刷和出版。
  • 除了这些常见的格式,还有其他一些图片格式,如 WebP、SVG 等,每种格式都有其特定的用途和优缺点。
  • 图片格式之间的转换涉及到通道数和格式的转换,无尺寸的变换

二、具体代码

from PIL import Image

def convert_image(input_path, output_path, output_format):
    # 打开原始图片
    image = Image.open(input_path)

    # 获取图片格式
    img_format = image.format
   # 获取通道数
    channels = image.mode
    # 获取尺寸
    width, height = image.size

    # 将JPG图片转换为RGB模式(如果图片不是RGB模式)
    if image.mode != "RGB":
        image = image.convert("RGB")
    # 将图片保存为指定格式
    image.save(output_path, format=output_format)
    
    # print(f'Epoch: {best_epoch}, Fold: {best_fold}')
    print(f'输入图片格式:{img_format}, 输入图片的通道数: {channels}, 输入图片的尺寸: {(width,height)}')
    print("转换完成!")
    print(f'输出图片格式:{output_image_format}, 输出图片的通道数: {image.mode}, 输出图片的尺寸: {(width,height)}')

# 设置输入图片路径
input_image_path = "example.jpg"

# 设置输出图片路径和格式
output_image_path = "output.png"
output_image_format = "PNG"

# 进行图片格式转换
convert_image(input_image_path, output_image_path, output_image_format)

你可能感兴趣的:(python,开发语言)