📄 comptestshape.m
字号:
%%%%%% 计算检测 字符的形状上下文
StartNum=[ 7 29 14 5 4 2 11 44 7 7 10 5 9 4 13 10 40 9 25 4 3 6 3 3 3 5 3 3 5 3 4 11 37 3 5 10 3 3]+1; %% 待检测图像起始编号
TestEnd= [21 49 19 10 5 3 27 54 13 14 20 10 19 8 33 31 58 17 35 9 5 14 5 5 6 11 5 5 10 4 8 25 61 5 10 21 4 5]; %% 待检测图像结束编号
Serial=16;
for Kind=Serial:Serial
TestHist=zeros(18,TestEnd(Kind)-StartNum(Kind)+1);
if Kind==1
Count=0;
for i=StartNum(Kind):TestEnd(Kind) %% 根据图像编号读入图像
Count=Count+1;
Pic=imread(['D:\王浩\测试\0-1\0-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic); %% 图像二值化
[x,y]=Center(Pic); %% 得到图像重心
TempContext=CompContext(BinaryPic,x,y); %% 计算形状上下文
% figure,plot(TempContext)
TestHist(:,Count)=TempContext; %% 按照图像编号将计算结果保存到相应的列
end
TestHist_0_1=TestHist;
save('TestHist-0-1.mat','TestHist_0_1'); %% 将计算结果保存为文件
end
if Kind==2
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\0-2\0-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_0_2=TestHist;
save('TestHist-0-2.mat','TestHist_0_2');
end
if Kind==3
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\101-1\101-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_101_1=TestHist;
save('TestHist-101-1.mat','TestHist_101_1');
end
if Kind==4
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\101-2\101-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_101_2=TestHist;
save('TestHist-101-2.mat','TestHist_101_2');
end
if Kind==5
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\102-1\102-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_102_1=TestHist;
save('TestHist-102-1.mat','TestHist_102_1');
end
if Kind==6
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\102-2\102-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_102_2=TestHist;
save('TestHist-102-2.mat','TestHist_102_2');
end
if Kind==7
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\103-1\103-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_103_1=TestHist;
save('TestHist-103-1.mat','TestHist_103_1');
end
if Kind==8
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\103-2\103-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_103_2=TestHist;
save('TestHist-103-2.mat','TestHist_103_2');
end
if Kind==9
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\104\104-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_104=TestHist;
save('TestHist-104.mat','TestHist_104');
end
if Kind==10
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\105\105-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_105=TestHist;
save('TestHist-105.mat','TestHist_105');
end
if Kind==11
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\153\153-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_153=TestHist;
save('TestHist-153.mat','TestHist_153');
end
if Kind==12
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\181\181-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_181=TestHist;
save('TestHist-181.mat','TestHist_181');
end
if Kind==13
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\182\182-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_182=TestHist;
save('TestHist-182.mat','TestHist_182');
end
if Kind==14
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\183\183-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_183=TestHist;
save('TestHist-183.mat','TestHist_183');
end
if Kind==15
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\221\221-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_221=TestHist;
save('TestHist-221.mat','TestHist_221');
end
if Kind==16
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\222-1\222-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_222_1=TestHist;
save('TestHist-222-1.mat','TestHist_222_1');
end
if Kind==17
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\222-2\222-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_222_2=TestHist;
save('TestHist-222-2.mat','TestHist_222_2');
end
if Kind==18
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\223-1\223-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_223_1=TestHist;
save('TestHist-223-1.mat','TestHist_223_1');
end
if Kind==19
Count=0;
for i=StartNum(Kind):TestEnd(Kind)
Count=Count+1;
Pic=imread(['D:\王浩\测试\223-2\223-',num2str(i),'对齐.bmp']);
BinaryPic=OstuBinary(Pic);
[x,y]=Center(Pic);
TempContext=CompContext(BinaryPic,x,y);
% figure,plot(TempContext)
TestHist(:,Count)=TempContext;
end
TestHist_223_2=TestHist;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -