首页 > 解决方案 > 绘制区域邻接图

问题描述

具有图像的超像素质心,是否有任何用于绘制区域邻接图的 MATLAB 函数?

  L = superpixels(A, 200);
  K=regionprops(L, 'Centroid');  % Detemining centroid coordinates of each superpixels

质心坐标 期望的输出

PS 类似但不准确的解决方案:

https://www.mathworks.com/matlabcentral/fileexchange/16938-region-adjacency-graph-rag

https://www.mathworks.com/matlabcentral/fileexchange/53614-image-graphs

标签: matlabimage-processingimage-segmentationsuperpixels

解决方案


从节点生成图形的方法有很多种,而您还没有指定您想要哪一种。

类似于您提供的图像(但不一样)的一个将使用delaunay(). 您可以从中生成一个triangulation()对象,该对象包含比输出更多的可用信息delaunay

或者,如果您有自己的标准来连接您决定不共享的节点,您可以使用它graph()来生成图的任何拓扑。

triplot()如果您有三角测量格式,则可以使用trimesh()或其他方式进行绘制。使用 a hold ontriplot()您会发现最接近您发布的数字。

如果您想要工作代码,如果您在问题中添加可运行的代码段,我很乐意提供。


推荐阅读