索引超出矩阵维度 看了好多遍也没看出越界 求助
clc;clear;
a=imread('1.png');
subplot(2,3,1);imshow(a);
xlabel('(a)原始图像');
a=im2bw(a); %二值化
L=bwlabel(a); %把图像标记为矩阵
[l,w]=size(L); %得出矩阵长宽以便计算
a1=a; %后续有其他操作先使用a的一个副本
for k=1:w %扫描左边界中与边界融合的颗粒,以灰度值是否为0判断
if(L(k,1)~=0) %若检测到有与边界融合的颗粒置其灰度值为0设为背景
i=L(k,1);
a1(i)=0;
i=0;
end
end
for k=1:w %扫描右边界中与边界融合的颗粒,以灰度值是否为0判断
if(L(k,w)~=0)
i=L(k,w);
a1(i)=0;
i=0;
end
end
for k=1:l %扫描上边界中与边界融合的颗粒,以灰度值是否为0判断
if(L(1,k)~=0)
[i]=find(L==L(1,k));
% i=L(1,k);
a1(i)=0;
i=0;
end
end
for k=1:l %扫描下边界中与边界融合的颗粒,以灰度值是否为0判断
if(L(w,k)~=0)
i=L(w,k);
a1(i)=0;
i=0;
end
end
a1=a-a1; %减去无与边界融合在一起的颗粒得到仅与边界融合的颗粒
subplot(2,3,2);imshow(a1);
xlabel('(b)仅与边界融合在一起的颗粒');