📄 zhong.c
字号:
#define IMAGEWIDTH 160
#define IMAGEHEIGHT 120
extern unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT]; //源图像
extern unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT]; //目标图像
int mi;
unsigned char *pImg1,*pImg2,*pImg3,*pImg;
unsigned int x[9],c[9];
void zhong(int nWidth,int nHeight)
{
int i;
pImg=dbTargetImage;
for ( i=0;i<IMAGEWIDTH;i++,pImg++ )
(*pImg)=0; // 图像清零
(*pImg)=0;
pImg1=dbImage;
pImg2=pImg1+IMAGEWIDTH;
pImg3=pImg2+IMAGEWIDTH;
for ( i=2;i<nHeight;i++ )
{
pImg++;
x[0]=(*pImg1); pImg1++; x[1]=(*pImg1); pImg1++;
x[3]=(*pImg2); pImg2++; x[4]=(*pImg2); pImg2++;
x[6]=(*pImg3); pImg3++; x[7]=(*pImg3); pImg3++;
for ( mi=2;mi<nWidth;mi++,pImg++,pImg1++,pImg2++,pImg3++ )
{
x[2]=(*pImg1); x[5]=(*pImg2); x[8]=(*pImg3); //建立3*3模板
x[4]=MedValue(x);
(*pImg)=x[4];
x[0]=x[1]; x[1]=x[2];
x[3]=x[4]; x[4]=x[5];
x[6]=x[7]; x[7]=x[8];
}
(*pImg)=0; pImg++;
}
}
int MedValue(unsigned char c[9])
{
int m,n,k=0;
for(m=0;m<8;m++)
{ for(n=0;n<8;n++)
{ if(c[n]>c[n+1])
{ k=c[n];
c[n+1]=c[n];
c[n]=k;
}
}
}
return c[4];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -