文件帮助中心文件
二值图像的迹区域边界
B=BW边界(BW)
康涅狄格州B = bwboundaries (BW)
B=边界(边界、连接、选项)
[B, L] = bwboundaries (___)
[B,L,n,A]=bw(___)
例子
B.= bwboundaries(BW.)在二值图像中跟踪对象的外部边界以及这些对象内部孔的边界BW.。边界也下降到最外面的对象(父母),并跟踪他们的孩子(对象由父母完全封闭)。回报B.,边界像素位置的单元阵列。
B.= bwboundaries(BW.)
B.
BW.
边界
B.= bwboundaries(BW.那康涅狄格州)跟踪对象的外部边界,其中康涅狄格州指定跟踪父边界和子边界时要使用的连接。
B.= bwboundaries(BW.那康涅狄格州)
康涅狄格州
B.= bwboundaries(BW.那康涅狄格州那选择权)跟踪对象的外部边界,其中选择权要么“洞”或'noholes',确定是否要包括其他物体内孔的边界。
B.= bwboundaries(BW.那康涅狄格州那选择权)
选择权
“洞”
'noholes'
[B.那L.] = bwboundaries(___)返回一个标签矩阵L.标记对象和孔的位置。
[B.那L.] = bwboundaries(___)
L.
[B.那L.那N那一种]=边界(___)回报N,找到的对象数,以及一种,邻接矩阵。
[B.那L.那N那一种]=边界(___)
N
一种
全部崩溃
将灰度图像读取到工作区中。
I=imread(“rice.png”);
使用本地自适应阈值转换的灰度图像二值图像。
BW=imbinarize(I);
计算图像中区域的边界,并将边界覆盖在图像上。
[B,L]=BW边界(BW,'noholes');imshow(label2rgb(L,@jet,[0.5 0.5 0.5]))保持在…上为了k=1:长度(B)边界=B{k};绘图(边界(:,2),边界(:,1),'W'那“线宽”,2)结尾
将二进制图像读入工作区。
BW=imread('blobs.png');
在图像中的区域的边界计算。
[B,L,N,A] = bwboundaries(BW);
显示覆盖边界的图像。在每个边界旁边添加区域编号(基于标签矩阵)。使用缩放工具读取单个标签。
等待在…上;颜色=['B'“g”'R''C'“我是“是的”];为了k=1:length(B),boundary=B{k};cidx=mod(k,length(colors))+1;plot(boundary(:,2),boundary(:,1),......颜色(CIDX),“线宽”,2);%随机化文本位置以获得更好的可见性rndRow=ceil(长度(边界)/(mod(rand*k,7)+1));col=边界(rndRow,2);行=边界(rndRow,1);h=文本(列+1,行-1,num2str(行,列));设置(h,“颜色”,颜色(CIDX),'字体大小'14,'fontWeight设置'那'胆大');结尾
使用间谍功能。
间谍
图间谍(A);
计算边界。
[B,L,N] = bwboundaries(BW);
在绿色和红色边界孔Display对象边界。
等待在…上;为了k=1:长度(B),边界=B{k};如果(K> N)情节(边界(:,2),边界(:,1),“g”那“线宽”,2);其他的情节(边界(:,2),边界(:,1),'R'那“线宽”,2);结尾结尾
读出的图像到工作区。
在红色显示父边界及其在绿色的孔。
[B,L,N,A] = bwboundaries(BW);数字;等待在…上;%通过对象边界循环为了K = 1:N%边界K是空穴的父,如果第k列%邻接矩阵的A包含一个非零元素如果(NNZ(A(:,k))的> 0)边界= B {K};情节(边界(:,2),......边界(:,1),'R'那“线宽”,2);%遍历边界K的孩子为了升=发现(A(:,k))的”边界= B {1};情节(边界(:,2),......边界(:,1),“g”那“线宽”,2);结尾结尾结尾
二进制输入图像,指定为2-d的逻辑或数字矩阵。BW.必须是其中非零像素属于对象和零值像素构成的背景上的二进制图像。下图说明这些组件。
数据类型:单身的|双重的|INT8|int16|int32|int64|uint8.|uint16|UINT32|UINT64|逻辑
单身的
双重的
INT8
int16
int32
int64
uint8.
uint16
UINT32
UINT64
逻辑
8.
4.
像素连接性,指定为此表中的一个值。
价值
意思
二维连通性
4连通
如果他们边摸像素连接。两个相邻的象素是同一物体的一部分,如果它们都上并沿水平或垂直方向被连接。
8连通
如果像素的边或角接触,则它们是连接的。如果两个相邻像素都在同一对象上,并且沿水平、垂直或对角方向连接,则它们是同一对象的一部分。
数据类型:双重的
确定是否要搜索两个父母和孩子的界限,指定为以下几点:
选项
搜索对象边界和孔边界。这是默认值。
仅搜索对象(父母和子女)边界。这可以提供更好的性能。
数据类型:烧焦|细绳
烧焦
细绳
边界像素的行和列坐标,返回为P.×1单元阵列,其中P.是对象和孔的数量。在单元阵列中每个单元包含一个问:-by-2矩阵。矩阵中的每行包含一个边界象素的行和列坐标。问:是用于对应的区域边界的像素的数量。
连续区域的标签矩阵,作为非负整数的二维矩阵返回K.个区域包括的所有元素L.有价值的K..表示的对象和孔的数量L.等于MAX(L(:))。的零值元素L.构成背景。
MAX(L(:))
找到的对象数,作为非负整数返回。
边界与孔之间的父子相依,返回为正方形,疏,一流的逻辑矩阵双重的边长MAX(L(:))。行和列一种与存储在中的边界位置相对应B..第一N细胞B.是对象边界。A(i,j)=1装置,其目的一世为对象的子j…包围或被边界包围的边界K.个边界可以使用发现一种如下:
A(i,j)=1
一世
j
enclosing_boundary =查找(A(M,:));enclosed_boundaries =发现(A(:,米));
这边界函数实现由Jacob停止标准修改的Moore邻居跟踪算法界限第一版中介绍的函数基于MATLAB的数字图像处理,冈萨雷斯,R. C.,R. E.伍兹和S. L. Eddins,新泽西州,皮尔森Prentice Hall出版社,2004年。
界限
[1] 冈萨雷斯,R.C.,R.E.伍兹和S.L.埃丁,基于MATLAB的数字图像处理,新泽西州,皮尔森Prentice Hall出版社,2004年。
使用说明和限制:
边界金宝app支持生成C代码(需要MATLAB®编码员™)。请注意,如果你选择的通用MATLAB主机目标平台,边界生成使用预编译的特定于平台的共享库的代码。使用共享库可保留性能优化,但会限制可为其生成代码的目标平台。有关详细信息,请参阅使用代码生成一个共享库。
MATLAB主机
参数康涅狄格州必须是一个编译时间常数。
参数选择权必须是一个编译时间常数。
返回值一种只能是一个完整的矩阵,而不是一个稀疏矩阵。
bwlabel|bwlabeln|bwperim|bwtraceboundary
bwlabel
bwlabeln
bwperim
bwtraceboundary
您有此示例的修改版本。是否要用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系当地办事处