我有这个 BW 图像:
并使用函数 RegionProps,它显示一些对象是连接的:
所以我使用像 imerode 这样的形态学操作来分离对象以获得它们的质心:
现在我将每个物体的所有质心都分开了,但是在侵蚀该区域时我丢失了很多信息,就像你在图 3 和图 1 中看到的那样。所以我在想是否有任何“扩张”图片 3 直到更接近图片 1,但没有再次连接对象。
您可以将掩码中的每个白色像素分配给最近的质心并使用生成的标签图:
[y x]= find(bw); % get coordinates of mask pixels
D = pdist2([x(:), y(:)], [cx(:), cy(:)]); % assuming cx, cy are centers' coordinates
[~, lb] = min(D, [], 2); % find index of closest center
lb_map = 0*bw;
lb_map(bw) = lb; % should give you the map.
有关pdist2
更多信息,请参阅。