主要内容

BwtraceBoundary.

二进制图像中的跟踪对象

描述

B.= bwtraceboundary(BW.P.FSTEP.在二进制图像中追踪对象的轮廓BW.。非零像素属于对象,零值像素构成背景。P.指定对象边界上的点的行和列坐标,其中您希望跟踪开始。FSTEP.指定连接到的下一个对象像素的初始搜索方向P.B.保存该区域的边界像素的行和列坐标。

B.= bwtraceboundary(BW.P.FSTEP.骗子追溯边界,在哪里骗子指定所需的连接。

例子

B.= bwtraceboundary(BW.P.FSTEP.骗子m谜语指定m,提取的最大边界像素数,以及谜语,追踪边界的方向。默认情况下,BwtraceBoundary.识别边界上的所有像素。

例子

全部收缩

读取图像并显示它。

bw = imread('blobs.png');imshow(bw)

图包含轴。轴包含类型图像的对象。

在图像中选择一个对象并跟踪边界。要选择一个对象,请在其边界上指定像素。此示例使用使用目视检查使用的厚白圆边界上的像素的坐标Impixelinfo.。默认情况下,BwtraceBoundary.识别边界上的所有像素。

R1 = 163;C1 = 37;轮廓= BwtraceBoundary(BW,[R1 C1],'W');

绘制图像上的轮廓。

抓住绘图(轮廓(:,2),轮廓(:,1),'G''行宽'2)

图包含轴。轴包含2个类型图像的对象,线。

在第二个对象的边界上选择一个点。此示例使用最大矩形的左上角附近的像素附近的坐标。沿顺时针方向追踪前五十边界像素。

R2 = 68;C2 = 95;contourcw = bwtraceboundary(bw,[r2 c2],'W',8,50,'顺时针');

从第二对象边界的相同点开始,追踪逆时针方向的前五十边界像素。

contourccw = bwtraceboundary(bw,[r2 c2],'W',8,50,'逆时针');

以红色的图像上顺时针轮廓绘制。在蓝色的图像上绘制逆时针方面轮廓。

绘图(Contourcw(:,2),contourcw(:,1),'r''行宽',2)绘图(Contourccw(:,2),contourccw(:,1),'B''行宽'2)

图包含轴。轴包含4个类型图像的物体,线。

输入参数

全部收缩

二进制图像,指定为2-D数字或逻辑矩阵。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|逻辑

在对象边界上的起点坐标,其中您希望追踪开始,指定为格式的2元素向量[行列]

数据类型:双倍的

连接到下一个对象像素的初始搜索方向P.,指定为字符向量或字符串标量,如图中所示。

笔记

当连接时骗子4.FSTEP.仅限于价值观'n''e'', 和'W'

数据类型:char|细绳

像素连接,指定为8.或者4.

价值

意义

二维连接

4联网

如果它们的边缘触摸,则像素连接。像素的附近是水平或垂直方向上的相邻像素。

8-连接

如果它们的边缘或角落触摸,则像素连接。像素的附近是水平,垂直或对角线方向上的相邻像素。

数据类型:双倍的

要提取的最大边界像素数,指定为正整数。默认情况下,mINF.BwtraceBoundary.识别边界上的所有像素。

数据类型:双倍的

追踪边界的方向,指定为'顺时针'或者'逆时针'

数据类型:char|细绳

输出参数

全部收缩

该区域的边界像素的行和列坐标,作为a返回问:- 2矩阵。每一行B.有形式[行列]

算法

BwtraceBoundary.函数实现了Jacob停止标准修改的Moore邻居跟踪算法。此功能基于界限第一版中呈现的功能使用MATLAB的数字图像处理,由Gonzalez,R.C.,R. E. Woods和S. L.Eddins,新泽西州,Pearson Prentice Hall,2004年。

参考

[1] Gonzalez,R.C.,R.E.Poods和S. L. Eddins,使用MATLAB的数字图像处理,Pearson Prentice Hall,2004年新泽西州。

扩展能力

也可以看看

|

在R2006A之前介绍