keikojason
初階會員
發表:37 回覆:63 積分:45 註冊:2004-05-10
發送簡訊給我
|
各位前輩你們好,小弟有一個問題:『 "如果要在一個Edit1~4中輸入個2個座標值(X1,Y1)(X2,Y2)畫出任一個方形(長方形),在這方形中對圖(Image1)做直方圖"』請問前輩這要怎樣去做處理,請指教...還是有什麼範例可以更快的進入狀況..謝謝各位前輩教導~~~
|
keikojason
初階會員
發表:37 回覆:63 積分:45 註冊:2004-05-10
發送簡訊給我
|
Sorry!忘了在問在做如果處理直方圖有什麼要注意ㄉ嗎...謝謝..
|
keikojason
初階會員
發表:37 回覆:63 積分:45 註冊:2004-05-10
發送簡訊給我
|
請問各位前輩直方圖要怎樣處理,可以在一個二值化的圖像在某兩個座標區間做直方圖..可以給小第一些指教...謝謝
|
arisaka_matsuri
高階會員
發表:25 回覆:205 積分:231 註冊:2003-10-19
發送簡訊給我
|
dear keikojason:
建議你將這類文章發問在 影音多媒體程式設計討論區~ 執行畫面
程式碼
//---------------------------------------------------------------------------
#include
#pragma hdrstop #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// 取得統計直方圖的範圍
TRect ARect = TRect(Edit1->Text.ToInt(),
Edit2->Text.ToInt(),
Edit3->Text.ToInt(),
Edit4->Text.ToInt()); // 以ARect為範圍統計直方圖
Byte *ptr;
long GrayCount[256] = {0}, MaxGrayCount = 0;
for(int row = ARect.top; row < ARect.Bottom; row++)
{
ptr = (Byte *)Image1->Picture->Bitmap->ScanLine[row];
for(int col = ARect.left; col < ARect.right; col++)
{
// 以8bit灰階圖為例
GrayCount[ptr[col]]++;
if(GrayCount[ptr[col]] > MaxGrayCount) MaxGrayCount = GrayCount[ptr[col]];
}
} // 初始直方圖畫面
Image2->Canvas->Brush->Color = clWhite;
Image2->Canvas->FillRect(TRect(0, 0, Image1->Width, Image1->Height)); // 畫出直方圖
for(int index = 0; index < 256; index++)
{
Image2->Canvas->MoveTo(index, Image2->Height);
Image2->Canvas->LineTo(index, Image2->Height * (1.0 - (double)GrayCount[index] / (double)MaxGrayCount));
} // 標出ARect統計直方圖的範圍
Image1->Canvas->Brush->Color = clWhite;
Image1->Canvas->FrameRect(ARect);
}
//---------------------------------------------------------------------------
提供參考~
|
keikojason
初階會員
發表:37 回覆:63 積分:45 註冊:2004-05-10
發送簡訊給我
|
謝謝arisaka_matsuri你的幫忙也讓我多學一點,你的建議我知道囉!!發問在 影音多媒體程式設計討論區..謝謝你的大公無私教學..
|