CLvbo dlg;
dlg.DoModal();
UpdateData(TRUE);
if(m_flag == 24)
{
AfxMessageBox("只处理8位图像!");
  return;
}
BYTE *a=new BYTE[dlg.n*dlg.n];
BYTE *pData = new BYTE[m_dwWidth*m_dwHeight];
BYTE *pOld = pData;
memcpy(pData, m_pBitmap, m_dwWidth*m_dwHeight);

DWORD i,j;
DWORD x,y;
DWORD u,v; for(i=0;i<(m_dwHeight-dlg.n+1);i++)
{
for(j=0;j<(m_dwWidth-dlg.n+1);j++)
{
u=i;v=j;
for(x=0;x<dlg.n;x++)
{
for(y=0;y<dlg.n;y++)
{
*(a+0)=pData[v+u*m_dwWidth];
a++;
v++;
}
v=j;
u++;
}
for(x=0;x<dlg.n*dlg.n;x++)
{
for(y=1;y<dlg.n*dlg.n;y++)
{
if(a[x]<a[y])
{
u=a[x];
a[x]=a[y];
a[y]=u;
}
}
}
pData[(i+1)*m_dwHeight+j+1]=a[(dlg.n*dlg.n)/2]; }
}
pData = pOld;

memcpy(m_pBitmap, pData, m_dwWidth*m_dwHeight);

if(pData) delete []pData;

Invalidate(TRUE);