3.2 KiB
如何在 Python 中裁剪图像
原文:https://www.askpython.com/python/examples/crop-an-image-in-python
你好!在这篇文章中,我们将关注 Python 中裁剪图像的不同方法。现在,让我们揭开和理解背景函数被用来裁剪图像。
技巧 1: Python PIL 裁剪图像
PIL 代表“ Python 图像库”。PIL 在 python 解释器中增加了图像编辑和格式化功能。因此,它具有许多用于图像处理和图形分析的内置功能。
PIL 内置了裁剪图像矩形部分的功能。
语法:
Image.crop(left, top, right, bottom)
top和left:这些参数代表左上坐标,即(x,y) = (left,top)。bottom和right:这些参数代表右下角坐标,即(x,y) =(右,下)。
要裁剪的区域如下所示:
- 左< = x <右
- 顶部< = y <底部
举例:
from PIL import Image
img = Image.open(r"C:\Users\HP\OneDrive\Desktop\<image>.png")
left = 0
top = 50
right = 510
bottom = 292
img_res = img.crop((left, top, right, bottom))
img_res.show()
在上面的例子中,Image.open(r"image path")是 PIL 在读取模式下打开图像的函数。
我们已经为左、右、上、下坐标分配了特定的值。
Image.show()功能用于显示裁剪后的图像。
原始图像:
Image Used For Cropping Purpose
裁剪后的图像(输出):
Cropped Image Using PIL
技术 2:使用 OpenCV 在 Python 中裁剪图像
Python OpenCV 是一个拥有大量可用于实时计算机视觉的函数的库。它包含了一套很好的函数来处理图像的处理和操作。
为了使用 OpenCV 处理图像,用户需要安装版本为3.0 和更高版本的 OpenCV 库。
首先,我们需要使用下面的代码片段在我们的程序中导入 OpenCV 库:
import cv2
OpenCV 实际上在裁剪图像的方法中对作为数组传递的图像进行切片。
语法:
image[start_x:end_x, start_y:end_y]
- image[] 实际上是通过传递 x 和 y 坐标的起始和结束索引,以数组的形式对图像进行切片。
- 因此,x 和 y 的起始和结束坐标之间的图像作为裁剪的数组对象返回。
举例:
import cv2
image = cv2.imread(r"C:\Users\HP\OneDrive\Desktop\<image>.png")
y=0
x=0
h=300
w=510
crop_image = image[x:w, y:h]
cv2.imshow("Cropped", crop_image)
cv2.waitKey(0)
cv2.imread(r"image path")功能用于在读取模式下打开图像。
此外,提供了 x 轴和 y 轴的开始和结束索引,因此图像被裁剪。
cv2.imshow()功能用于显示裁剪后的图像。我们在这里使用了与之前相同的图像。
裁剪后的图像(输出):
Cropped Image Using OpenCV
结论
因此,在本文中,我们已经了解了用 Python 裁剪图像的方法。


