一段字符识别的算法实现,没看懂什么意思,有大侠指点下吗?
程序代码:
//开始识别 int Num1[4]={0}; //下行结果存储 int Num2[4]={0}; //上行结果存储 int Num[4]={0}; //存储最终结果 int Num3[4]={0}; //区别5和8的标记 int count=0; //计数器 int m=4; //从0开始的 int x=0; int y=0; for (int n=7; n<fileinfo.biWidth;n++) //下面一行 { if(rgb[m*fileinfo.biWidth+n].rgbtRed==0 && y<3) { x=x+1; } else { if(x >=2) { while(Num1[y]!=0) { y=y+1; } Num1[y]=x; x=0; } } } m=fileinfo.biHeight-4; //上面一行 x=0; y=0; for (int a=7; a<fileinfo.biWidth;a++) { if(rgb[m*fileinfo.biWidth+a].rgbtRed==0 && y<3) { x=x+1; } else { if(x >=2) { while(Num3[y]!=0) { y=y+1; } Num3[y]=x; x=0; } } } m=fileinfo.biHeight-5; x=0; y=0; for (int c=7; c<fileinfo.biWidth;c++) //中间一行 { if(rgb[m*fileinfo.biWidth+c].rgbtRed==0 && y<3) { x=x+1; } else { if(x >=2) { while(Num2[y]!=0) { y=y+1; } Num2[y]=x; x=0; } } } for(int z=0;z<4;z++) { if(Num1[z]==3 &&Num3[z]==3) { Num[z]=0; } if(Num1[z]==8 &&Num3[z]==3) { Num[z]=1; } if(Num1[z]==8 && Num3[z]==5) { Num[z]=2; } if(Num1[z]==5 &&Num3[z]==5 && Num2[z]==8) { Num[z]=3; } if(Num1[z]==2 &&Num3[z]==2) { Num[z]=4; } if(Num1[z]==5 && Num3[z]==8 ) { Num[z]=5; } if(Num1[z]==4 &&Num3[z]==4 && Num2[z]==6) { Num[z]=6; } if(Num1[z]==2 &&Num3[z]==8) { Num[z]=7; } if(Num1[z]==5 &&Num3[z]==5 && Num2[z]==7) { Num[z]=8; } if(Num1[z]==4 && Num3[z]==4 &&Num2[z]==7) { Num[z]=9; } }