高级会员
- 积分
- 586
- 威望
- 276
- 贡献
- 172
- 兑换币
- 172
- 注册时间
- 2012-12-11
- 在线时间
- 69 小时
- 毕业学校
- 浙江工业大学
|
请问下各位大侠,我这个是不是算中值滤波?
想法是这样的:
对于除边缘一圈后的其余像素点,若出现灰度值在10以内或多余240的点就进行滤波
byte Mid_Filtering(byte a, byte b, byte c, byte d, byte e)
{
byte temp; //用于排序时两数交换
byte str[5];
str[0] = a;
str[1] = b;
str[2] = c;
str[3] = d;
str[4] = e;
for(i = 0; i < 5 ; i++) //冒泡排序
for(j = 0 ; j < 4 - i ; j++)
if(str[j] > str[j + 1])
{
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
return str[2]; //返回中值
}
////////////////////////////////////////////////////////////////////////////////////
if((pic[i][j] <=10 || pic[i][j] >= 240) && (i != 0) && (i != ROW) && (j != 0) && (j != COLUMN)) pic_temp[i][j] = Mid_Filtering(pic[i][j], pic[i][j -1], pic[i][j + 1], pic[i - 1][j], pic[i + 1][j]);
|
|