有一个很好的实现超分辨率段代(SLIC)的skimage.segmentation包在Python sklearn包。skimage SLIC:让相邻部分
在SLIC()方法返回的整数集的标签。我的问题是如何获得彼此的空间邻居的分段?我想要做的是使用这些段来构建图形,并且边缘将连接直接的邻居。但是,我无法弄清楚如何获得细分市场的直接邻居。
的Python代码来执行SLIC如下:
from skimage import io
from skimage.segmentation import slic
from skimage.segmentation import find_boundaries
# An image of dimensions 300, 300
image = img_as_float(io.imread("image.png"))
# call slic. This returns an numpy array which assigns to every
# pixel in the image an integer label
# So segments is a numpy array of shape (300, 300)
segments = slic(image, 100, sigma = 5)
# Now I want to know the neighbourhood segment for each super-pixel
# There is a method called find_boundaries which returns a boolean
# for every pixel to show if it is a boundary pixel or not.
b = find_boundaries(segments)
在这里,我坚持。我想知道如何解析这个边界索引并找出给定的标签索引(比如0),哪些标签索引共享一个索引为0的边界。有没有一种方法可以有效地完成这个操作,而不需要遍历边界数组为每个标签索引?
它总是重要的是要告诉人们[你已经试过(http://whathaveyoutried.com/),包括任何片段失败的尝试,使他们能够了解什么门路,你已经错过了。这很重要,因为它激励人们回答问题,这很重要,因为它可以让问题更容易提供高质量的相关答案。就目前的问题来看,这尚未实现。 – Veedrac 2014-10-07 14:05:10
这是一个公平点。我会稍后更新这个问题。 – Luca 2014-10-07 14:12:30