線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1467
推到 Plurk!
推到 Facebook!

將二值化後的圖的像素抓到2維陣列的問題?

答題得分者是:cmf
arnotsay
一般會員


發表:23
回覆:79
積分:20
註冊:2003-02-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-11 03:23:36 IP:218.162.xxx.xxx 未訂閱
我抓過去後去看陣列中的值...但值是不正確的... int p=-1; int q=0; for ( y = 1 ; y <= 160; y ) { p ; ptr1 = (Byte *)pBitmap1->ScanLine[y]; for ( x = 1; x <= 300; x ) { map3[p][q]=ptr1[x*3]; q ; } }
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-11 09:28:25 IP:61.218.xxx.xxx 未訂閱
int p=0; int q=0;    for ( y = 1 ; y <= 160; y++) {    ptr1 = (Byte *)pBitmap1->ScanLine[y]; q=0; for ( x = 1; x <= 300; x++) { map3[p][q]=ptr1[x*3]; q++;    }    p++; }    僅供參考,歡迎繼續發言
------
︿︿
swindler
一般會員


發表:13
回覆:22
積分:17
註冊:2003-01-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-11 13:14:06 IP:140.122.xxx.xxx 未訂閱
//配置記憶體 int **ss=NULL; int Height=Image1->Picture->Height; int Width=Image1->Picture->Width; ss=new int*[Height]; for(int i=0;iCanvas->Pixel[x][y]/255/255; if (ss[y][x]>128) { ss[y][x]=255; } else { ss[y][x]=0; } } //處理後繪製另一圖框 for (int y = 0; y < Height; y ) for (int x = 0; x < Width; x ) { Memo1->Lines->Add(IntToStr(ss[y][x])); Cl=ss[y][x]; Image2->Canvas->Pixels[j][i]=TColor(RGB(Cl, Cl, Cl)); } //釋放記憶體 for(int i=0;i
新手上路1234
一般會員


發表:3
回覆:24
積分:15
註冊:2002-12-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-11 13:30:39 IP:61.218.xxx.xxx 未訂閱
swindler 你的 抓值二值化 這樣作對嗎?
arnotsay
一般會員


發表:23
回覆:79
積分:20
註冊:2003-02-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-11 19:57:46 IP:218.162.xxx.xxx 未訂閱
引言: int p=0; int q=0; for ( y = 1 ; y <= 160; y ) { ptr1 = (Byte *)pBitmap1->ScanLine[y]; q=0; for ( x = 1; x <= 300; x ) { map3[p][q]=ptr1[x*3]; q ; } p ; }
cmf..你好 我加上 Edit1->Text=map3[138][66]; 去看我儲存的值...[138][66]這點應該是255... 但是Edit1顯示的值還是0....
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-11 20:13:40 IP:140.135.xxx.xxx 未訂閱
arnotsay您好: 您可以善加利用BCB內建的debug的功能,當您編譯完畢後 發現結果並不如預期,就可用這方式除錯... 順心
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-11 20:15:26 IP:61.70.xxx.xxx 未訂閱
要轉成字串ㄚ    而且上面程式  y 範圍只有 1 至 160  所以 138 已超出        Edit1->Text=IntToStr(map3[138][66]);    僅供參考,歡迎繼續發言 發表人 - cmf 於 2003/03/11 20:20:16
------
︿︿
arnotsay
一般會員


發表:23
回覆:79
積分:20
註冊:2003-02-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-11 22:07:53 IP:218.162.xxx.xxx 未訂閱
引言: 要轉成字串ㄚ 而且上面程式 y 範圍只有 1 至 160 所以 138 已超出 Edit1->Text=IntToStr(map3[138][66]);
138 在160裡面...為什麼會超出呢? 我的程式開出來的二維陣列不是300x160這麼大嗎?
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-03-11 22:11:53 IP:61.70.xxx.xxx 未訂閱
sorry  我看錯了    僅供參考,歡迎繼續發言
------
︿︿
系統時間:2024-04-27 6:29:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!