智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5104|回复: 10
打印 上一主题 下一主题

[摄像头] 摄像头中值滤波中的一个不解

[复制链接]

1

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
210
威望
118
贡献
56
兑换币
75
注册时间
2012-12-16
在线时间
18 小时
毕业学校
浙江万里学院
跳转到指定楼层
1#
发表于 2013-3-27 19:46:43 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
1贡献
void Image_Filte(void) {
  unsigned char *a_point,*b_point,*c_point;
  unsigned char a,b,c,d,i,j;     
  for(i=0;i<ROW;i++) {
     for(j=1;j<COLUMN;j++){
     a_point=&Buffer[i][j-1];
     b_point=&Buffer[i][j];
     c_point=&Buffer[i][j+1];  
      a=*a_point;
      b=*b_point;
      c=*c_point;   
   if(a>=b) {
        d=b;b=a;a=d;
      }
   if(a>=c){
        d=c;c=a;a=d;
      }  
    if(b>=c){
        d=c;c=b;b=d;
      }
     *(b_point)=b;
     }              
  }
}


*(b_point)的值不是每次都会被Buffer[i][j]; 重新赋值吗?请问这里面的 *(b_point)=b;是什么作用
其中ROW是行数,COLUMN是列数

1

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
210
威望
118
贡献
56
兑换币
75
注册时间
2012-12-16
在线时间
18 小时
毕业学校
浙江万里学院
2#
 楼主| 发表于 2013-3-29 15:38:40 | 显示全部楼层
1228463834 发表于 2013-3-27 22:25
首先 *(b_point)等于 Buffer[j];     
然后经过排序后*(b_point)正好就是中值
最后这就滤波了

*()
回复

使用道具 举报

1

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
210
威望
118
贡献
56
兑换币
75
注册时间
2012-12-16
在线时间
18 小时
毕业学校
浙江万里学院
3#
 楼主| 发表于 2013-3-29 15:44:08 | 显示全部楼层
zhl1122 发表于 2013-3-29 15:38
*()

*(b_point)=b这句语句放在第二个for语句里面,那不是每次j改变一个值,*(b_point)都被重新赋值,最后*(b_point)的值应该是最后一个j所得到的,那前面被赋值不是没有意义了吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 04:14 , Processed in 0.047320 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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