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

低通濾波邊緣問題

缺席
vincent763
一般會員


發表:2
回覆:0
積分:0
註冊:2008-07-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-08-31 20:43:40 IP:61.223.xxx.xxx 訂閱
這是低通濾波的程式!
請大大幫我解決邊緣處理的問題!
因為跟別人的做法有點不一樣,所以不知從何下手!
[code cpp]
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{


double A[3][3];
double B1[3][3];
double B2[3][3];
double B3[3][3];
int i,j,x,y;
int sum1,sum2,sum3;
Bitmap1->Width=Image1->Width;
Bitmap1->Height=Image1->Height;
Bitmap1->PixelFormat=pf24bit;
ptrS= new BGR*[Image1->Height]; //主
ptrT = new BGR*[Image1->Height]; //副
for ( j = 0; j < Image1->Height; j )
{
ptrS[j] = (BGR *)Image1->Picture->Bitmap->ScanLine[j];
ptrT[j] = (BGR *)Bitmap1->ScanLine[j];
}
//------------製作A[3][3]濾波器 -------------------
A[0][0]=0.11; A[1][0]=0.11; A[2][0]=0.11;
A[0][1]=0.11; A[1][1]=0.11; A[2][1]=0.11;
A[0][2]=0.11; A[1][2]=0.11; A[2][2]=0.11;
//----------------------------------
for( j=1;jHeight-1;j )
{
for(int i=1;iWidth-1;i )
{
sum1=0;
sum2=0;
sum3=0;
for(y=0;y<3;y )
{
for(x=0;x<3;x )
{
B1[y][x]=ptrS[y j-1][x i-1].b;
B2[y][x]=ptrS[y j-1][x i-1].g;
B3[y][x]=ptrS[y j-1][x i-1].r;
sum1 =A[y][x]*B1[y][x];
sum2 =A[y][x]*B2[y][x];
sum3 =A[y][x]*B3[y][x];
}
}
ptrT[j][i].b= sum1;
ptrT[j][i].g= sum2;
ptrT[j][i].r= sum3;
}//i
}//j
Image1->Picture->Assign(Bitmap1);
}

[/code]

程式上面已宣告struct BGR
{
byte b;
byte g;
byte r;
};
編輯記錄
vincent763 重新編輯於 2008-08-31 20:44:23, 註解 無‧
系統時間:2024-04-25 0:54:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!