clc;
clear;
a=imread('a.jpg');
a(a<150)=0;
a(a>150)=255;
[L,M,N]=size(a);
blkx=[];
blky=[];
for i=1:L;
if sum(a(i,fix(M/3):fix(2*M/3),2))<10;
blky=[blky,i];
end
end
for j=1:M;
if sum(a(fix(L/3):fix(2*L/3),j,2))<10;
blkx=[blkx,j];
end
for i=1:L
if a(i,j,1)~=255 | a(i,j,2)~=0 | a(i,j,3)~=0
a(i,j,:)=255;
end
end
end
b=rgb2gray(a);
b(b~=255)=0;
imshow(b)
for i=1:40
dx=(max(blkx)-min(blkx))/40;
xi(i)=fix(dx*i+min(blkx));
yi(i)=mean(find(b(:,xi(i))==0));
y(i)=1.5-1.5*(yi(i)-min(blky))/(max(blky)-min(blky));
end
其中a.jpg是网格图像
y就是你需要输出的结果 |