影像處理工具 |
|
weiyu
一般會員 發表:1 回覆:2 積分:0 註冊:2007-05-25 發送簡訊給我 |
首先感謝站上所有的前輩、先進...
讓我在這網站中學習到非常多BCB相關知識... 這是我第一次發言...感覺懂的不多,所以不好意思在各位大師面前班門弄斧.... 因常感覺受人點水之恩.. 所以我將我自己測試所寫的一些影像測試軟体給大家分享... PS.因為是給自己測試用的,所以設計架構的不是很週全..... 請多多包涵... 編輯記錄
weiyu 重新編輯於 2007-05-29 11:24:10, 註解 無‧
|
enter2004
初階會員 發表:51 回覆:94 積分:34 註冊:2005-04-10 發送簡訊給我 |
|
weiyu
一般會員 發表:1 回覆:2 積分:0 註冊:2007-05-25 發送簡訊給我 |
不好意思您指的速度不夠快是指讀圖嗎?
我發現我在讀圖迴圈裡多寫了二行預先處理的東西... 我現在把他拿掉了,讀圖的速度也快很多了...檔案也重新傳上去... 但另外ScanLine的方式處理,若要將圖轉成灰階... ScanLine好像也沒有比較快耶,還是要一點一點讀取出來處理... 以下是我讀圖的寫法... 謝謝指教... <textarea class="cpp" rows="10" cols="60" name="code">void __fastcall TForm1::Load1Click(TObject *Sender) { int y,x; if(f != NULL) { free_bimage(f,Image1->Picture->Width,Image1->Picture->Height); free_bimage(result,Image1->Picture->Width,Image1->Picture->Height); } if(OpenPictureDialog1->Execute()) { Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName); Caption = ExtractFileName(OpenPictureDialog1->FileName); Image2->Picture->LoadFromFile(OpenPictureDialog1->FileName); f=allocate_bimage(Image1->Picture->Width,Image1->Picture->Height); result=allocate_bimage(Image1->Picture->Width,Image1->Picture->Height); for(y=0;y ===================引 用 enter2004 文 章=================== 執行的速度好像不夠快? 您是否有用ScanLine的方式來處理?
編輯記錄
weiyu 重新編輯於 2007-05-29 12:37:28, 註解 無‧
|
enter2004
初階會員 發表:51 回覆:94 積分:34 註冊:2005-04-10 發送簡訊給我 |
|
enter2004
初階會員 發表:51 回覆:94 積分:34 註冊:2005-04-10 發送簡訊給我 |
<textarea cols="60" rows="10" class="cpp" name="code"> Byte *ptr;
for(y=0;y ptr = (Byte *) (Image1->Picture->Bitmap->ScanLine[y]); for(x=0;x /*TCColor c=Image1->Canvas->Pixels[x][y]; f[x][y]=(unsigned char)((c.Red c.Green c.Blue)/3);*/ // 假設color depth 為24bit Bitmap f[x][y]=(unsigned char )((ptr[x*3] ptr[x*3 1] ptr[x*3 2])/3) ; } } </textarea> 不過如果你用TImage load image的話,如果load的檔案是.Jpeg 則可能無法使用ScanLine (.bmp才可以)
------
人生就像泡泡一樣,乘著風被吹著跑,等你發現時已經消失了。 就在快要消失的瞬間,希望能再飛高一點, 但是回神時總是慢了一步。 |
weiyu
一般會員 發表:1 回覆:2 積分:0 註冊:2007-05-25 發送簡訊給我 |
enter2004 大大您好...
非常感謝您的指教... 我做了一個實驗 程式碼如下... <textarea class="cpp" rows="10" cols="60" name="code">//--------------------------------------------------------------------------- #include 由scanline去處理真的明顯快很多.... 但小弟我有一個問題...ScanLine是不是有長度的限制呢??? 因為我若開啟一個640*480的圖,就會有錯誤產生... |
dicky9055
一般會員 發表:20 回覆:48 積分:18 註冊:2006-08-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |