要提取图像边界并生成轮廓图,可以使用Pillow库中的ImageFilter和ImageOps模块来实现。下面是一个示例代码:
from PIL import Image, ImageFilter, ImageOps
# 打开图像文件
image = Image.open('image.jpg')
# 转换为灰度图像
gray_image = image.convert('L')
# 使用Sobel算子进行边缘检测
edge_image = gray_image.filter(ImageFilter.FIND_EDGES)
# 生成轮廓图
contour_image = ImageOps.invert(edge_image)
# 保存轮廓图
contour_image.save('contour_image.jpg')
在这个示例中,首先打开图像文件,然后将其转换为灰度图像。接下来使用Sobel算子进行边缘检测,然后生成轮廓图并保存到文件中。你可以根据需要调整参数和算法来获得更好的效果。