智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2501|回复: 5
打印 上一主题 下一主题

求大神,为啥我写的这个中值滤波好像没啥效果的

[复制链接]

24

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1868
威望
994
贡献
478
兑换币
399
注册时间
2011-8-5
在线时间
198 小时
跳转到指定楼层
1#
发表于 2013-6-10 11:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神,为啥我写的这个中值滤波好像没啥效果的,代码测试过是没啥问题的呀,不知为啥没什么效果,还是有时候会有很多噪点,下面的异或是交换两个数
void mid_value_filter()
{
  int i,j;
  u8 tmp[3];
  for(i=h-1;i>=0;i--)
  {
    for(j=0;j<l-2;j++)
    {
        tmp[0]=photos1[i][j];
  tmp[1]=photos1[i][j+1];
  tmp[2]=photos1[i][j+2];
  if(tmp[1]>tmp[0])
  {
   tmp[0]=tmp[1]^tmp[0];
   tmp[1]=tmp[1]^tmp[0];
   tmp[0]=tmp[1]^tmp[0];
  }
  if(tmp[2]>tmp[1])
  {
   tmp[1]=tmp[1]^tmp[2];
   tmp[2]=tmp[1]^tmp[2];
   tmp[1]=tmp[1]^tmp[2];
  }
        if(tmp[1]>tmp[0])
  {
   tmp[0]=tmp[1]^tmp[0];
   tmp[1]=tmp[1]^tmp[0];
   tmp[0]=tmp[1]^tmp[0];
  }
  if(tmp[2]>tmp[1])
  {
   tmp[1]=tmp[1]^tmp[2];
   tmp[2]=tmp[1]^tmp[2];
   tmp[1]=tmp[1]^tmp[2];
  }
  photos1[i][j]=tmp[1];
    }
  }
}

12

主题

342

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4494

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

QQ
威望
2002
贡献
1188
兑换币
931
注册时间
2012-9-4
在线时间
652 小时
2#
发表于 2013-6-10 12:18:55 | 只看该作者
代码尽量写简洁一点!
回复 支持 反对

使用道具 举报

24

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1868
威望
994
贡献
478
兑换币
399
注册时间
2011-8-5
在线时间
198 小时
3#
 楼主| 发表于 2013-6-10 12:30:00 | 只看该作者
夏日的冰 发表于 2013-6-10 12:18
代码尽量写简洁一点!

这个不是问题,关键是效果好像没出来
回复 支持 反对

使用道具 举报

12

主题

342

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4494

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

QQ
威望
2002
贡献
1188
兑换币
931
注册时间
2012-9-4
在线时间
652 小时
4#
发表于 2013-6-10 12:39:51 | 只看该作者
没看你代码,测试过是没啥问题。你是怎么测试的?中值滤波有范围的,最明显的优点滤掉是单个突变点。如果噪音的突变超过1个就不行了。你看看是滤波器问题还是你的噪点不在中值滤波范围内!
回复 支持 反对

使用道具 举报

24

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1868
威望
994
贡献
478
兑换币
399
注册时间
2011-8-5
在线时间
198 小时
5#
 楼主| 发表于 2013-6-10 12:50:45 | 只看该作者
夏日的冰 发表于 2013-6-10 12:39
没看你代码,测试过是没啥问题。你是怎么测试的?中值滤波有范围的,最明显的优点滤掉是单个突变点。如果噪 ...

我觉得是超过了范围了,我看到有些噪点是连续的。。。有没有什么好的解决办法呢
回复 支持 反对

使用道具 举报

12

主题

342

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4494

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

QQ
威望
2002
贡献
1188
兑换币
931
注册时间
2012-9-4
在线时间
652 小时
6#
发表于 2013-6-10 13:01:13 | 只看该作者
p141592653 发表于 2013-6-10 12:50
我觉得是超过了范围了,我看到有些噪点是连续的。。。有没有什么好的解决办法呢

可以结合限幅与加权滤波!滤掉连续突变点,适用于虑大并且连续的噪点,但也并非万能,需要具体的情况分析!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-11 19:51 , Processed in 0.045888 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表