Matlab mathworks.com上的二维流域示例
在Mathworks.com上可以总结如下:Matlab mathworks.com上的二维流域示例,matlab,image-processing,image-segmentation,watershed,Matlab,Image Processing,Image Segmentation,Watershed,在Mathworks.com上可以总结如下: bw = imread('someImage.tif'); D = -bwdist(~bw); D(~bw) = -Inf; L = watershed(D); 我不太明白为什么D(~bw)=-Inf在这里是必需的,它强制不属于对象的像素位于-Inf(最初为零) 我试着在没有那个语句的情况下运行这个程序,结果令人困惑。为什么为了分水岭得到正确的结果,必须强制这些像素为-Inf 正如Frederick所指出的,我使用了surf在这里绘制曲面,
bw = imread('someImage.tif');
D = -bwdist(~bw);
D(~bw) = -Inf;
L = watershed(D);
我不太明白为什么D(~bw)=-Inf代码>在这里是必需的,它强制不属于对象的像素位于-Inf(最初为零)
我试着在没有那个语句的情况下运行这个程序,结果令人困惑。为什么为了分水岭得到正确的结果,必须强制这些像素为-Inf
正如Frederick所指出的,我使用了surf
在这里绘制曲面,
在运行D(~bw)=-Inf之前代码>,结果是:
运行后,结果是:
-Inf
增强连接组件和背景之间的对比度。否则,“分水岭”很可能会将具有单个连接组件的所有背景合并到一个区域。实际上,-Inf
设置将完全消除感兴趣区域的背景。用你的电脑查看-Inf
对分段的影响。如果设置D(~bw)=0代码>,您将获得: