請前輩指點標籤化程式 |
|
mp_0223
一般會員 發表:16 回覆:32 積分:9 註冊:2006-10-02 發送簡訊給我 |
各位前輩你們好 小弟有個問題
就是我在細線化後的字 想要貼標籤作標籤化處裡!! 1.因為細線化後的字是黑的 我就寫了個掃描到黑色像素就給他標籤 但是RUN過後不是我想要的答案 已經弄好久了所以請PO上來請前輩們指點 2.如果要加個相同連結就給同一個標籤要怎麼做??? void __fastcall TForm1::Button7Click(TObject *Sender) { Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap(); int label; Bitmap1->LoadFromFile("C.bmp"); Image2->Picture->Assign(Bitmap1); Bitmap1->Assign(Image2->Picture->Bitmap); Bitmap1->PixelFormat = pf24bit;//24bit Byte *ptr=NULL; for (int i=0;i { ptr=(Byte*)Bitmap1->ScanLine[i]; for (int j=0;j { if(ptr[i*3]==0 && ptr[i*3 1]==0 && ptr[i*3 2]==0) { label=label 1; Connect(Bitmap1,label,i,j); } } } Image2->Stretch=true; Image2->Height *=1; Image2->Width *=1; Image2->Picture->Assign(Bitmap1); Image2->Picture->SaveToFile("D.bmp"); delete Bitmap1; } //--------------------------------------------------------------------------- int __fastcall TForm1::Connect(Graphics::TBitmap * Bitmap1,int label, int i, int j) { Bitmap1->Canvas->Pixels[i][j] = label; if (Bitmap1->Canvas->Pixels[i 1][j]==0) { Connect(Bitmap1,label, i 1, j); } if (Bitmap1->Canvas->Pixels[i 1][j-1] ==0) { Connect(Bitmap1,label, i 1, j-1); } if (Bitmap1->Canvas->Pixels[i][j-1] ==0) { Connect(Bitmap1,label, i , j-1); } if (Bitmap1->Canvas->Pixels[i- 1][j] ==0) { Connect(Bitmap1,label, i -1, j); } if (Bitmap1->Canvas->Pixels[i- 1][j 1] ==0) { Connect(Bitmap1,label, i - 1, j 1); } if (Bitmap1->Canvas->Pixels[i][j 1] ==0) { Connect(Bitmap1,label, i, j 1); } if (Bitmap1->Canvas->Pixels[i 1][j 1] ==0) { Connect(Bitmap1,label, i 1, j 1); } if (Bitmap1->Canvas->Pixels[i 1][j] ==0) { Connect(Bitmap1,label, i 1, j); } if (Bitmap1->Canvas->Pixels[i- 1][j-1]==0) { Connect(Bitmap1,label, i - 1, j-1); } } |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |