bwlabel函数c语言,bwlabel算法

Matlab中关于函数bwlabel(I_bw,8)和函数bwboundaries(I_bw,'noholes')问题 高手进来帮忙看看吧 谢谢了

BW =

创新互联公司是一家专注于网站设计、成都网站建设与策划设计,顺城网站建设哪家好?创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:顺城等地区。顺城做网站价格咨询:028-86922220

1 1 1 0 0 0 0 0

1 1 1 0 1 1 0 0

1 1 1 0 1 1 0 0

1 1 1 0 0 0 1 0

1 1 1 0 0 0 1 0

1 1 1 0 0 0 1 0

1 1 1 0 0 1 1 0

1 1 1 0 0 0 0 0

[L,num] = bwlabel(BW,8)

L =

1 1 1 0 0 0 0 0

1 1 1 0 2 2 0 0

1 1 1 0 2 2 0 0

1 1 1 0 0 0 2 0

1 1 1 0 0 0 2 0

1 1 1 0 0 0 2 0

1 1 1 0 0 2 2 0

1 1 1 0 0 0 0 0%%%对连通区域进行标记

num =

2 %%连通区域数目

B = bwboundaries(BW,'noholes')

B =

[19x2 double]

[14x2 double]%%%%B返回的是连通区域中边界的像素数,你的size(B),怎么会是135?

你把你的图像传上来,我看看!

求问一下下面的代码什么意思[L,num]=bwlabel(f,4); for i=1:num; [r,c]=find(L==i);

通过4连通计算f得到L,然后再所得到的L中找到等于i的位置,r为横坐标,c为纵坐标

matlab问题,我应该如何用bwlabel函数让图像中只剩最大的连通区域?

L=bwlabel(BW,4(或者8))

返回大小和输入矩阵BW相同的矩阵L

背景部分数值为0

其他连通部分根据不同的分块,给标记为1 ,2 ,3 ,...n

如果你知道你要的分块的标记数是x, 那么a=(L==x)就是你需要的部分为1,其他为0的逻辑矩阵

如果你想找最大的

那么

[L,num]=bwlabel(BW,4(或8));

x=zeros(1,num);

for ii=1:num

x(ii)=sum(sum(L==ii));

end

[m,ind]=max(x);

out=(L==ind);

C++关于RELEASE版中同一个函数两次调用计算结果不同的问题?DEBUG版结果正常。

检查一下project setting 中c/c++中的设置,是否一样。特别是code generation 中的字节对齐方式

如果所有设置都一样,那么就只能自己调试一下,数据和执行流程

release版本也可以定义调试的

名称栏目:bwlabel函数c语言,bwlabel算法
标题来源:https://www.cdcxhl.com/article44/hshhee.html

成都网站建设公司_创新互联,为您提供做网站品牌网站设计营销型网站建设标签优化网站内链网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发