之前的笔记记录过如何生成高斯滤波模板,最近读到《图像处理》(冈萨雷斯)的第5章,书中提到高斯噪声,所以我在想,那么又如何生成高斯噪声呢?开始的想法是直接对高斯模板上每一个像素位置都乘上一个固定数值,用以模拟对图像的噪声叠加,但实际上这只是一个被放大倍数的高斯滤波模板,真正的高斯噪声是每一个像素位置都有一个符合同一高斯分布的加性噪声,具体加性高斯公式如下:
其中
是被添加高斯噪声后的图像,
是原图像,
是高斯加性噪声,那么接下来重点是如何生成高斯加性噪声,换句话说如何生成服从高斯分布的随机数据。
在网上查阅了生成高斯分布随机数据的方法,归纳有如下常用两种(还有很多种其他方法,以后有兴趣再进行调查):
- 使用中心极限定理生成服从高斯分布的随机数据
中心极限定理已经有很好的讲解了,这里贴出一个链接:
中心极限定理的最最通俗解释www.jianshu.com接下来介绍使用中心极限定理构建高斯随机数的步骤(以下假设均基于8位的灰度图进行):
- 对于在区间[a,b]内独立且服从均匀分布的随机数生成高斯随机数,该均匀分布的期望
为,方差为;
- 从区间[a,b]随机取m个数
(m>30,经验值),带入如下公式:
上面的公式是
的标准化变量 ,当m足够大时,
近似服从正态分布,
,
。
补充一下,随机变量X的标准化公式如下:
高斯随机数可以根据具体情况使用
或
。
- 使用Box-Muller变换生成高斯分布的随机数据