線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1004
推到 Plurk!
推到 Facebook!

水平投影的問題

尚未結案
vincentpai10
一般會員


發表:5
回覆:0
積分:1
註冊:2011-11-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-11-10 11:25:05 IP:140.126.xxx.xxx 訂閱
如題
以下code也是從網上抓來的
我想將圖形直接轉成二值化值方圖


void __fastcall TForm1::ButtonClick(TObject *Sender)
{
// ??水平与垂直方向的投影量


long ProjectV[2000] = {0};
long ProjectH[2000] = {0};
long Vmax = 0, Hmax = 0;
Byte *ptr;
for(int row = 0; row < 1279; row )
{
ptr = (Byte *)Image1->Picture->Bitmap->ScanLine[row];
for(int col = 0; col < 1023; col )
{
if(ptr[col*3] > 125) // 白?
{
ProjectV[col] ; // 垂直方向投影的?量 1
ProjectH[row] ; // 水平方向投影的?量 1
if(ProjectV[col] > Vmax) Vmax = ProjectV[col]; // ??垂直投影最大值
if(ProjectH[row] > Hmax) Hmax = ProjectH[row]; // ??水平投影最大值
}
}
}
// ?出水平方向投影
Image2->Canvas->Pen->Color = clWhite;
for(int row = 0; row < 1279; row )
{
Image2->Canvas->MoveTo(Image2->Width, row);
Image2->Canvas->LineTo(Image2->Width * (1.0 - (double)ProjectH[row] / (double)Hmax), row);
}
// ?出垂直方向投影
Image3->Canvas->Pen->Color = clWhite;
for(int col = 0; col < 1023; col )
{
Image3->Canvas->MoveTo(col, Image3->Height);
Image3->Canvas->LineTo(col, Image3->Height * (1.0 - (double)ProjectV[col] / (double)Vmax));
}

}






為何出現以下問題:

編輯記錄
vincentpai10 重新編輯於 2011-11-09 20:30:05, 註解 無‧
系統時間:2024-04-26 20:06:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!