}
if(bitInfoHead.biBitCount==2){ for(int i=0;i
} }
if(bitInfoHead.biBitCount == 4){ for(int i=0;i
if(bitInfoHead.biBitCount == 8){ for(int i=0;i 39 BYTE mixIndex= 0; k = i*l_width + j; mixIndex = pColorData[k]; dataOfBmp[index].rgbRed = pRgb[mixIndex].rgbRed; dataOfBmp[index].rgbGreen = pRgb[mixIndex].rgbGreen; dataOfBmp[index].rgbBlue = pRgb[mixIndex].rgbBlue; dataOfBmp[index].rgbReserved = pRgb[mixIndex].rgbReserved; index++; } } if(bitInfoHead.biBitCount == 16){ for(int i=0;i zuocnt = 0; youcnt = 0; for(unsigned int i=width*height;i>0;i--){ if(i % width == 0){ if((unsigned char)dataOfBmp[i].rgbRed<=0x00){ zuo[zuocnt++] = (unsigned int)(i/width); } } if(i % width == (width - 1)){ if((unsigned char)dataOfBmp[i].rgbRed<=0x00){ you[youcnt++] = (unsigned int)(i/width); } } if(i / width == 0){ if((unsigned char)dataOfBmp[i].rgbRed<=0x00){ xia[xiacnt++] = i; } } 40 if(i / width == (height - 1)){ if((unsigned char)dataOfBmp[i].rgbRed<=0x00){ shang[shangcnt++] = i - width * (height-1); } } } zuocnt = 0; youcnt = 0; //putchar(0x0a); /* for(i=0;i<100;i++){ printf(\ \ } putchar(0x0a); for(i=0;i<100;i++){ printf(\ \ } */ //showBmpInforHead(&bitInfoHead); fclose(pfile); fclose(put); if (bitInfoHead.biBitCount<24) { free(pRgb); } free(dataOfBmp); free(pColorData); //printf(\} unsigned char cmpare(unsigned int * a,unsigned int *b){ unsigned int i,j; unsigned int cmpcnt=0,pipeicnt=0; for(i=0;i<100;i++){ if(a[i]==0){ //printf(\ return (unsigned char)(((double)pipeicnt/(double)cmpcnt) * 100); }else{ cmpcnt++; } for(j=0;j<100;j++){ if(fabs(a[i] - b[j]) <=0){ pipeicnt++; break; } } } //printf(\ return (unsigned char)(((double)pipeicnt/(double)cmpcnt) * 100); } unsigned char cmp(unsigned int * a,unsigned int *b){ unsigned int temp1,temp2; temp1 = cmpare(a,b); temp2 = cmpare(b,a); if(temp1 > temp2){ return temp2; }else{ return temp1; 41 } } void initprint(unsigned int a){ if(a <209){ printf(\ }else{ printf(\ } } void main(){ unsigned int i,j; unsigned int temp=0,temp3 = 0;; unsigned int pipeitemp[100],pipeicnt=0; unsigned int a,b,zuijiapipei,hh; for(i=0;i<209;i++){ initfile(strFilea[i],zuoshuzu[i],youshuzu[i],shangshuzu[i],xiashuzu[i]); //initfile(strFileb[i],zuoshuzu[i],youshuzu[i],shangshuzu[i],xiashuzu[i]); } for(i=0;i<209;i++){ //initfile(strFilea[i],zuoshuzu[i],youshuzu[i],shangshuzu[i],xiashuzu[i]); initfile(strFileb[i],zuoshuzu[i+209],youshuzu[i+209],shangshuzu[i+209],xiashuzu[i+209]); } for(i=0;i<209*2;i++){ temp = 0;temp3=0;pipeicnt=0;a=b=0;zuijiapipei = 0;hh=0; for(j=0;j<209*2;j++){ temp = cmp(youshuzu[i],zuoshuzu[j]); if (temp >= 30){ pipeitemp[pipeicnt++] = j; } } for(j=0;j 42