請教各位高手問題<-請為您的發表文章取一個有意義的的主題名稱 |
尚未結案
|
dac
一般會員 發表:14 回覆:24 積分:7 註冊:2005-01-06 發送簡訊給我 |
大家好:
以下是我寫的程式,能否看一下為何不能二值化
//--------------------------------------------------------------
Graphics::TBitmap* BMP1 = new Graphics::TBitmap(); BMP1->Assign(Image1->Picture->Bitmap); Byte* ptr = NULL; pixel_no = 0; int region_xi, region_yi, region_xf, region_yf; region_xi = x - 108; region_xf = x 108; region_yi = y - 92; region_yf = y 92; if(region_xi <= 0) { region_xi = 0; } if(region_yi <= 0) { region_yi = 0; } if(region_xf >= 337) { region_xf = 337; } if(region_yf >= 289) { region_yf = 289; } for(region_yi; region_yi//------------------------------------------------------------------- 我這個只判斷圖中的一小部份,但改完無法二值化,我檢查過scanline都是255沒辦法動作。請各位高手解惑一下 發表人 - jerrykuo 於 2005/01/21 16:03:47 |
dac
一般會員 發表:14 回覆:24 積分:7 註冊:2005-01-06 發送簡訊給我 |
抱歉各位高手,我再將CODE重貼,SORRY!!
Graphics::TBitmap* BMP1 = new Graphics::TBitmap(); BMP1->Assign(Image1->Picture->Bitmap); Byte* ptr = NULL; pixel_no = 0; int region_xi, region_yi, region_xf, region_yf; //i = start_point f = end_point region_xi = x - 108; region_xf = x 108; region_yi = y - 92; region_yf = y 92; if(region_xi <= 0) { region_xi = 0; } if(region_yi <= 0) { region_yi = 0; } if(region_xf >= 337) { region_xf = 337; } if(region_yf >= 289) { region_yf = 289; } for(region_yi; region_yi |
1666362
初階會員 發表:66 回覆:124 積分:43 註冊:2004-07-07 發送簡訊給我 |
|
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
|
dac
一般會員 發表:14 回覆:24 積分:7 註冊:2005-01-06 發送簡訊給我 |
|
dac
一般會員 發表:14 回覆:24 積分:7 註冊:2005-01-06 發送簡訊給我 |
|
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
Hello, 我試過您原本的程式碼, 可以得到二值化影像, 請check您程式中的 region_xi, region_yi, region_xf, region_yf 這些值。 (我是用整張圖作, Size為640x480) for(region_yi=0; region_yi<480; region_yi ) { ptr = (Byte*) BMP1->ScanLine[region_yi]; for(region_xi=0; region_xi<640; region_xi ) { if(ptr[region_xi*3 2]==255&&ptr[region_xi*3 1]==0&&ptr[region_xi*3]==0) { ptr[region_xi*3]=ptr[region_xi*3 1]=ptr[region_xi*3 2]=255; pixel_no ; } else { ptr[region_xi*3]=ptr[region_xi*3 1]=ptr[region_xi*3 2]=0; } } } |
dac
一般會員 發表:14 回覆:24 積分:7 註冊:2005-01-06 發送簡訊給我 |
引言:我的範圍只要圖中的一部份做二值化就好了 可否有辦法這樣做Hello, 我試過您原本的程式碼, 可以得到二值化影像, 請check您程式中的 region_xi, region_yi, region_xf, region_yf 這些值。 (我是用整張圖作, Size為640x480) for(region_yi=0; region_yi<480; region_yi ) { ptr = (Byte*) BMP1->ScanLine[region_yi]; for(region_xi=0; region_xi<640; region_xi ) { if(ptr[region_xi*3 2]==255&&ptr[region_xi*3 1]==0&&ptr[region_xi*3]==0) { ptr[region_xi*3]=ptr[region_xi*3 1]=ptr[region_xi*3 2]=255; pixel_no ; } else { ptr[region_xi*3]=ptr[region_xi*3 1]=ptr[region_xi*3 2]=0; } } } |
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
|
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
以下的code請您參考看看 < class="code">
Graphics::TBitmap* BMP1 = new Graphics::TBitmap();
BMP1->LoadFromFile("N_RGB.bmp");
Byte* ptr = NULL;
int pixel_no = 0;
int region_xi, region_yi, region_xf, region_yf;
int x=100, y=10;
int temp_x, temp_y; temp_x = x - 108;
region_xf = x 108;
temp_y = y - 92;
region_yf = y 92; if(temp_x <= 0)
{
temp_x = 0;
}
if(temp_y <= 0)
{
temp_y = 0;
}
if(region_xf >= 337)
{
region_xf = 337;
}
if(region_yf >= 289)
{
region_yf = 289;
} for(region_yi=temp_y; region_yi
|
dac
一般會員 發表:14 回覆:24 積分:7 註冊:2005-01-06 發送簡訊給我 |
引言:如果今天我的圖示337*289我是要217*185然後這個範圍X是69~286 Y是0-92 這樣的情形可以嗎 謝謝你引言: 我的範圍只要圖中的一部份做二值化就好了 可否有辦法這樣做可以, 所以我才要您去確認 region_xi, region_yi, region_xf, region_yf 這些變數的初始值, 如果一開始就是 region_yi>region_yf or region_xi>region_xf 這些情況發生, 會使for迴圈內的程式無法被執行到。 |
dac
一般會員 發表:14 回覆:24 積分:7 註冊:2005-01-06 發送簡訊給我 |
引言:我的Y的範圍是0-92 X的範圍是69~286 我有檢查過region_xi...都沒有錯誤 現在就是不知道問題出在哪? 謝謝高手解題引言:如果今天我的圖示337*289我是要217*185然後這個範圍X是69~286 Y是0-92 這樣的情形可以嗎 謝謝你引言: 我的範圍只要圖中的一部份做二值化就好了 可否有辦法這樣做可以, 所以我才要您去確認 region_xi, region_yi, region_xf, region_yf 這些變數的初始值, 如果一開始就是 region_yi>region_yf or region_xi>region_xf 這些情況發生, 會使for迴圈內的程式無法被執行到。 |
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |