wenluderen
论坛版主
论坛版主
  • 最后登录2017-03-29
  • 发帖数291
  • 金币4653枚
  • 贡献勋章0枚
  • 社区居民
  • 社区明星
  • 忠实会员
  • 喜欢达人
  • 原创写手
阅读:15251回复:131

图像处理四部曲 之第一部曲 图像降噪 和图像处理的核心底层理念: 模板 (也可说是 结构元素 等)

楼主#
更多 发布于:2014-12-27 15:46

(以下内容是我个人理解,请黑土老师 和众位前辈斧正)

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

大家拿到一张图片 很多时候都有些噪点或是模糊不清的东西。对于这些模糊不清的干扰 ,我们需要将其去除。

根据噪声的不同,有不同的处理方式。有些模糊比如 :雾,是很难处。最近有个国人搞定一种算法,也是可以把雾气除掉。很牛X的感觉。

http://pan.baidu.com/s/1bnARN0z

---2015-04-04补充。

×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

我们对一张 为了提取我们需要的 东西, 比如说 颜色  ,文字, 形状 ,尺寸 ,匹配,畸变矫正,伤痕,目标寻找以及其他形态学分析 都要使用模板。

所谓模板就是一个图像,但通常来说这个图像都比较简单。例如以下内容就是常见的模板。

(用数学上严谨的术语来说   模板是一个矩阵)。

图片:2014-12-27_151703.jpg

用图形表示的模板

图片:2014-12-27_153527.jpg

我们使用这个模板 对图像做处理,以期得到我们数据。

模板的选择和设计是非常重要的,以至于选择好一个模板 就代表一个突破。

很多人一直研究模板, 研究出的模板 就会这些人的名字 命名。

比如:

图片:2014-12-27_153751.jpg

××××××××××我是美丽的分割线××××××××××××××××××××××××××××××××××××

光有模板还是不够的,打个比方说罢。

目标图像就是被加工的木头,模板就是加工的工具 (斧头,刨子,凿子,墨斗,鲁班尺)。

如何使用工具(模板)呢? 就是函数。 下面有请这些函数的老爹 闪亮登场。

高斯  特拉斯  。

××××××××××××××××××××××××××××××××××××××××××××××××××

就像 每种加工工艺(函数)都有其工具一样。

比如 劈开木头 要用斧头, 将木头表面作平 用刨子, 在木头上面钻孔用 凿子, 量木头的尺寸用 墨斗,

校准用鲁班尺一样。

每种函数也都有其工具使用。

学习影像处理 往往都是 学习  用某种函数 操作某种模板 处理目标图像的过程。

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

噪声的种类:

一:高斯噪声

二:瑞利噪声

三:爱尔兰(伽马)噪声

四:指数噪声

五:均匀噪声

六:脉冲噪声(双极脉冲噪声又名椒盐噪声)

七:周期噪声

.。。。。。。

wenluderen
论坛版主
论坛版主
  • 最后登录2017-03-29
  • 发帖数291
  • 金币4653枚
  • 贡献勋章0枚
  • 社区居民
  • 社区明星
  • 忠实会员
  • 喜欢达人
  • 原创写手
沙发#
发布于:2014-12-27 16:07
主题:处理椒盐噪声。
一:何为椒盐噪声。
俺们把出现随机,但是噪声的幅值确定的噪声 称之为 椒盐噪声。
二:典型椒盐 图例。

图片:2014-12-27_155109.jpg



三: 使用哪种模板呢?
感谢前辈 ,发明中值滤波器(你叫他中值模板也可以,)
下面请中值模板闪亮登场

图片:2014-12-27_155524.jpg



中值滤波器(或者中值矩阵)的特点是 矩阵内元素个数必须是奇数,(至于为啥是奇数 往下看就知道了)
四:中值函数
话说有了中值模板 就要使用中值函数。
那么什么中值函数呢? 见下图。


  

图片:2014-12-27_160250.jpg

图片:2014-12-27_160457.jpg

图片:2014-12-27_160630.jpg


×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
后记:想一想椒盐噪声的特点  各位老大 是否明白了 为啥中值滤波可以把 椒盐噪声干掉呢?


这是因为 椒盐噪声在排序的时候 铁定 排不到数组的中间位置,所以注定被替换掉。
arthasli
助理工程师
助理工程师
  • 最后登录2017-06-23
  • 发帖数34
  • 金币455枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
板凳#
发布于:2014-12-27 16:16
不错的说明。值得大家学习。
wenluderen
论坛版主
论坛版主
  • 最后登录2017-03-29
  • 发帖数291
  • 金币4653枚
  • 贡献勋章0枚
  • 社区居民
  • 社区明星
  • 忠实会员
  • 喜欢达人
  • 原创写手
地板#
发布于:2014-12-27 16:48
主题:处理高斯噪声。

说起高斯这家伙 ,不论在哪个技术领域混的 都耳闻过此人。鄙人谷歌了一下,原来此人相当牛X,
15岁上大学,人称“数学王子”,还是物理学家,天文学家,大地测量学家。用现在的流行话来说就是
狂拽酷炫屌炸天了。 换成文辞来说就是前无古人后无来者。

话题扯远了,言归正传。 说 高斯噪声。


一:高斯噪声的简单定义是:出现位置固定(每个位置都有),幅值随机。
二:典型高斯噪声 。见下图

图片:2014-12-27_163247.jpg



似乎是在做梦
三:使用哪种模板呢?
就是均值模板。 均值模板的

图片:2014-12-27_163650.jpg



啥? 怎么和中值模板一样?  就是一样的 关键是函数不一样。


四: 均值模板的函数
见下图。

图片:2014-12-27_163923.jpg




图片:2014-12-27_164204.jpg



多说一句 至于如何选择模板矩阵中每个位置的权重  是一门学问,有专门的人在研究。
对于初学者来说。 每个权重都是1 ,最后相加除以9好了。
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
PS: 为啥  均值滤波可以高斯噪声干掉呢?
谷歌了一下,话说这个高斯噪声符合正态分布,正态分布的均值是0,所以均值滤波可以大幅度删除高斯噪声。
wenluderen
论坛版主
论坛版主
  • 最后登录2017-03-29
  • 发帖数291
  • 金币4653枚
  • 贡献勋章0枚
  • 社区居民
  • 社区明星
  • 忠实会员
  • 喜欢达人
  • 原创写手
4楼#
发布于:2014-12-27 20:44
周期噪声
(马上下班了,先开个头)
说起这周期噪声,就不得不提一位大神,一位让无数人死去活来的大神。
他就是傅立叶。这位大神的牛X程度不亚于 高斯。他的主要 贡献是 傅立叶变换 。
作用将符合一些要求的函数 写成  三角函数 (就是  sin  cos )有人会说这有啥?
这有麻用?当年我也是这么迷惑的。后来发现傅立叶变化在现实有个极其重要的用途,
抛开咱这图像处理不算,说另一个例子:汽车变速箱齿轮故障判断。
大家都知道这变速箱了有一堆齿轮,你咬我啊 我啃着你啊。。。
天天你咬我  我啃你 怎么会不出事呢? 结果有一天 你的牙崩了。牙崩了? 这可咋办呢?换掉吧。
要换掉你 就要找到你,如何找到你?有些人说了  打开变速箱的盖子 一个个看不就是了?
可以是可以 不过也太落后了 这时候就要请大神傅立叶附体。
大神傅立叶是如何做的呢?
第一部:将变速箱转起来。
第二步:录制声音曲线
第三步:将曲线函数做傅立叶变换
第四步:找出有缺陷的 周期。
第五步:对照每个齿轮的周期    ,然后就知道是那个齿轮的牙崩了。  搞定收工。 上猪头 供奉傅立叶。


牛皮吹完了,言归正传。说周期噪声去除。


一:啥是周期噪声?
周期噪声的特点是:噪声呈现出波浪形
二:典型的周期噪声

图片:周期噪声.jpg


 


三:滤波 模板
周期的噪声的滤波 模板   是比较简单的。就是将图像的频谱图(频谱图右傅立叶变化得到)删掉一部分
四:周期噪声的滤波函数
傅立叶傅立叶和反傅立叶变换
上图经过傅立叶变化的得到是下图(我使用的HALCON里面的傅立叶变换)

图片:2014-12-27_204303.jpg



通过某些方法 将上图四个小亮点 干掉,然后执行反傅立叶变化。就可以达到去除周期噪声的目的。


×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
后记:傅立叶函数可以将时域的图像 转化频率的图像。
在时域周期表现的噪声 将会频域中集中出现一个地方,这样就好处理了。
nunknunk
助理工程师
助理工程师
  • 最后登录2016-10-09
  • 发帖数41
  • 金币378枚
  • 贡献勋章0枚
5楼#
发布于:2014-12-28 22:43
楼主讲得非常不错,通俗易懂,赞!
chanytu
助理工程师
助理工程师
  • 最后登录2017-08-15
  • 发帖数25
  • 金币484枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
6楼#
发布于:2014-12-29 08:41
讲得非常好,值得好好学习,赞!
gczzcgq
助理工程师
助理工程师
  • 最后登录2017-06-19
  • 发帖数54
  • 金币490枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
7楼#
发布于:2014-12-29 13:34
lz讲得好,好帖子是要顶的
jon_liu
高级工程师
高级工程师
  • 最后登录2017-08-16
  • 发帖数191
  • 金币1204枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
8楼#
发布于:2014-12-29 15:49
觉悟太高了,理解的太好了
halstudy_Cherry
技术员
技术员
  • 最后登录2016-02-24
  • 发帖数23
  • 金币196枚
  • 贡献勋章0枚
  • 社区居民
9楼#
发布于:2014-12-30 10:16
不错的帖子,楼主学得很细致。学习了,顶起!
fengxiaoyun987
专家
专家
  • 最后登录2017-08-18
  • 发帖数681
  • 金币2388枚
  • 贡献勋章0枚
  • 社区居民
  • 原创写手
10楼#
发布于:2014-12-30 16:44
很是受教,学习了!楼主的确讲的通俗易懂!
lcymizuno
初学者
初学者
  • 最后登录2016-03-14
  • 发帖数16
  • 金币88枚
  • 贡献勋章0枚
  • 社区居民
11楼#
发布于:2014-12-31 09:10
大神啊,学习了~~~~
simpleyzf
工程师
工程师
  • 最后登录2017-06-11
  • 发帖数44
  • 金币826枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
12楼#
发布于:2014-12-31 11:17
如果每本书都能像楼主这样讲的话,我宁愿天天读书
RainDong
助理工程师
助理工程师
  • 最后登录2017-07-18
  • 发帖数40
  • 金币239枚
  • 贡献勋章0枚
  • 社区居民
13楼#
发布于:2015-01-01 18:58
受教了。。。。。。。
nian16
高级工程师
高级工程师
  • 最后登录2016-11-05
  • 发帖数158
  • 金币1940枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
14楼#
发布于:2015-01-02 10:20
给楼主点赞,通俗易懂。
上一页
游客

返回顶部