我尝试了其他线程上的所有程序,但除了使用 ImageMagick 的程序之外,没有一个程序能达到我想要的效果,而且我是一名 Windows 用户,希望尽可能避免外部下载。有人可以帮忙使用 PIL 或其他 python 模块来提供帮助吗?
如果你有图像的二元掩模(无论如何,你需要一个,只是为了定义你想要“轮廓”的东西是什么。但是计算一个的标准是特定于每个图像的。它可能来自背景颜色。或者,在你的情况下,因为它有一个透明的背景,来自 alpha 通道),那么这是一个数学形态学运算。例如,OpenCV 包含数学形态学运算符
您需要阅读本文,因为这不仅仅是复制和粘贴一些代码。
但是对于您的具体问题和具体示例,它很简单
import cv2
img=cv2.imread("image.png")
outline = cv2.morphologyEx(img[...,3], cv2.MORPH_GRADIENT, np.ones((5,5)))
img[...,3]
是 Alpha 通道。这里,除了中心图形上的 255 之外,到处都是 0。(5,5)
是内核的大小(阅读形态学以了解它),5 是用于调整以选择轮廓厚度的参数