全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:790
推到 Plurk!
推到 Facebook!

怎麼做正規化

尚未結案
小慶
一般會員


發表:45
回覆:31
積分:15
註冊:2004-09-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-16 23:19:45 IP:163.23.xxx.xxx 未訂閱
(不好意思...我發表錯地方,想在bcb討論區在發表一次) 假設影像為640*480 假設物體不動,我距離物體2公尺(第一張)跟我距離物體5公尺(第二張)作拍攝的動作 那麼第一張跟第二張影像裡的物體因為我距離物體的遠近不同而使物體大小不同 現在我想讓第一張跟第二張影像作正規化,使得兩張影像裡的物體看起來像我距離 物體1公尺拍的......非常謝謝.... 正在努力學習中的小弟 圖按如下 不好意思....因為我是初學者所以程式有點不懂 我把我的程式以及圖檔傳上去請各位前輩幫我看看哪裡要改 .... ps:位神麼我的圖變這樣.. 謝謝各位 程式如下: void __fastcall TForm1::Button1Click(TObject *Sender) { Graphics::TBitmap *TheBitmap, *TempBitmap; TempBitmap = new Graphics::TBitmap(); TempBitmap =Image1->Picture->Bitmap; TempBitmap->PixelFormat = pf8bit; Byte *ptr1; int w,h,x,y,R,G,B; w=Image1->Width/5; h=Image1->Height/5; //unsigned short int piexl[640][480]; int n=0; for(int j=0;j { ptr1 = (Byte*) TempBitmap->ScanLine[j]; for(int i=0;i { TCColor c=Image1->Canvas->Pixels[x][y]; R=(int)c.Red; G=(int)c.Green; B=(int)c.Blue; TCColor b=Image2->Canvas->Pixels[x][y]; R=(int)b.Red; G=(int)b.Green; B=(int)b.Blue; } Image2->Canvas->Pixels[x][y]=TCColor(R,G,B).Color; } } 以下為處理過的圖: 謝謝各位......
ben.huang
一般會員


發表:2
回覆:18
積分:4
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-20 08:45:45 IP:61.63.xxx.xxx 未訂閱
基本上,我猜你想要做的是數位放大的功能(一般數位相機都有的digital zoom),它的意思是,放大二倍,就等於距離減縮一半的意思。其餘類推,所以,如果影像必須還是要(640*480),你可能還需要做補插點的動作才行,你下圖的色彩之所以會變掉,我猜是你調色盤出了些問題吧!通常RGB三色應該是TempBitmap->PixelFormat = pf24bit;才對~~~你再試試吧 !
系統時間:2024-05-15 2:39:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!