备注
前往结尾 下载完整示例代码。或在 Binder 上通过浏览器运行此示例。
基于区域边界的区域邻接图 (RAGs)#
使用 rag_boundary
函数构建一个区域边界 RAG。该函数 skimage.graph.rag_boundary()
接受一个 edge_map
参数,该参数给出了每个像素处特征(如边缘)存在的重要性。在区域边界 RAG 中,两个区域之间的边权重是沿其共享边界在 edge_map
中对应像素的平均值。
from skimage import graph
from skimage import data, segmentation, color, filters, io
from matplotlib import pyplot as plt
img = data.coffee()
gimg = color.rgb2gray(img)
labels = segmentation.slic(img, compactness=30, n_segments=400, start_label=1)
edges = filters.sobel(gimg)
edges_rgb = color.gray2rgb(edges)
g = graph.rag_boundary(labels, edges)
lc = graph.show_rag(
labels, g, edges_rgb, img_cmap=None, edge_cmap='viridis', edge_width=1.2
)
plt.colorbar(lc, fraction=0.03)
io.show()
脚本的总运行时间: (0 分钟 0.418 秒)