在 Python 中使用Pillow库进行图像裁剪是一个相对简单的操作。Pillow提供了crop()方法,允许你根据指定的矩形区域裁剪图像。下面详细介绍实现步骤和示例代码。

安装 Pillow 库

如果你还没有安装Pillow库,可以使用以下命令进行安装:

收起

bash

pip install pillow

图像裁剪步骤

  1. 打开图像:使用Image.open()方法打开要裁剪的图像文件。
  2. 指定裁剪区域:裁剪区域由一个包含四个坐标值的元组 (left, top, right, bottom) 定义,分别表示裁剪区域左上角和右下角的坐标。
  3. 执行裁剪操作:调用crop()方法,传入裁剪区域的元组,得到裁剪后的图像对象。
  4. 保存或显示裁剪后的图像:使用save()方法保存裁剪后的图像,或者使用show()方法显示图像。

示例代码

收起

python

from PIL import Image

def crop_image(input_path, output_path, left, top, right, bottom):
    try:
        # 打开图像
        image = Image.open(input_path)
        # 指定裁剪区域
        crop_box = (left, top, right, bottom)
        # 执行裁剪操作
        cropped_image = image.crop(crop_box)
        # 保存裁剪后的图像
        cropped_image.save(output_path)
        print(f"图像裁剪完成,已保存到 {output_path}")
    except Exception as e:
        print(f"裁剪过程中出现错误: {e}")

# 示例调用
input_image_path = 'input.jpg'
output_image_path = 'output.jpg'
# 定义裁剪区域(左上角坐标 (100, 100),右下角坐标 (300, 300))
left = 100
top = 100
right = 300
bottom = 300
crop_image(input_image_path, output_image_path, left, top, right, bottom)

代码解释

  1. crop_image 函数:该函数接受输入图像路径、输出图像路径以及裁剪区域的四个坐标作为参数。
  2. 打开图像:使用Image.open()方法打开输入图像。
  3. 裁剪区域:通过(left, top, right, bottom)元组指定裁剪区域。
  4. 裁剪操作:调用image.crop(crop_box)方法进行裁剪,返回裁剪后的图像对象。
  5. 保存图像:使用cropped_image.save(output_path)将裁剪后的图像保存到指定路径。

注意事项

  • 请确保输入图像文件存在,并且路径正确。
  • 裁剪区域的坐标必须在图像的有效范围内,否则可能会导致裁剪结果不符合预期或出现错误。
  • 裁剪区域的坐标是相对于图像左上角的像素位置,原点为(0, 0)
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐