如何减少黑白图像中的线条宽度,使其更细更平滑

How to reduce the width of lines in black and white images and make them thinner and smoother

我有一组黑白图像,如下图所示,如图 1 所示,我希望它们的线条更细,如图 2 所示,尽管尽可能不遗漏任何线条。我也用Python尝试了像Canny这样的形态学方法和算法,但我没有得到我想要的结果。

图1

图2

我认为您正在寻找骨架化,参见 skimage.skeletonize,示例 here

import skimage.morphology
import skimage.io
import skimage.util
import matplotlib.pyplot as plt
img = skimage.io.imread('shoes.png')
image = skimage.util.invert(img)
image = image >125
skel = skimage.morphology.skeletonize(image)

plt.imshow(skel)