📄 中值滤波.txt
字号:
CClientDC dc(this);
int n=0;
int yy,xx,n2,nn,chuo,chg,m,medi,madom,k,l;
int mado[1000];
int b[65536];
int d[65536];
Fangxing dlg;
if(dlg.DoModal()==IDOK)
{
n=dlg.m_n;
if(n>3&&n%2==1)
n2=(n-1)/2;
nn=n*n;
chuo=(nn-1)/2;
}
for(k=0;k<256;k++)
for(l=0;l<256;l++)
{
if(a[k][l]<0)
b[k*256+l]=int(a[k][l])+256;
else b[k*256+l]=a[k][l];
}
for(int j=n2;j<256-n2;j++)
for(int i=n2;i<256-n2;i++)
{
m=0;
for(yy=j-n2;yy<j+n2;yy++)
for(xx=i-n2;xx<i+n2;xx++)
{
mado[m]=b[yy*256+xx];
m++;
}
do{
chg=0;
for(m=0;m<nn-1;m++)
{
if(mado[m]<mado[m+1])
{
madom=mado[m];
mado[m]=mado[m+1];
mado[m+1]=madom;
chg=1;
}
}
}while(chg==1);
}
for(k=0;k<256;k++)
for(l=0;l<256;l++)
dc.SetPixel(l+486,k+150,RGB(g[k][l],g[k][l],g[k][l]));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -