la bàn
int i,j,k,l;
BYTE dt[1000][1000];
int M=pDoc->biHeader.biHeight;
int N=pDoc->biHeader.biWidth;
int h0[3][3]={{1,0,-1},{1,0,-1},{1,0,-1}};
int h1[3][3]={{0,-1,-1},{1,0,-1},{1,1,0}};
int h2[3][3]={{-1,-1,-1},{0,0,0},{1,1,1}};
int h3[3][3]={{-1,-1,0},{-1,0,1},{0,1,1}};
int h4[3][3]={{-1,0,1},{-1,0,1},{-1,0,1}};
int h5[3][3]={{0,1,1},{-1,0,1},{-1,-1,0}};
int h6[3][3]={{1,1,1},{0,0,0},{-1,-1,-1}};
int h7[3][3]={{1,1,0},{1,0,-1},{0,-1,-1}};
int x[8],max,d=80;
// tim diem co gia tri cao nhat
int lc=1;
int K=3;
// tao ban sao gt
for (i=0;i<M;i++)
for(j=0;j<N;j++)
dt[i][j]=pDoc->Data[i][j];
for (i=0;i<M;i++)
for(j=0;j<N;j++)
if (pDoc->Data[i][j]>d)
pDoc->Data[i][j]=255;
else pDoc->Data[i][j]=0;
//tinh lai cac diem phia trong
for(i=lc;i<M-lc;i++)
for(j=lc;j<N-lc;j++)
{
x[0]=x[1]=x[2]=x[3]=x[4]=x[5]=x[6]=x[7]=0;
for(k=0;k<=2*lc;k++)
for(l=0;l<=2*lc;l++)
{
x[0]+=h0[k][l]*dt[i-k+lc][j-l+lc];
x[1]+=h1[k][l]*dt[i-k+lc][j-l+lc];
x[2]+=h2[k][l]*dt[i-k+lc][j-l+lc];
x[3]+=h3[k][l]*dt[i-k+lc][j-l+lc];
x[4]+=h4[k][l]*dt[i-k+lc][j-l+lc];
x[5]+=h5[k][l]*dt[i-k+lc][j-l+lc];
x[6]+=h6[k][l]*dt[i-k+lc][j-l+lc];
x[7]+=h7[k][l]*dt[i-k+lc][j-l+lc];
}
max=abs(x[0]);
for(k=1;k<8;k++)
if( max< abs(x[k]))
max= abs(x[k]);
if (max> d)
pDoc->Data[i][j]=255;
else
pDoc->Data[i][j]=0;
}
Invalidate();
}
Bạn đang đọc truyện trên: AzTruyen.Top