webcam動態影像處理後影像顛倒問題 |
答題得分者是:istillloving
|
eulor2000
一般會員 發表:51 回覆:34 積分:17 註冊:2008-11-18 發送簡訊給我 |
在參考bugmans板友範例
http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=37755 由demo範例中改,webcam輸入經過幾何轉換再顯示,在SampleGrabber1Buffer寫入程式卻會有上下顛倒問題如下, 另外在圖片中有許多空白畫素應該如何插補,有判斷空白點是在圖片區域內或外問題請資深板友提供意見幫幫忙 程式碼如下 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TMainForm::SampleGrabber1Buffer(TObject *sender, double SampleTime, Pointer pBuffer, int BufferLen) { Graphics::TBitmap *TheBitmap=new Graphics::TBitmap(); Graphics::TBitmap *TempBitmap=new Graphics::TBitmap(); byte *ptr11; TheBitmap->PixelFormat=pf24bit; SampleGrabber1->GetBitmap(TempBitmap, pBuffer, BufferLen); ptrk=(Byte *)pBuffer; TheBitmap->Width=TempBitmap->Width; TheBitmap->Height=TempBitmap->Height; for(int j=0;j { for(int i=0;i { TheBitmap->Canvas->Pixels[B[j][i].x][B[j][i].y]=TempBitmap->Canvas->Pixels[j][i]; } } for(int j=0;j { ptr11=(Byte *)TheBitmap->ScanLine[j]; for(int i=0;i { *(ptrk )=(ptr11[i*3]); *(ptrk )=(ptr11[i*3 1]); *(ptrk )=ptr11[i*3 2]; } } } //--------------------------------------------------------------------------- |
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
因為有些你沒給很清楚
所以我猜啦厚... [code cpp] TheBitmap->Canvas->Pixels [B[j][i].x][B[j][i].y]=TempBitmap->Canvas->Pixels[i][j]; [/code] 是不是要把 B[ j ][ i ] 改成 B[ i ][ j ] 但是說也奇怪 如果真是這樣的話 buff 應該要爆掉才對 怎麼還秀的出來
------
恩...
編輯記錄
|
eulor2000
一般會員 發表:51 回覆:34 積分:17 註冊:2008-11-18 發送簡訊給我 |
===================引 用 istillloving 文 章=================== 因為有些你沒給很清楚 所以我猜啦厚... [code cpp] TheBitmap->Canvas->Pixels [B[j][i].x][B[j][i].y]=TempBitmap->Canvas->Pixels[i][j]; [/code] 是不是要把 B[ j ][ i ] 改成 B[ i ][ j ] 但是說也奇怪 如果真是這樣的話 buff 應該要爆掉才對 怎麼還秀的出來 我按照你說修改後確實會不能執行....但是我改後面i,j產生如下畫面 好像右轉90度 ][i]; |
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
這應該是簡單的旗標搞錯而已
B[ ] [ ] . 這個是怎麼宣告的啊? 二維的struct ? 這個TheBitmap->Canvas->Pixels[B[j][i].x][B[j][i].y] 這樣用看不懂....=..=
------
恩...
編輯記錄
istillloving 重新編輯於 2010-01-17 00:09:00, 註解 無‧
|
eulor2000
一般會員 發表:51 回覆:34 積分:17 註冊:2008-11-18 發送簡訊給我 |
===================引 用 istillloving 文 章=================== 這應該是簡單的旗標搞錯而已 B[ ] [ ] . 這個是怎麼宣告的啊? 二維的struct ? 這個TheBitmap->Canvas->Pixels[B[j][i].x][B[j][i].y] 這樣用看不懂....=..= 我B[j] [i ] .宣告 二維的陣列TPoint B[480][640]; 放新的位址 所以我才會用 TheBitmap->Canvas->Pixels[B[j][i].x][B[j][i].y]=TempBitmap->Canvas->Pixels[j][i]; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |