【Python】【进阶篇】二、Pillow的图片格式转换和缩放操作

目录

  • 二、Pillow的图片格式转换和缩放操作
    • 2.1 图片格式转换
    • 2.2 图片缩放操作

二、Pillow的图片格式转换和缩放操作

2.1 图片格式转换

Pillow 库支持多种图片格式,您可以直接使用 open() 方法来读取图片,并且无须考虑图片是何种类型。同时,Pillow 能够很轻松地实现图片格式之间的转换。

图片格式之间的转换主要有以下两种方法

方法一: save() 格式 : Image.save(fp, format=None)

  • fp:图片的存储路径,包含图片的名称,字符串格式;
  • format:可选参数,可以指定图片的格式。
from PIL import Image

img = Image.open("./python.png")
img.save('./python.bmp')

注意: 源文件和目标文件都存在

方法二:convert()+save()Image.convert(mode,parms**)

  • mode:指的是要转换成的图像模式;
  • params:其他可选参数。

主要对上面补充, PNG 和 JPG 图像模式不一致导致的。其中 PNG 是四通道 RGBA 模式,即红色、绿色、蓝色、Alpha 透明色;JPG 是三通道 RGB 模式。因此要想实现图片格式的转换,就要将 PNG 转变为三通道 RGB 模式。

from PIL import Image

img = Image.open("./python.png")
# 此时返回一个新的image对象,转换图片模式
image = img.convert('RGB')
# 调用save()保存
image.save('./python.jpg')

通过以上代码,成功将 PNG 格式的图片转换为了 JPG 格式。

2.2 图片缩放操作

在图像处理过程中经常会遇到缩小或放大图像的情况,Image 类提供的 resize() 方法能够实现任意缩小和放大图像。

resize() 函数 格式 : resize(size, resample=image.BICUBIC, box=None, reducing_gap=None)

  • size:元组参数 (width,height),图片缩放后的尺寸;
  • resample:可选参数,指图像重采样滤波器,与 thumbnail() 的 resample 参数类似,默认为 Image.BICUBIC;
  • box:对指定图片区域进行缩放,box 的参数值是长度为 4 的像素坐标元组,即 (左,上,右,下)。注意,被指定的区域必须在原图的范围内,如果超出范围就会报错。当不传该参数时,默认对整个原图进行缩放;
  • reducing_gap:可选参数,浮点参数值,用于优化图片的缩放效果,常用参数值有 3.0 和 5.0。

注意,resize() 会返回一个新的 image 对象

from PIL import Image

im = Image.open("./python.png")
try:
    # 放大图片
    image = im.resize((580, 280))
    # 将新图像保存至桌面
    image.save("./放大图像.png")
    print("查看新图像的尺寸", image.size)
except IOError:
    print("放大图像失败")

你可能感兴趣的:(Python,#,Pillow库,python,计算机视觉,图像处理)