📄 bihua22.m
字号:
function [Ahen,Ashu]=bihua22(A)
A1=A;
[m,n,l]=size(A1);
A3=(A1);
A2=A3;
for i=1:m
for j=1:n
if A2(i,j)>100
A2(i,j)=255;
else
A2(i,j)=0;
end
end
end
%%%计算重心
zx=A2;
fp=0;xfz=0;
yfz=0;
for i=1:m
for j=1:n
fp=double(fp)+double(zx(i,j)) ;
xfz=double(xfz)+i*double(zx(i,j));
yfz=double(yfz)+j*double(zx(i,j));
end
end
xp=round(xfz/fp);
yp=round(yfz/fp);
for i=1:m
for j=1:n
if A2(i,j)>200
A2(i,j)=255;
else
A2(i,j)=10;
end
end
end
A2;
%%%%提取横
d=0;
bb=zeros(m,n);
for i=1:m
for j=1:n
aa=A2(i,j);
if aa >200
d=d+1;
end
if d>0 && (aa<200)
if d>(n*2/8)
if j<d ,
jjj=n+1;
iii=i-1;
d=n;
else
jjj=j;
iii=i;
end
for k=d:-1:1
bb(iii,jjj-k)=255;
end
end
d=0;
end
end
end
d=0;iih=0;kdh=0;
for j=1:n
for i=1:m
if bb(i,j)>200
d=d+1;
end
if d>0 && (bb(i,j)<200) %&&bbs(i,j)>20 )
iih=iih+1;
kdh=kdh+d;
d=0;
end
end
end
% if iih>0
kuanh=round(double(kdh)/double(iih));
% end
dh=0;
for j=1:n
for i=1:m
if bb(i,j)>200
dh=dh+1;
end
if dh>0 && (bb(i,j)<200)
if dh<kuanh %|| d>double(kuan) +2
for k=dh:-1:1
bb(i-k,j)=0;
end
end
dh=0;
end
end
end
end
%%%%%%%%%%%%提取竖
ds=0;
bbs=zeros(m,n);
for j=1:n
for i=1:m
aas=A2(i,j);
if aas >200
ds=ds+1;
end
if ds>0 && (aas<200)
if ds>(m*2/12)
if ds >i ,
iii=m+1;
jjj=j-1;
ds=n;
else
iii=i;
jjj=j;
end
for ks=ds:-1:1
bbs(iii-ks,jjj)=255;
end
end
ds=0;
end
end
end
bbs;
d=0;ii=0;kd=0;
for i=1:m
for j=1:n
if bbs(i,j)>200
d=d+1;
end
if d>0 && (bbs(i,j)<200) %&&bbs(i,j)>20 )
ii=ii+1;
kd=kd+d;
d=0;
end
end
end
kuan=round(double(kd)/double(ii));
d=0;
for i=1:m
for j=1:n
if bbs(i,j)>200
d=d+1;
end
if d>0 && (bbs(i,j)<200)
if d<kuan
for k=d:-1:1
bbs(i,j-k)=0;
end
end
d=0;
end
end
end
end
%%%%%%%提取横竖的交点
for j=1:n
for i=1:m
% cc11(i,j) = double(A2(i,j))-double(bb(i,j))-double(bbs(i,j));
cc(i,j)=double(A2(i,j))*2-double(bb(i,j))-double(bbs(i,j));
if cc(i,j)==0
cc(i,j)=255;
else
cc(i,j)=0;
end
end
end
cc;
cc(xp,yp)=255;
%%%%%%%横竖后的剩余的部分
for i=1:m
for j=1:n
cc11(i,j) = (double(zx(i,j))-double(bb(i,j))-double(bbs(i,j)));
end
end
Ahen=bb;
Ashu=bbs;
% figure(999),imshow(bb);
% figure(888),imshow(bbs);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -