Python Pillow - 图像剪裁和粘贴



剪裁图像

Pillow(Python 图像库)允许我们从图像中提取矩形区域。提取的图像区域也称为图像的边界框。在crop()方法中,Image模块创建一个新的图像,表示原始图像的指定区域。此方法允许我们指定要裁剪区域的边界框的坐标。

以下是 Pillow 中'crop()'方法的语法和用法:

Image.crop(box)

其中,

  • box - 这是一个元组,指定我们要提取的矩形区域。box 参数应为四个值的元组:(左,上,右,下)。

    • left 是边界框左边缘的 x 坐标。

    • upper 是边界框上边缘的 y 坐标。

    • right 是边界框右边缘的 x 坐标。

    • lower 是边界框下边缘的 y 坐标。

示例

在这个示例中,我们根据需要使用Image模块的crop()方法裁剪矩形部分。

from PIL import Image

#Open the image
image = Image.open("Images/book.jpg")

#Define the bounding box for cropping
box = (100, 100, 200, 200)  
#(left, upper, right, lower)

#Crop the image using the defined bounding box
cropped_image = image.crop(box)

#Save or display the cropped image
cropped_image.save("output Image/cropped_image.jpg")
cropped_image.show()

要裁剪的图像

book

输出

cropped image

示例

这是另一个使用crop()方法裁剪图像矩形部分的示例。

from PIL import Image

#Open the image
image = Image.open("Images/rose.jpg")

#Define the bounding box for cropping
box = (10, 10, 200, 200)  
#(left, upper, right, lower)

#Crop the image using the defined bounding box
cropped_image = image.crop(box)

#Save or display the cropped image
cropped_image.save("output Image/cropped_image.jpg")
cropped_image.show()

输入图像

flower

输出

cropped_image

粘贴图像

使用 Python Pillow 粘贴图像允许我们从一个图像中提取感兴趣的区域并将其粘贴到另一个图像上。此过程可用于图像裁剪、对象提取和合成等任务。

Pillow(Python 图像库)中的paste()方法允许我们将一个图像粘贴到另一个图像的指定位置。这是一种常用的图像合成方法,用于添加水印或将一个图像叠加到另一个图像上。

以下是paste()函数的语法和参数:

PIL.Image.paste(im, box, mask=None)
  • im - 这是源图像,即我们要粘贴到当前图像上的图像。

  • box - 此参数指定我们要粘贴源图像的位置。它可以是坐标元组'(左,上,右,下)'。源图像将粘贴到这些坐标定义的边界框内。

  • mask(可选) - 如果提供此参数,则它可以是定义透明蒙版的图像。粘贴的图像将根据蒙版图像中的透明度值进行蒙版。

示例

以下是如何使用paste()方法将一个图像粘贴到另一个图像上的示例。

from PIL import Image

#Open the background image
background = Image.open("Images/bw.png")

#Open the image to be pasted
image_to_paste = Image.open("Images/tutorialspoint.png")

#Define the position where the image should be pasted
position = (100, 100)

#Paste the image onto the background
background.paste(image_to_paste, position)

#Save the modified image
background.save("OutputImages/paste1.jpg")
background.show()

要使用的图像

black white tutorialpoint

输出

paste1
广告