📄 median_33.c
字号:
/*============================================================================*/
/* 2006.02 for DSP training lab
/*============================================================================*/
void median_3x3(unsigned char * in_data, int cols, unsigned char * out_data)
{
unsigned char * line0, * line1, *line2;
int i,j,k;
line0 = in_data;
line1 = line0 + cols;
line2 = line1 + cols;
for (i = 0; i <(cols-2); i++)
{
unsigned char temp[9],temp1;
//将需要排序的9个数存在temp中
temp[0] = *line0+i;
temp[1] = *(line0+i+1);
temp[2] = *(line0+i+2);
temp[3] = *line1+i;
temp[4] = *(line1+i+1);
temp[5] = *(line1+i+2);
temp[6] = *line2+i;
temp[7] = *(line2+i+1);
temp[8] = *(line2+i+2);
//开始排序,冒泡法,找到第五个最大值
for (k=0;k<5;k++)
{
for (j=0;j<(8-k);j++)
{
if (temp[j]>temp[j+1])
{
temp1=temp[j];
temp[j]=temp[j+1];
temp[j+1]=temp1;
}
}
}
*out_data++ = temp[4];
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -