Python通过四个点的像素,裁剪图片
时间: 2023-11-16 14:41:07 浏览: 123
Python图片裁剪实例代码(如头像裁剪)
要通过给定的四个点坐标裁剪图片,你可以使用Python的图像处理库,如OpenCV或PIL(Pillow)。下面是使用PIL库的示例代码:
```python
from PIL import Image
def crop_image(image_path, points):
# 打开图像
image = Image.open(image_path)
# 将图像转换为RGBA模式
image = image.convert("RGBA")
# 创建一个多边形裁剪区域
mask = Image.new('L', image.size, 0)
draw = ImageDraw.Draw(mask)
draw.polygon(points, fill=255)
# 将裁剪区域应用到图像上
image_cropped = Image.new('RGBA', image.size)
image_cropped.paste(image, mask=mask)
# 保存裁剪后的图像
image_cropped.save("output.png")
# 调用函数,传入图片路径和四个点的像素坐标
points = [(x1, y1), (x2, y2), (x3, y3), (x4, y4)]
crop_image("input.png", points)
```
这段代码会打开指定的图片,将其转换为RGBA模式。然后,创建一个与图像大小相同的黑色遮罩图像,并在遮罩图像上绘制给定的四个点,形成一个多边形裁剪区域。接下来,将该裁剪区域应用到原始图像上,得到裁剪后的图像。最后,保存裁剪后的图像为"output.png"。你需要替换`points`变量中的坐标值为实际的像素坐标,以定义裁剪区域的形状。
阅读全文