2013年全国数学建模大赛获奖论文碎纸片的拼接复原 - 图文(9)

2019-08-03 14:46

}

if(bitInfoHead.biBitCount==2){ for(int i=0;i>6; break; case 1: mixIndex = mixIndex<<4; mixIndex = mixIndex>>6; break; case 2: mixIndex = mixIndex<<2; mixIndex = mixIndex>>6; break; case 3: mixIndex = mixIndex>>6; break; } //将像素数据保存到数组中对应的位置 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 == 4){ for(int i=0;i>4; } else{//高 mixIndex = mixIndex>>4; } 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 == 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 temp3){ temp3 = temp; zuijiapipei = pipeitemp[j]; } } putchar('('); initprint(i); initprint(zuijiapipei); putchar(')'); //putchar(0x0a); } }

42


2013年全国数学建模大赛获奖论文碎纸片的拼接复原 - 图文(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:郑大远程教育《大学英语I》第09章在线测试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: