如何在此图像中找到边界曲面

问题描述 投票:0回答:1

我是图像处理的新手。我想找到分隔它们的黑白像素之间的表面。这是图像的链接。图像大小为(21,900,900)

https://drive.google.com/file/d/1zUWK0Fb_n6f1JZou5mrUJq0x3h2X8mBK/view?usp=sharing

我试图在图像的一个平面上使用MATLAB的boundarymask命令但是我得到噪声并且它仅适用于2D图像。请建议我如何在这里找到边界3d表面。谢谢。这是应用边界掩码后的输出图像。

How to find surface boundary between white and black

matlab image-processing
1个回答
1
投票

你的第一步应该是摆脱你的噪音。由于你得到了某种盐和胡椒的噪音,你可以使用matlab中的medfilt2()在2D图像上使用中值滤波器。之后,您可以使用边缘抖动来查找边缘像素。这个代码看起来像这样。如果你想要表面,你需要在3D图像的第三维上循环。代码如下所示:

for ii=1:16
    I=imread('image.tif',ii);
    I_bs=boundarymask(I);
    I_filt=medfilt2(I_bs,[7 7]);
    boundarysurface(:,:,ii)=edge(I_filt,'Canny');
end

我在这里使用的边缘探测器对于这个简单的情况来说肯定是过度杀伤,但这是我在短期内能想到的最简单的事情。如果表现相关,请告诉我,我会给你另一种方法。

© www.soinside.com 2019 - 2024. All rights reserved.