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算法
浏览路径:http://myzitong.com/article/hshhee.html