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

直方圖

尚未結案
n890377
一般會員


發表:17
回覆:16
積分:21
註冊:2006-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-01 17:30:58 IP:163.22.xxx.xxx 訂閱
請教各位大大 以下去HSI的直方圖程式 但是我在H[(int)Hue]++;這個地方出錯
顯示:[C Error] Unit1.cpp(2980): E2277 Lvalue required
請各位大大能幫我 一下嗎....謝謝!!!!
我不知道怎麼解決!!!!!!

Graphics::TBitmap *Bmp = new Graphics::TBitmap();
Bmp->Assign(Image1->Picture->Bitmap);
Byte *ptr;
Byte B,G,R;
//if(!Chart1clear)
Series1->Clear();

Bmp->Assign(Image1->Picture->Bitmap);

double Hue,saturation,intensity;
double pi=3.1415926;
double temp;
if(!Chart1)
Series1->Clear();
for (int i=0;i{
ptr=(Byte *)Bmp->ScanLine[i];
for(int j=0;j{
B=ptr[3*j];
G=ptr[3*j 1];
R=ptr[3*j 2];
if((((R-G)*(R-G)) ((R-B)*(G-B)))==0)
Hue=0;
else
{
temp=((R-G) (R-B))/(2*sqrt(((R-G)*(R-G)) ((R-B)*(G-B))));
if(G>=B)
Hue=acos(temp)*180.0/pi;
else
Hue=(2*pi-acos(temp))*180.0/pi;
}
H[(int)Hue] ;
}
}
for(int m=0;m<=355;m )
Series1->AddXY(m,H[m],"",clRed);
for(int n=0;n<=355;n )
H[n]=0;
chart1clear = false;
delete Bmp;

------
.
justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-11-01 23:06:50 IP:59.105.xxx.xxx 未訂閱
H 是怎麼宣告的?
n890377
一般會員


發表:17
回覆:16
積分:21
註冊:2006-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-11-06 20:44:08 IP:163.22.xxx.xxx 訂閱
double  H;

這樣定義我試過不行...各位大大幫我一下...
------
.
justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-11-09 21:13:21 IP:59.105.xxx.xxx 未訂閱
你的程式碼裡面是把H當陣列用耶,應該要宣告成 double H[100]; 之類的吧
n890377
一般會員


發表:17
回覆:16
積分:21
註冊:2006-07-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-11-13 13:39:14 IP:163.22.xxx.xxx 訂閱
已解決!!!謝謝大大!!!!
------
.
系統時間:2024-05-09 6:33:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!