⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhong.c

📁 C5509下的CCS中对图像的中值滤波程序
💻 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 + -