当我们希望对一张图片进行局部切割并处理时,使用Python3提供的Image库可以轻松实现。下面是实现该功能的完整攻略:
步骤1:导入必要的库
需要导入Python3中的Pillow库(也称为PIL,Python Imaging Library),并使用其中的Image库进行图片的处理。代码如下:
from PIL import Image
步骤2:打开图片
使用Image库的open()方法打开一张图片,将其赋值给变量img。示例代码如下:
img = Image.open('example.jpg')
步骤3:获取图片大小
使用Image库的size属性获取图片的大小。代码如下:
width, height = img.size
步骤4:进行局部切割
使用Image库的crop()方法进行局部切割。其中参数是一个元组,表示切割的区域。示例代码如下:
sub_img = img.crop((x1, y1, x2, y2)) # x1, y1, x2, y2 分别为区域的左上角与右下角坐标
示例1:将图片等分成四份
下面是一个将图片等分成四份的示例程序:
from PIL import Image
img = Image.open('example.jpg')
width, height = img.size
half_width = width // 2
half_height = height // 2
# 切割出左上角的区域
sub_img1 = img.crop((0, 0, half_width, half_height))
# 切割出右上角的区域
sub_img2 = img.crop((half_width, 0, width, half_height))
# 切割出左下角的区域
sub_img3 = img.crop((0, half_height, half_width, height))
# 切割出右下角的区域
sub_img4 = img.crop((half_width, half_height, width, height))
# 保存切割后的四张图片
sub_img1.save('sub_img1.jpg')
sub_img2.save('sub_img2.jpg')
sub_img3.save('sub_img3.jpg')
sub_img4.save('sub_img4.jpg')
示例2:切割图片中的一个圆形区域
下面是一个切割图片中的一个圆形区域的示例程序:
from PIL import Image, ImageDraw
img = Image.open('example.jpg')
width, height = img.size
mask = Image.new('L', (width, height), color='white')
draw = ImageDraw.Draw(mask)
# 绘制一个圆形区域,留其余区域为白色
draw.ellipse((x, y, x+r, y+r), fill='black')
# 将图片与掩模合并
masked_img = Image.composite(img, Image.new('RGB', img.size, color='white'), mask)
# 切割出圆形区域
sub_img = masked_img.crop((x-r, y-r, x+r, y+r))
# 保存切割后的图片
sub_img.save('sub_img.jpg')
通过以上两个示例,我们可以发现,使用Python3实现对图片的局部切割非常方便和灵活。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3 实现对图片进行局部切割的方法 - Python技术站