智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 14029|回复: 35
打印 上一主题 下一主题

大幅度减少xs128采集ov7620产生的噪点从而不用浪费资源进行中值滤波的一种奇妙的实现

  [复制链接]

5

主题

65

帖子

1

精华

高级会员

Rank: 4

积分
638
威望
314
贡献
236
兑换币
209
注册时间
2012-10-17
在线时间
44 小时
跳转到指定楼层
1#
发表于 2013-5-31 02:34:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 betesla 于 2013-5-31 02:34 编辑

废话少说,直接上主题:
1.xs128采集得到胡椒盐噪点的原因(引用自
新手入门摄像头-第六篇:数字摄像头使用常见问题FAQ 对于OV7620来说,行信号HREF与场信号VSYN的时间比较长,XS12的单片机足以捕捉到;但是OV7620的像素同步信号PCLK只有73ns,而XS12单片机的稳定总线时钟只有25M,很难捕捉到PCLK这个像素同步信号;而PCLK周期性输出,只有高电平数据有效,低电平数据无效。由于单片机和摄像头不能同步,只是凭借循环去读取IO口的图像数据,有极大的可能性读到PCLK的低电平即无效数据,在上位机呈现的就是噪点。另外,用XS128采集OV7620,本身OV7620的是30万像素,由于XS128能力较K60差,隔行隔像素采集,分辨率最终被降低到了3千像素,而且上位机显示还拉伸了图像,所以看起来图像质量比较差。



2.原理:采集时候来不及判断pclk的值,那就将这个值一起采集回来放在像素灰度值的最后一位,采集完毕就可以知道哪些像素是无效图像从而不用根据中值滤波才能处理噪点了。


3.将ov7620的pclk像素信号引脚接到进行灰度值采集的单片机输入口的最后一个引脚上(例如我用的是pa0-pa7,那么拔掉pa0原来的数据线,接上pclk的信号),这样在采集正常像素的时候,像素的灰度值有可能误差1(这点误差根本没什么影响),正常像素的最低位为1,但是异常像素的最低位为0。这样只要看采集回来的图像的每个像素点最低位是否为0便可判断是否是胡椒盐噪点,如果是胡椒盐噪点的话便赋值为左右两个点的均值。这样便可以只对每个像素进行一次比较,少数计算便可滤除噪点,相比于中值滤波,这样的优点是十分明显的。


4.2013年5月31日2:14:49 刚刚想出来的想法,不知道以前有人提起没有,对于想进行程序优化的朋友应该是一个不错的想法,明早上起来实现一下看看,实现过的同学不妨分享一下效果看看。。最近使用边缘跟踪算法,但是苦于图像的质量不好,经常跟踪错乱。。特别是胡椒盐噪点,无论是寻找起点的时候还是过程中都对边缘跟踪产生致命影响,而中值滤波似乎消耗运算资源太多了。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

1

查看全部评分

31

主题

1084

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5125

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

威望
2630
贡献
1311
兑换币
922
注册时间
2011-5-8
在线时间
592 小时
2#
发表于 2013-5-31 07:42:30 | 只看该作者
你还有心思搞毛的滤波,校内报销了 你就废了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

5

主题

65

帖子

1

精华

高级会员

Rank: 4

积分
638
威望
314
贡献
236
兑换币
209
注册时间
2012-10-17
在线时间
44 小时
3#
 楼主| 发表于 2013-5-31 08:19:57 | 只看该作者
1228463834 发表于 2013-5-31 07:42
你还有心思搞毛的滤波,校内报销了 你就废了

回复 支持 反对

使用道具 举报

47

主题

788

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6116
威望
3442
贡献
1406
兑换币
1753
注册时间
2012-2-3
在线时间
634 小时
毕业学校
浙江工业大学
4#
发表于 2013-5-31 08:58:23 | 只看该作者
想法很赞,可以一试,期待帖子的跟进
回复 支持 反对

使用道具 举报

5

主题

560

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3867

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

威望
2373
贡献
182
兑换币
711
注册时间
2012-4-15
在线时间
656 小时
5#
发表于 2013-5-31 09:56:10 | 只看该作者
顶一个
回复 支持 反对

使用道具 举报

11

主题

288

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
8436
QQ
威望
3906
贡献
2886
兑换币
1902
注册时间
2009-12-28
在线时间
822 小时
6#
发表于 2013-5-31 10:10:56 | 只看该作者
想法确实不错,可惜我们已经不用数字摄像头了
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

高级会员

Rank: 4

积分
915
威望
485
贡献
248
兑换币
134
注册时间
2012-4-13
在线时间
91 小时
毕业学校
河南科技大学
7#
发表于 2013-5-31 11:07:36 | 只看该作者
能介绍一下你的边缘跟踪法吗?
回复 支持 反对

使用道具 举报

2

主题

479

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
16171

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章资源大师奖章

威望
9831
贡献
3996
兑换币
2051
注册时间
2012-1-17
在线时间
1172 小时
8#
发表于 2013-5-31 11:29:00 | 只看该作者
不错,期待尝试
回复 支持 反对

使用道具 举报

140

主题

1016

帖子

2

精华

功勋会员

智能车八届元老!武汉岱默科技创始人!

Rank: 10Rank: 10Rank: 10

积分
32723

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
4239
贡献
25778
兑换币
1456
注册时间
2009-12-9
在线时间
1353 小时
9#
发表于 2013-5-31 16:15:02 | 只看该作者
楼主是动了脑筋的!非常赞!做法可行!
纠正下,一般我们都叫椒盐噪声,不叫胡椒盐噪点
另外,在任何存在噪声的前提下,中值滤波都是很有必要的,而且效率极高的
回复 支持 反对

使用道具 举报

5

主题

65

帖子

1

精华

高级会员

Rank: 4

积分
638
威望
314
贡献
236
兑换币
209
注册时间
2012-10-17
在线时间
44 小时
10#
 楼主| 发表于 2013-5-31 18:25:32 | 只看该作者
wodehaodxa 发表于 2013-5-31 11:07
能介绍一下你的边缘跟踪法吗?

先中心查找找到起点,再根据起点对八个方向的像素进行评估,评估的方法是计算从上一个像素到现在的像素所走的方向两边的灰度值之差的绝对值的和,取这个评估值最大的点作为之后前进的方向。这样循环迭代下去就能找到一条边缘。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 18:32 , Processed in 0.166144 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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