试图在它自己的区域内提取边缘外部和内部的像素,目前我正在应用像这样的scipy Sobel滤镜:
im = scipy.misc.imread(filename)
im = im.astype('int32')
dx = ndimage.sobel(im, axis=0)
dy = ndimage.sobel(im, axis=1)
mag = np.hypot(dx, dy)
mag *= 255.0 / np.max(mag)
scipy.misc.imsave('sobel.jpg', mag)
目前的结果是:
我们的想法是将像素置于边缘检测之外,例如:
如何在索贝尔滤波器外部和内部提取区域阵列?
1 回答
这是一种使用交互式图像分割的方法 . 在这种方法中,您必须手动标记一些前景像素和一些背景像素,如下所示:
(我在MS Paint中进行了标记 . )下面的代码使用函数skimage.segmentation.random_walker进行图像分割,并生成此分割图像:
(这种方法也可以处理具有更复杂背景区域的图像 . )以下是代码: