如何使 skimage 的活动轮廓被推到角落
How to make skimage´s active contour get pushed into the corners
我基本上使用的是 skimage 的 tutorial on morphological_geodesic_active_contour from their website。
我对已经得到的结果非常满意,但我更喜欢轮廓甚至被拉(或推)到圆的边缘的结果。
如果你想复制我创建的圈子,这里是代码(其余代码来自上面链接的网站):
im = np.zeros((100, 100))
for i in range(100):
for j in range(100):
if (i - 50) ** 2 + (j - 50) ** 2 <= 400:
im[i, j] = 1.0
im[50:80, 50:80] = 0.0
我很感激任何帮助!
编辑:作为变形 GAC 的参数,我使用了以下内容:
morphological_geodesic_active_contour(gimage, 50, init_ls,
smoothing=1, balloon=-1,
threshold=.9,
iter_callback=callback)
事实证明,在 运行 实际算法之前执行的步骤 gimage = inverse_gaussian_gradient(im)
有一个参数 sigma
控制应用的平滑。默认情况下,这是 sigma=5,但将其更改为 sigma=0.7 可以让 GAC 算法更好地进入角落。
详情见图片
我基本上使用的是 skimage 的 tutorial on morphological_geodesic_active_contour from their website。 我对已经得到的结果非常满意,但我更喜欢轮廓甚至被拉(或推)到圆的边缘的结果。
如果你想复制我创建的圈子,这里是代码(其余代码来自上面链接的网站):
im = np.zeros((100, 100))
for i in range(100):
for j in range(100):
if (i - 50) ** 2 + (j - 50) ** 2 <= 400:
im[i, j] = 1.0
im[50:80, 50:80] = 0.0
我很感激任何帮助!
编辑:作为变形 GAC 的参数,我使用了以下内容:
morphological_geodesic_active_contour(gimage, 50, init_ls,
smoothing=1, balloon=-1,
threshold=.9,
iter_callback=callback)
事实证明,在 运行 实际算法之前执行的步骤 gimage = inverse_gaussian_gradient(im)
有一个参数 sigma
控制应用的平滑。默认情况下,这是 sigma=5,但将其更改为 sigma=0.7 可以让 GAC 算法更好地进入角落。
详情见图片