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

記錄圖形座標

答題得分者是:taishyang
jenglin
一般會員


發表:45
回覆:32
積分:15
註冊:2006-10-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-16 11:42:26 IP:163.18.xxx.xxx 訂閱
請問各位前輩:
一張圖片裡面有一個紅色圓形,怎麼記錄它的X軸最大和最小值,
以及Y軸的最大和最小值到Edit?感謝!
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-16 11:59:13 IP:122.124.xxx.xxx 未訂閱
1.你的圖片是什麼樣子?
2.你的程式進行的如何?
編輯記錄
taishyang 重新編輯於 2007-07-16 11:59:32, 註解 無‧
jenglin
一般會員


發表:45
回覆:32
積分:15
註冊:2006-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-16 12:10:24 IP:163.18.xxx.xxx 訂閱

===================引 用 taishyang 文 章===================
1.你的圖片是什麼樣子?
2.你的程式進行的如何?

圖片經過二值化如下圖,程式還在想怎麼抓X軸和Y軸的最大值和最小值!感謝
<input type="image" src="http://www2.nkfust.edu.tw/~u9516819/b.bmp" /></font>
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-16 12:17:11 IP:122.124.xxx.xxx 未訂閱
用[水平與垂直投影法]就可以了,站上有範例可以參考
若是多個物件就要用[連接元標記法]
jenglin
一般會員


發表:45
回覆:32
積分:15
註冊:2006-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-07-16 16:14:43 IP:163.18.xxx.xxx 訂閱

===================引 用 taishyang 文 章===================
用[水平與垂直投影法]就可以了,站上有範例可以參考
若是多個物件就要用[連接元標記法]

感謝您的回應!但是垂直部份沒找到,不知道哪裡出了問題?

void __fastcall TForm1::Button6Click(TObject *Sender)
{
if (OpenPictureDialog1->Execute())
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
Series1->Clear();
Series2->Clear();
int DistributionX[320]={0};
int DistributionY[240]={0};
Graphics::TBitmap*Bmp1=new Graphics::TBitmap();
Bmp1->LoadFromFile(OpenPictureDialog1->FileName);
Image1->Picture->Assign(Bmp1);
byte* ptr1;
for (int y=0;yHeight;y )
{
ptr1=(byte*)Bmp1->ScanLine[y];
if (ptr1[y*3]==255)
{
DistributionY[y] =1;
}
for (int x=0;xWidth;x )
{
if (ptr1[x*3]==255)
{
DistributionX[x] =1;
}
}
}
Image1->Canvas->Pen->Color=clYellow;
for (int x=0;xWidth;x )
{
Series1->Add(DistributionX[x],x,TColor(clBlue));
if (DistributionX[x]>0&&DistributionX[x-1]==0 //左界
||DistributionX[x]>0&&DistributionX[x 1]==0 //右界
)
{
Image1->Canvas->MoveTo(x,0);
Image1->Canvas->LineTo(x,Image1->Width );
}
}
Image1->Canvas->Pen->Color=clBlue;
for (int y=0;yHeight ;y )
{
Series2->Add(DistributionY[y],y,TColor(clBlue));
if (DistributionY[y]>0&&DistributionY[y-1]==0 //左界
||DistributionY[y]>0&&DistributionY[y 1]==0 //右界
)
{
Image1->Canvas->MoveTo(y,0);
Image1->Canvas->LineTo(y,Image1->Height );
}
}
delete Bmp1;
}
taishyang
站務副站長


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-07-16 16:32:11 IP:122.124.xxx.xxx 未訂閱
你會Debug程式碼嗎?
Trace看看數值哪裡有問題不就能知道為什麼了?

站上的範例
http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=58197
編輯記錄
taishyang 重新編輯於 2007-07-16 16:37:37, 註解 無‧
jenglin
一般會員


發表:45
回覆:32
積分:15
註冊:2006-10-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-07-16 16:50:48 IP:163.18.xxx.xxx 訂閱

===================引 用 taishyang 文 章===================
你會Debug程式碼嗎?
Trace看看數值哪裡有問題不就能知道為什麼了?

站上的範例
http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=58197

您好:
我是參照下面這篇!
http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=34973
執行結果有找到水平,但是垂直沒顯示
<input type="image" src="http://www2.nkfust.edu.tw/~u9516819/5.bmp" /></font>
taishyang
站務副站長


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-07-16 17:02:12 IP:122.124.xxx.xxx 未訂閱
煩請效法residue的學習精神
jenglin
一般會員


發表:45
回覆:32
積分:15
註冊:2006-10-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-07-18 15:10:04 IP:163.18.xxx.xxx 訂閱
請問一下,TChart裡面Series1跟Series2的X軸的最大和最小值怎麼讓他個別顯示在Edit?
編輯記錄
jenglin 重新編輯於 2007-07-18 15:29:11, 註解 無‧
系統時間:2024-05-02 13:22:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!