欢迎访问宙启技术站
智能推送

如何使用Python中的CenterCrop()函数裁剪图像的中心部分

发布时间:2023-12-29 16:10:06

在Python中,可以使用PIL(Python Imaging Library)库中的ImageOps模块来进行图像剪裁操作。该模块提供了centercrop()函数来实现将图像裁剪为中心部分的功能。

centercrop()函数将会裁剪输入的图像,使其成为指定大小的正方形,并保留图像的中心部分。裁剪后的图像将会被返回。

下面是一个使用centercrop()函数的示例,同时示例代码中还包括了图像的加载和展示的部分:

from PIL import ImageOps

def center_crop(img, size):
    width, height = img.size
    left = (width - size[0]) // 2
    top = (height - size[1]) // 2
    right = (width + size[0]) // 2
    bottom = (height + size[1]) // 2
    return img.crop((left, top, right, bottom))

# 加载图像
image = Image.open('image.jpg')

# 裁剪图像为100x100的中心部分
cropped_image = center_crop(image, (100, 100))

# 展示原始图像和裁剪后的图像
image.show()
cropped_image.show()

在上述示例中,首先importImageOps模块,然后定义了center_crop()函数来实现图像的中心剪裁。函数接受两个参数,分别为输入的图像对象和目标裁剪大小。函数中使用img.size获取图像的宽度和高度,然后根据目标裁剪大小计算出裁剪区域的左上角和右下角坐标。最后使用img.crop()函数对图像进行裁剪,并返回裁剪后的图像对象。

在主程序部分,首先使用Image.open()函数加载图像,并将其赋值给变量image。然后调用center_crop()函数,将加载的图像和目标裁剪大小作为参数传入,得到裁剪后的图像对象并赋值给变量cropped_image。最后使用show()函数展示原始图像和裁剪后的图像。

示例代码中的图像路径为'image.jpg',请根据实际的图像路径进行修改。裁剪后的图像会在新窗口中展示出来。

总结:使用centercrop()函数进行图像的中心裁剪相对简单。首先加载图像,然后调用center_crop()函数并传入图像对象和目标裁剪大小,最后展示裁剪后的图像即可。