如何將區分出來的顏色區塊紀錄下來?? |
答題得分者是:JerryKuo
|
jun306
一般會員 發表:4 回覆:3 積分:1 註冊:2003-09-28 發送簡訊給我 |
假設如上圖
"我試了之前的文章"
已經可以抓出分別的顏色區塊..
但是要怎麼紀錄下來呢??
我試過用矩陣分成p[x][y]=1,p[x][y]=2,p[x][y]=3,p[x][y]=4
其中1(黃色),2(紅色),3(綠色),4(橘色)當作索引值
但是執行時好像爆掉了,出現以下訊息
message:'access violation at 0x77f8a979:read of address 0x00000009'.
Process Stopped. Use Step or Run to comtinue. 請問各位高手該怎麼辦呢??或是有別的方法?? 新手上路請多包含!! 發表人 - jun306 於 2003/11/13 13:59:31
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
|
jun306
一般會員 發表:4 回覆:3 積分:1 註冊:2003-09-28 發送簡訊給我 |
我試了之前的文章...
加上我的想法...
請各位高手幫忙看看...謝謝!!
void __fastcall TForm1::Button4Click(TObject *Sender) { int p2[250][250]; Graphics::TBitmap* BMP = new Graphics::TBitmap(); Byte *ptr; BMP->Assign(Image1->Picture->Bitmap ); for (int y=0;y這是我第一次用bcb寫程式...有很多地方不懂得...請多多指教!! 感謝回應!! 新手上路請多包含!! 發表人 - jun306 於 2003/11/13 14:03:24 |
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
你好: 1.)圖片大小,根據你上傳的圖片大小為320x240,卻宣告p2[250][250]
去紀錄搜尋結果,執行的話一定會有問題,應該改為p2[320][240]或是用
動態陣列宣告。
unsigned char** p2; p2 = new unsigned char*[BMP->Height]; for ( y = 0; y < BMP->Height; y ) { p2[y] = new unsigned char[BMP->Width]; for ( x = 0; x < BMP->Width; x ) { p2[y][x]= 0; } }2.)不知道是不是貼程式的問題,還是本來就沒有寫好? for (int y=0; yHeight ;y ) 這樣會進入無窮迴圈 { for (int x=0;xWidth ;x ) 這樣會進入無窮迴圈 { } }發表人 - jerrykuo 於 2003/11/13 14:11:21 |
jun306
一般會員 發表:4 回覆:3 積分:1 註冊:2003-09-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |