文档

分水岭

分水岭变换

语法

L =分水岭(A)
L =分水岭(A,conn)

描述

例子

l=分水岭(一个返回一个标签矩阵l它确定了输入矩阵的分水岭区域一个,它可以有任何维度。分水岭变换通过将图像处理为一个表面,其中浅色像素代表高海拔,深色像素代表低海拔,从而在图像中找到“集水盆地”或“分水岭山脊线”。的元素l整数是否大于或等于0。标签上的元素0不属于一个独特的分水岭区域。标签上的元素1属于第一个流域,标记为2的元素属于第二个流域,依此类推。默认情况下,分水岭二维输入使用8连通的邻域,三维输入使用26连通的邻域。对于更高维度,分水岭使用给出的连接性conndef (ndims (A),“最大”)

l=分水岭(一个康涅狄格州指定要在分水岭计算中使用的连通性。

例子

全部折叠

计算分水岭变换,并将得到的标签矩阵显示为RGB图像。这个例子适用于2-D图像。

创建包含两个重叠圆形对象的二值图像并显示它。

Center1 = -10;Center2 = -center1;Dist =√(2*(2*center1)^2);半径= dist/2 * 1.4;Lims =[地板(中心1-1.2*半径)天花板(中心2+1.2*半径)];[x,y] = meshgrid(lims(1):lims(2));Bw1 =√((x-center1)。²+ (y-center1)^2) <= radius; bw2 = sqrt((x-center2).^2 + (y-center2).^2) <= radius; bw = bw1 | bw2; figure imshow(bw,“InitialMagnification”“健康”)、标题(“bw”

计算二值图像补的距离变换。

D = bwdist(~bw);图imshow (D, [],“InitialMagnification”“健康”)标题(“~bw的距离变换”

补充距离变换,并强制不属于对象的像素在

D = -d;D(~bw) = Inf;

计算分水岭变换,并将得到的标签矩阵显示为RGB图像。

L =分水岭(D);L(~bw) = 0;rgb = label2rgb(L,“喷气机”,(。5 .5 .5]);图imshow (rgb,“InitialMagnification”“健康”)标题(“D的分水岭改造”

制作包含两个重叠球体的三维二值图像。

Center1 = -10;Center2 = -center1;Dist =√(3*(2*center1)^2);半径= dist/2 * 1.4;Lims =[地板(中心1-1.2*半径)天花板(中心2+1.2*半径)];[x,y,z] = meshgrid(lims(1):lims(2));Bw1 =√((x-center1)。²+ (y-center1)^ 2 +...(z-center1).^2) <=半径;Bw2 =√((x-center2)。²+ (y-center2)^ 2 +...(z-center2).^2) <=半径;Bw = bw1 | bw2;图,等值面(x,y,z,bw,0.5),轴平等的、标题(“BW”)包含x, ylabely, zlabelzXlim (lims), ylim(lims), zlim(lims)视图(3),凸光灯,照明高洛德

计算距离变换。

D = bwdist(~bw);图,等值面(x,y,z,D,半径/2),轴平等的标题(“距离变换等值面”)包含x, ylabely, zlabelzXlim (lims), ylim(lims), zlim(lims)视图(3),凸光灯,照明高洛德

补充距离变换,强制非物体像素,然后计算流域变换。

D = -d;D(~bw) = Inf;L =分水岭(D);L(~bw) = 0;图等值面(x,y,z,L==1,0.5)等值面(x,y,z,L==2,0.5)轴平等的标题(“分段对象”)包含x, ylabely, zlabelzXlim (lims), ylim(lims), zlim(lims)视图(3),凸光灯,照明高洛德

输入参数

全部折叠

输入图像,指定为任何维度的实数、非稀疏、数值或逻辑数组。

例子:RGB = imread('pear .png');I = rgb2gray(RGB);

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

连接性,指定为该表中的值之一。

价值

意义

二维的连接性

4

四连接社区

8

8-connected附近

三维的连接性

6

6-connected附近

18

18-connected附近

26

26-connected附近

通过使用for,还可以以更通用的方式为任何维度定义连接性康涅狄格州一个3 × 3 ×…的-by-3矩阵0年代和1年代。1的中心元素定义邻域位置康涅狄格州,它必须围绕其中心元素对称。

请注意

如果指定非默认连接,则图像边缘上的像素可能不会被视为边界像素。例如,如果Conn = [0 0 0;1 1 1;0 0 0],第一行和最后一行的元素不被认为是边界像素,因为根据连接性定义,它们没有连接到图像外部的区域。

例子:L =分水岭(I,4);

数据类型:|逻辑

输出参数

全部折叠

标签矩阵,指定为无符号整数的数字数组。

提示

  • 此函数使用的分水岭变换算法在Image Processing Toolbox™软件的5.4 (R2007a)版本中更改。以前的算法偶尔会产生不相邻的标记流域。如果需要获得与前一算法相同的结果,请使用该函数watershed_old

算法

分水岭使用了Fernand Meyer算法[1]

参考文献

[1] Meyer,“地形距离和分水岭线”,《信号处理》,第38卷,1994年7月,第113-125页。

扩展功能

R2006a之前介绍过

这个话题有帮助吗?