主要内容

bwboundaries

在二进制图像跟踪区域边界

描述

例子

B= bwboundaries (BW)跟踪对象的外部边界,以及洞在这些对象的边界,在二进制图像BWbwboundaries也陷入最外层的对象(父母)和跟踪他们的孩子由父母)(对象完全封闭。返回B单元阵列的边界像素的位置。

B= bwboundaries (BW,康涅狄格州)跟踪对象的外部边界,康涅狄格州父母和孩子指定连接时使用跟踪的边界。

例子

B= bwboundaries (BW,康涅狄格州,选项)跟踪对象的外部边界,选项要么是“黑洞”“noholes”,指定是否要包括洞内其他对象的边界。

例子

(B,l)= bwboundaries (___)返回一个标签矩阵l对象和孔标记的地方。

例子

(B,l,n,一个)= bwboundaries (___)返回n,发现对象的数量一个,一个邻接矩阵。

例子

全部折叠

灰度图像读入工作区。

我= imread (“rice.png”);

将灰度图像转换成二进制映像使用局部自适应阈值。

BW = imbinarize(我);

计算图像的边界地区,覆盖图像的边界。

[B, L] = bwboundaries (BW,“noholes”);imshow (label2rgb (L, @jet,。5。5。5))k = 1:长度(B)边界= B {k};情节(边界(:,2),边界(:1),' w ',“线宽”,2)结束

图包含一个坐标轴对象。坐标轴对象包含152个对象类型的形象,线。

读二进制图像到工作区中。

BW = imread (“blobs.png”);

计算图像的边界地区。

[B, L, N] = bwboundaries (BW);

显示图像的边界上。添加该地区号码旁边的每一个边界(基于矩阵的标签)。使用缩放工具来阅读个人标签。

imshow (BW);持有;颜色= [“b”‘g’“r”“c”“米”“y”];k = 1:长度(B),边界= B {k};cidx =国防部(k,长度(颜色))+ 1;情节(边界(:,2),边界(:1),颜色(cidx),“线宽”2);%随机文本位置更好的可见性rndRow =装天花板(长度(边界)/ (mod(兰德* k, 7) + 1));坳=边界(rndRow, 2);行=边界(rndRow, 1);h =文本(col + 1,第一行,num2str (L(行,上校)));集(h,“颜色”、颜色(cidx),“字形大小”14岁的“FontWeight”,“大胆”);结束

图包含一个坐标轴对象。坐标轴对象包含79个对象类型的形象,行文本。

显示使用的邻接矩阵间谍函数。

图间谍(A);

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

二进制图像读入工作区。

BW = imread (“blobs.png”);

计算边界。

[B, L, N] = bwboundaries (BW);

显示对象的边界在绿色红色和洞边界。

imshow (BW);持有;k = 1:长度(B),边界= B {k};如果(k > N)情节(边界(:,2),边界(:1),‘g’,“线宽”2);其他的情节(边界(:,2),边界(:1),“r”,“线宽”2);结束结束

图包含一个坐标轴对象。坐标轴对象包含40图像类型的对象,线。

图像读入工作区。

BW = imread (“blobs.png”);

显示父边界在红色和绿色的漏洞。

[B, L, N] = bwboundaries (BW);图;imshow (BW);持有;%遍历对象边界k = 1: N%边界k是如果k列的父一个洞%的邻接矩阵包含一个非零元素如果(nnz ((:, k)) > 0)边界= B {k};情节(边界(:,2),边界(:1),“r”,“线宽”2);%循环边界k的孩子l =找到((:,k))的边界= B {l};情节(边界(:,2),边界(:1),‘g’,“线宽”2);结束结束结束

图包含一个坐标轴对象。坐标轴对象包含23个图像类型的对象,线。

输入参数

全部折叠

二进制输入图像,指定为一个二维的逻辑或数字矩阵。BW必须是一个二进制图像,非零像素属于一个对象和新鲜感像素构成的背景。下图说明了这些组件。

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

像素连接,指定为这个表中的值之一。

价值

意义

二维的连接性

4

边缘像素连接如果他们的联系。两个相邻的像素是相同的对象如果他们都和沿水平或垂直方向连接。

中心像素连接四个像素

当前像素显示在灰色。

8

像素连接如果边缘或角落联系。两个相邻像素属于同一对象如果他们都是沿着水平和连接,垂直或对角线方向。

中心像素与8个像素

当前像素显示在灰色。

数据类型:

确定搜索两个父母和孩子边界,指定为以下:

选项

意义

“黑洞”

搜索对象和洞边界。这是默认的。

“noholes”

只搜索对象(父母和孩子)边界。这可以提供更好的性能。

数据类型:字符|字符串

输出参数

全部折叠

行和列的边界像素的坐标,作为一个返回p1单元阵列,p是对象的数量和漏洞。单元阵列中的每个单元格都包含一个2矩阵。矩阵中的每一行包含行和列的边界像素的坐标。是相应地区的边界像素的数量。

标签矩阵的连续区域,作为一个二维矩阵的非负整数返回。的k地区包括所有元素l有价值的k。由对象的数量和漏洞l等于马克斯(L (:))。的新鲜感元素l构成了背景。

数据类型:

返回的对象发现,数作为一个非负整数。

数据类型:

亲子边界和孔之间的依赖关系,作为一个正方形,返回稀疏,逻辑矩阵类边的长度马克斯(L (:))。的行和列一个对应的位置存储在边界B。第一个n细胞B是对象的边界。(i, j) = 1意味着对象是一个孩子的对象吗j。。边界封闭或封闭的kth边界可以发现使用一个如下:

enclosing_boundary =找到((m,:));enclosed_boundaries =找到((:,m));

算法

bwboundaries函数实现了Moore-Neighbor跟踪算法修改雅各布的停止标准。这个函数是基于边界函数在第一版使用MATLAB数字图像处理冈萨雷斯,r . C。,R. E. Woods, and S. L. Eddins, New Jersey, Pearson Prentice Hall, 2004.

引用

[1]冈萨雷斯,r . C。,R. E. Woods, and S. L. Eddins,使用MATLAB数字图像处理新泽西,普伦蒂斯霍尔出版社,2004。

扩展功能

版本历史

之前介绍过的R2006a