【发布时间】:2017-02-02 15:57:49
【问题描述】:
在给定二值图像的情况下,有没有人知道一种简单的方法来构造一个变换,该变换对于边界上的每个点(轮廓集像素)返回中轴上最接近的点?
【问题讨论】:
在给定二值图像的情况下,有没有人知道一种简单的方法来构造一个变换,该变换对于边界上的每个点(轮廓集像素)返回中轴上最接近的点?
【问题讨论】:
我不知道您的程序使用的是哪种语言,但您可以使用 python。
使用 scikit-image 库会非常简单。
首先,由于方法,您必须计算所有组件标签(可选,取决于您的二进制图像): skimage.morphology.label(image, return_num=True)
之后,您可以计算每个中间轴,这要归功于:skimage.morphology.medial_axis(img, return_distance=True)
所以此时你已经得到了带有轮廓像素的点集和带有中轴像素的点集。
您只需为每个组件标签计算您想要的像素与一组中轴中所有像素之间的距离 dist=sqrt((y2-y1)^2+(x2-x1)^2)
希望对你有帮助。
【讨论】: