文档帮助中心文档
使用基于测地距离的颜色分割将图像分割为两个或三个区域
L = imseggeodesic (RGB, BW1 BW2)
L=imSeg测地线(RGB,BW1,BW2,BW3)
(L P) = imseggeodesic (___)
(L P) = imseggeodesic (___,名称,值)
例子
l=不连续测地线(RGB,BW1,BW2)分割彩色图像RGB,返回带标签的分割二值图像l.BW1和BW2指定初始种子区域位置的二值图像是否称为涂鸦,用于两个区域(前景和背景)。
l=不连续测地线(RGB,BW1,BW2)
l
RGB
BW1
BW2
imseggeodesic使用中指定的涂鸦BW1和BW2作为代表性样本,用于计算各自区域的统计信息,然后用于分割BW1和BW2(逻辑上为真的区域)不应重叠。底层算法使用由涂鸦标记的区域估计的统计数据进行分割。被涂鸦标记的像素越多,区域统计的估计就越准确,这通常会导致更精确的分割。因此,提供尽可能多的涂鸦是一个很好的实践。通常,为每个区域提供至少几百个像素作为涂鸦。
imseggeodesic
l=不连续测地线(RGB,BW1,BW2,BW3)分割彩色图像RGB,返回带有标签矩阵指定的区域标签的三段分割图像(三元分割)l.BW1,BW2和BW3是指定初始种子区域或三个区域的涂鸦位置的二进制图像。由指定的涂鸦BW1,BW2和BW3(逻辑上为真的区域)不应重叠。
l=不连续测地线(RGB,BW1,BW2,BW3)
BW3
[l,P]=不连续测地线(___)也返回属于矩阵中每个标签的每个像素的概率P.
[l,P]=不连续测地线(___)
P
[l,P]=不连续测地线(___,名称、值)使用名称-值对来控制分段的各个方面。
[l,P]=不连续测地线(___,名称、值)
名称、值
全部崩溃
读取并显示图像。
RGB=imread(‘yellowlily.jpg’);imshow (RGB)
目标是分割花瓣绘图矩形函数。以红色显示ROI。“位置”名称-值对参数将ROI的左上角坐标、宽度和高度指定为4元素向量[xmin,ymin,宽度,高度].如果想以交互方式绘制矩形,则省略'Position'名称-值对参数。
绘图矩形
[xmin,ymin,宽度,高度]
roiObject=绘图矩形(gca,“位置”,[350 700 375 120],“颜色”,“r”);
将背景的初始种子区域指定为矩形ROI。以蓝色显示ROI。
roiBackground = drawrectangle (gca),“位置”,[90 1230 910 190],“颜色”,“b”);
为ROI所在的每个ROI创建掩码符合事实的其他像素是错误的.
符合事实的
错误的
maskObject=createMask(roiObject);maskBackground=createMask(roiBackground);
段的图像。
[L,P]=imSeg测地线(RGB、maskObject、maskBackground);
显示分段标签。
imshow (label2rgb (L)标题(“分段标签”)
在原始图像上显示分段标签。
L) imshow (labeloverlay (RGB)标题(“标签覆盖在原始图像上”)
第一个区域是黄色的花瓣。方法指定初始种子区域为矩形ROI绘图矩形函数。用黄色画ROI。“Position”名称-值对参数指定ROI的左上角坐标、宽度和高度作为4元素向量[xmin,ymin,宽度,高度].如果想以交互方式绘制矩形,则省略'Position'名称-值对参数。
r1 = drawrectangle (gca),“位置”,[350 700 425 120],“颜色”,“是的”);
第二个区域由绿叶组成。将种子区域指定为矩形ROI,并用红色绘制ROI。
r2=拉深矩形(gca,“位置”,[800 1124 120 230],“颜色”,“r”);
第三个区域是背景,也就是图像中的污垢。指定种子区域为矩形ROI,并用蓝色绘制ROI。
r3 = drawrectangle (gca),“位置”,[1010 290 180 240],“颜色”,“b”);
mask1 = createMask (r1);mask2 = createMask (r2);mask3 = createMask (r3);
[L,P]=imseg测地线(RGB,mask1,mask2,mask3,“AdaptiveChannelWeighting”,真正的);
L) imshow (labeloverlay (RGB)标题(“具有三个区域的分割图像”)
图像右下角被错误分类为区域2(叶子)。添加另一个背景ROI。
r4=拉伸矩形(gca,“位置”,[20 1320 480 200],“颜色”,“b”);
mask4 = createMask (r4);maskBackground = mask3 + mask4;
分割图像,然后将分割后的标签显示在原始图像上。
[L,P]=ImSeg测地线(RGB,mask1,mask2,maskBackground,“AdaptiveChannelWeighting”,真正的);L) imshow (labeloverlay (RGB)标题(“具有三个区域的细化分割图像”)
显示每个像素属于每个标签的概率。
蒙太奇(P,“尺寸”3[1])标题('每个像素属于每个标签的概率')
要分割的图像,指定为RGB图像。imseggeodesic在执行分割之前,将输入RGB图像转换为YCbCr颜色空间。
例子:RGB = imread(“peppers.png”);
RGB = imread(“peppers.png”);
数据类型:双重的|uint8|uint16
双重的
uint8
uint16
第一个区域的涂鸦图像,指定为逻辑矩阵。BW1必须具有与输入图像相同的行数和列数RGB。要以交互方式创建涂鸦,请首先使用以下功能绘制ROI:drawcircle,手绘,drawpolygon,或绘图矩形.然后,创建一个蒙版从ROI使用createMask.
drawcircle
手绘
drawpolygon
createMask
数据类型:逻辑
逻辑
第二个区域的涂鸦图像,指定为逻辑矩阵。BW2必须具有与输入图像相同的行数和列数RGB。要以交互方式创建涂鸦,请首先使用以下功能绘制ROI:drawcircle,手绘,drawpolygon,或绘图矩形.然后,创建一个蒙版从ROI使用createMask.
第三个区域的涂鸦图像,指定为逻辑矩阵。BW3必须具有与输入图像相同的行数和列数RGB。要以交互方式创建涂鸦,请首先使用以下功能绘制ROI:drawcircle,手绘,drawpolygon,或绘图矩形.然后,创建一个蒙版从ROI使用createMask.
指定可选的逗号分隔的对名称、值论据。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:名称1,值1,…,名称,值.
的名字
价值
名称1,值1,…,名称,值
[L,P]=imSeg测地线(RGB,BW1,BW2,BW3,'AdaptiveChannel Weighting',真);
自适应信道加权
使用自适应通道加权,指定为逻辑标量。当符合事实的,imseggeodesic根据通道中对分割有用的歧视性信息(基于作为输入提供的涂鸦)的数量对通道进行权重。当错误的(违约),imseggeodesic所有通道的权重相等。
标记矩阵,作为非负整数矩阵返回。标记的像素0背景和像素被标记了吗1识别一个分割区域。像素标记2在三叉分割中识别另一个分割区域。
0
1
2
数据类型:双重的
像素属于标记区域的概率,指定为米-借-N-by-2矩阵用于二进制分割或米-借-N-用于三元分割的by-3矩阵。米和N是输入图像中的行数和列数。P(i,j,k)指定位置上像素的概率(i,j)属于标签k.
P(i,j,k)
(i,j)
k
两个(或三个)区域的涂鸦不应相互重叠。每个涂鸦矩阵(BW1,BW2和BW3)应该是非空的,也就是说,应该至少有一个像素(虽然越多越好)标记为逻辑符合事实的在每一幅涂鸦中。
imseggeodesic使用基于测地距离的颜色分割算法(类似于[1]).
A. Protiere和G. Sapiro,基于自适应加权距离的交互式图像分割,IEEE图像处理学报,第16卷,2007年第4期。
activecontour|彩色脱粒机|imsegfmm|rgb2ycbcr
activecontour
imsegfmm
rgb2ycbcr
您有此示例的修改版本。是否要用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处