#include<stdio.h>
#include<math.h>
#define SI 6
void main()
{
int i,j,m,n,k;
double pi=3.14,temp,temp1;
double x[SI][SI],y[SI][SI],image[SI][SI]={{1,1,1,1,1,1},{1,1,255,255,1,1},{1,255,255,255,255,1},{1,255,255,255,255,1},{1,1,255,255,1,1},{1,1,1,1,1,1}};
//printf("%lf\n",fabs(-pi/6));
//5*5算滤波结果,x方向
for(i=0;i<SI;i++)
for(j=0;j<SI;j++)
{ temp=0;
for(m=-2;m<3;m++)
for(n=-2;n<3;n++)
if((i-m>=0)&&(i-m<SI)&&(j-n>=0)&&(j-n<SI))
temp=temp+image[i-m][j-n]*m*(-1/(2*pi)*exp(-(m*m+n*n)/2));
x[i][j]=temp;
}
//显示x方向滤波结果
//for(i=0;i<SI;i++)
// for(j=0;j<SI;j++)
// {printf("%12lf",x[i][j]);
// if(j==SI-1)printf("\n");
// }
//y方向
for(i=0;i<SI;i++)
for(j=0;j<SI;j++)
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载