利用水平投影和垂直投影將所寫的文字框出 |
尚未結案
|
andy122742
一般會員 發表:12 回覆:5 積分:3 註冊:2005-03-28 發送簡訊給我 |
想煩請各位先進,目前我的程式只要簽名的字不要垂直重疊就能正確的將其在Image1上寫的字框出,想了很久就是不知道那裡出了問題咧!煩請各位先見幫忙解答一下!謝謝!
void __fastcall TForm1::N7Click(TObject *Sender)//這是一個400*400的Image1 { byte *ptr; Image1->Picture->Bitmap->PixelFormat=pf24bit; for(int i=0;i<400;i++) { ptr=(Byte*)Image1->Picture->Bitmap->ScanLine[i]; for(int j=0;j<400;j++){ hhww[i][j]=(ptr[j*3]+ptr[j*3+1]+ptr[j*3+2])/3; } } } void __fastcall TForm1::N11Click(TObject *Sender) { int stemp=-1;//x紀錄投影數 int ttemp=0;//y紀錄投影數 int ww[400];//橫軸投影 int **hh;//縱軸投影 int cc[2][400];//橫軸投影座標 int dd[2][400];//縱軸投影座標 //給予初始值 for(int i=0;i<400;i++){ cc[0][i]=-1; cc[1][i]=-1; dd[0][i]=-1; dd[1][i]=-1; ww[i]=0; } for(int i=0;i<400;i++){//x軸投影 for(int j=0;j<400;j++){ if(hhww[i][j]==0){ ww[j]=1; } } } bool showtrue=true; for(int i=0;i<400;i++){ if(ww[i]==1 && showtrue){//紀錄起始點座標 stemp++; cc[0][stemp]=i; showtrue=false; } else if(ww[i]==0 && !showtrue){//紀錄結束點座標 cc[1][stemp]=i-1; showtrue=true; } } //動態配置 hh = new int *[stemp+1]; for(int i=0;i正確的效果 垂直重疊失敗 煩請各位幫忙了!謝謝! |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |