matlab 边缘追踪

bwtraceboundary函数用于追踪二值图像中单个边界。

例如,B = bwtraceboundary(BW, P,fstep) ,用来跟踪二值图像BW中的对象的轮廓。非零像素表示对象,零像素构成背景。

参数P是一个指定行、列坐标的二元矢量,表示对象边界上你想开始跟踪的那个点。fstep表示初始查找方向,用于寻找对象中与P相连的下一个像素。例如,字符串“N”表示north,“NE”表示northeast,以指定方向,当然,除N、NE外,还有其它几个方向。

bwtraceboundary返回值B,一个Q X 2的矩阵,Q是区域边界像素的数量。B保存有边界像素的行、列坐标。
bwtraceboundary函数的语法如下: ``` [B, L, N, D] = bwtraceboundary(BW, P, DIRECTION, CONNECTIVITY, MAXIMUMLENGTH, DTYPE) ``` 其中,输入参数的含义如下: - BW:二值图像,可以是逻辑或数值类型的矩阵。 - P:起始点的坐标,形式为[x0, y0]。 - DIRECTION:跟踪的方向,可以是字符串'cw'(顺时针)或'ccw'(逆时针)。默认为'cw'。 - CONNECTIVITY:连接方式,可以是4或8。默认为8。 - MAXIMUMLENGTH:跟踪的边界长度的最大值,超过该值后将停止跟踪。默认为Inf。 - DTYPE:输出矩阵的数据类型,可以是'single'、'double'、'int16'、'uint16'、'int32'或'uint32'。默认为与输入图像相同的数据类型。 输出参数的含义如下: - B:边界像素的坐标,形式为[N×2]的矩阵,其中N为边界像素的数量。 - L:边界像素的线性索引,形式为[N×1]的向量。 - N:边界像素的数量。 - D:跟踪的方向,可以是1(向右)、2(向下)、3(向左)或4(向上)。 使用bwtraceboundary函数时,需要注意以下几点: - 如果指定了起始点,则跟踪的边界将从该点开始。 - 如果没有指定起始点,则函数会自动查找第一个非零像素作为起始点。 - 如果指定了跟踪的方向,则函数将沿指定方向跟踪边界,直到回到起始点或达到最大长度。 - 如果没有指定跟踪的方向,则函数将在每个像素周围搜索下一个非零像素,并按顺序跟踪边界。 - 函数返回的边界像素坐标是按行优先顺序排列的,即先按行排列,再按列排列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值