【问题标题】:in matlab, find 3D neighbourhood在matlab中,找到3D邻域
【发布时间】:2023-03-24 09:35:01
【问题描述】:

我有一个经过分割过程的体积(3D 矩阵)。大部分卷由 NaN(或零)组成,除了通过某些标准的区域(见图)。我需要知道每个剩余部分的体素数量有多大,以及它们在 2D 平面(xy、xz、yz)上的分布情况。 matlab 中是否有任何东西可以帮助我以有效的方式而不是直接搜索来做到这一点?体积可以相当大。例如。在附图中,有 7 个体素的黄色/棕色部分,并且比 xy 更垂直地延伸。 提前致谢。

【问题讨论】:

    标签: matlab 3d neighbours


    【解决方案1】:

    最方便的解决方案是使用REGIONPROPS。在您的示例中:

    stats = regionprops(image, 'area', 'centroid')
    

    对于每个特征,结构统计中都有一个条目,其中包含面积(即体素数)和质心。

    【讨论】:

      【解决方案2】:

      我认为您要查找的内容称为bwlabeln。它允许您在 3D 空间中查找 blob,就像 bwlabel 在 2D 中所做的那样。之后,您可以使用regionprops 查找数据的属性。

      直接取自帮助:

      bwlabeln 在二值图像中标注连通分量。 L = bwlabeln(BW) 返回一个标签矩阵 L,其中包含 BW 中的连通分量。 BW 可以有任何维度; L是一样的 大小为 BW。 L 的元素是大于或等于的整数值 为 0。标记为 0 的像素是背景。标记为 1 的像素 组成一个对象,标记为 2 的像素组成第二个对象,并且 很快。二维的默认连接数为 8,三维的默认连接数为 26 维度,以及更高维度的 CONNDEF(NDIMS(BW),'maximal')。

      【讨论】:

      • 在调用regionprops之前无需调用bwlabeln
      • 谢谢大家。你为我节省了很多时间。
      猜你喜欢
      • 1970-01-01
      • 2014-05-13
      • 2012-10-29
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 2017-12-25
      • 1970-01-01
      • 2014-10-18
      相关资源
      最近更新 更多