标题

  • 估计噪声参数

估计噪声参数

周期噪声的参数通常是通过检测图像的傅里叶谱来估计的。

只能使用由传感器生成的图像时,可由一小片恒定的背景灰度来估计PDF的参数。

来自图像条带的数据的最简单用途是,计算灰度级的均值和方差。考虑由SSS表示的一个条带(子图像),并令PS(zi)P_{S}(z_i)PS​(zi​),i=0,1,2,…,L−1i = 0, 1, 2, \dots, L-1i=0,1,2,…,L−1表示SSS中的像素灰度的概率估计(归一化直方图值),其中LLL是整数个图像中的可能灰度(对8比特而言,LLL为256)。则均值和方差估计如下:
zˉ=∑i=0L−1ziPS(zi)(5.19)\bar{z} = \sum_{i=0}^{L-1}z_{i}P_{S}(z_{i}) \tag{5.19}zˉ=i=0∑L−1​zi​PS​(zi​)(5.19)
σ2=∑i=0L−1(zi−zˉ)2PS(zi)(5.20)\sigma^2 = \sum_{i=0}^{L-1}(z_{i} -\bar{z})^2 P_{S}(z_{i}) \tag{5.20}σ2=i=0∑L−1​(zi​−zˉ)2PS​(zi​)(5.20)

直方图的形状确认最接近的PDF匹配。若形状大致为高斯分布的,则均值和方差就是我们所需要的,因为高斯PDF完全由这两个参数规定。对于其它PDF,我们可以使用均值和方差来求解参数aaa和bbb。

对于冲激噪声的处理是不同的,因为需要的估计是黑、白像素出现的实际概率。要获得这个估计,就需要看到黑色像素和白色像素,因此要算出噪声的有意义的直方图,图像中就需要有一个相对恒定的中灰度区域。对应于黑色像素和白色像素的峰值高度是式(5.16)中PpP_pPp​和PsP_sPs​的估计。

# 一些重要的噪声对应灰度的直方图
img_ori = cv2.imread("DIP_Figures/DIP3E_Original_Images_CH05/Fig0503 (original_pattern).tif", 0)
# 竖图[40:210, 35:60],横图[40:60, 35:220]
img_gauss       = add_gaussian_noise(img_ori, mu=0, sigma=0.05)[40:60, 35:220]
img_rayleigh    = add_rayleigh_noise(img_ori, a=1)[40:60, 35:220]
img_gamma       = add_gamma_noise(img_ori, scale=2)[40:60, 35:220]
img_exponent    = add_exponent_noise(img_ori, scale=3)[40:60, 35:220]
img_average     = add_average_noise(img_ori, mean=10, sigma=1.5)[40:60, 35:220]ps = 0.05
pp = 0.02
img_salt_pepper = add_salt_pepper(img_ori, ps=ps, pp=pp)[40:60, 35:220]show_list = ['img_gauss', 'img_rayleigh', 'img_gamma', 'img_exponent', 'img_average', 'img_salt_pepper']fig = plt.figure(figsize=(15, 15))for i in range(len(show_list)):if i >= 3:# 显示图像ax = fig.add_subplot(4, 3, i + 3 + 1)ax.imshow(eval(show_list[i]), 'gray'), ax.set_xticks([]), ax.set_yticks([]), ax.set_title(show_list[i].split('_')[-1])# 对应图像的直方图ax = fig.add_subplot(4, 3, i + 1 + 6)hist, bins = np.histogram(eval(show_list[i]).flatten(), bins=255, range=[0, 255], density=True)bar = ax.bar(bins[:-1], hist[:]), ax.set_xticks([]), ax.set_yticks([]),else:# 显示图像ax = fig.add_subplot(4, 3, i + 1)ax.imshow(eval(show_list[i]), 'gray'), ax.set_xticks([]), ax.set_yticks([]), ax.set_title(show_list[i].split('_')[-1])# 对应图像的直方图ax = fig.add_subplot(4, 3, i + 1 + 3)hist, bins = np.histogram(eval(show_list[i]).flatten(), bins=255, range=[0, 255], density=True)bar = ax.bar(bins[:-1], hist[:]), ax.set_xticks([]), ax.set_yticks([]),plt.tight_layout()
plt.show()

# 椒盐噪声的参数估计
hist, bins = np.histogram(img_salt_pepper.flatten(), bins=255, range=[0, 255], density=True)
print(f"Original pp -> {pp:.3f}, ps -> {ps:.3f}")
print(f'Estimate PP -> {hist[0]:.3f}, PS -> {hist[-1]:.3f}')
Original pp -> 0.020, ps -> 0.050
Estimate PP -> 0.018, PS -> 0.050
# 内嵌图像
fig, main_ax = plt.subplots()
hist, bins = np.histogram(img_gauss.flatten(), bins=255, range=[0, 255], density=True)
bar = main_ax.bar(bins[:-1], hist[:]), main_ax.set_xticks([]), main_ax.set_yticks([])inset_ax = fig.add_axes([0.1, 0.3, 0.2, 0.5])
inset_ax.imshow(img_gauss.reshape(185, 20), 'gray'), inset_ax.set_xticks([]), inset_ax.set_yticks([])plt.show()

第5章 Python 数字图像处理(DIP) - 图像复原与重建8 - 估计噪声参数相关推荐

  1. 第5章 Python 数字图像处理(DIP) - 图像复原与重建1 - 高斯噪声

    本章主要讲图像复原与重建,首先是了解一下各种噪声的特点与模型,还有形成的方法.一些重点的噪声,如高斯噪声,均匀噪声,伽马噪声,指数噪声,还有椒盐噪声等. 本章主要的噪声研究方法主要是加性噪声. 标题 ...

  2. 第5章 Python 数字图像处理(DIP) - 图像复原与重建7 - 周期噪声 余弦噪声生成方法

    标题 周期噪声 周期噪声 周期噪声通常是在获取图像期间由电气或机电干扰产生的 def add_sin_noise(img, scale=1, angle=0):"""ad ...

  3. 第5章 Python 数字图像处理(DIP) - 图像复原与重建6 - 椒盐噪声

    标题 椒盐噪声 椒盐噪声 如果kkk是一幅数字图像中表示灰度值的比特数,则灰度值可能是[0,2k−1][0, 2^k -1][0,2k−1].椒盐噪声的PDF为: P(z)={Ps,z=2k−1Pp, ...

  4. 第5章 Python 数字图像处理(DIP) - 图像复原与重建5 - 均匀噪声

    标题 均匀噪声 均匀噪声 均匀噪声的PDF为 P(z)={1b−a,a≤z≤b0,other(5.13)P(z) = \begin{cases}\frac{1}{b-a}, & a\leq z ...

  5. 第5章 Python 数字图像处理(DIP) - 图像复原与重建4 - 指数噪声

    标题 指数噪声 指数噪声 指数噪声的PDF为 P(z)={ae−az,z≥00,z<0(5.10)P(z) = \begin{cases} ae^{-az}, & z\geq 0 \\ ...

  6. 第5章 Python 数字图像处理(DIP) - 图像复原与重建2 - 瑞利噪声

    标题 瑞利噪声 瑞利噪声 瑞利噪声的PDF为 P(z)={2b(z−a)e−(z−a)2/b,z≥a0,z<a(5.4)P(z) = \begin{cases} \frac{2}{b}(z-a) ...

  7. 第5章 Python 数字图像处理(DIP) - 图像复原与重建12 - 空间滤波 - 使用频率域滤波降低周期噪声 - 陷波滤波、最优陷波滤波

    标题 使用频率域滤波降低周期噪声 陷波滤波深入介绍 最优陷波滤波 本章陷波滤波器有部分得出的结果不佳,如果有更好的解决方案,请赐教,不胜感激. 使用频率域滤波降低周期噪声 陷波滤波深入介绍 零相移滤波 ...

  8. 第5章 Python 数字图像处理(DIP) - 图像复原与重建17 - 由投影重建图像、雷登变换、投影、反投影、反投影重建

    标题 由投影重建图像 投影和雷登变换 Johann Radon 反投影 滤波反投影重建 由投影重建图像 本由投影重建图像,主要是雷登变换与雷登把变换的应用,所以也没有太多的研究,只为了保持完整性,而添 ...

  9. 第5章 Python 数字图像处理(DIP) - 图像复原与重建16 - 约束最小二乘方滤波、几何均值滤波

    标题 约束最小二乘方滤波 几何均值滤波 约束最小二乘方滤波 F^(u,v)=[H∗(u,v)∣H(u,v)∣2+γ∣P(u,v)∣2]G(u,v)(5.89)\hat{F}(u,v) = \bigg[ ...

最新文章

  1. python2 安装faiss-gpu 报错 faiss/faiss/python/swigfaiss.i:241: Error: Unable to find ‘faiss/impl/platfo
  2. Spring事务管理 与 SpringAOP
  3. 聊聊这两年学习slam啃过的书!
  4. Ubuntu无损扩展分区(目录)容量的方法
  5. Fortinet“安立方”架构获得NSS Labs BDS 组测试多攻击维度100%检出率佳绩
  6. 使用WDS安装Windows8.1
  7. MultiByteToWideChar和WideCharToMultiByte用法详解
  8. groovy定义变量获取当前时间_IDEA不愧为神器,结合Groovy脚本,简直无敌!
  9. 237. Delete Node in a Linked List
  10. R统计和作图文章汇总
  11. 4.3.1 jQuery基础(1)
  12. 让你提前认识软件开发(40):既要写好代码,又要写好文档
  13. 《Java基础学习笔记》JAVA基础
  14. android框架xUtils使用介绍
  15. 【MATLAB】构建WS小世界网络
  16. 2020-4-18 深度学习笔记20 - 深度生成模型 2 (深度信念网络DBN,深度玻尔兹曼机DBM)
  17. 微信企业号开发,给用户推送信息
  18. 自动化1121和1122班学生链接
  19. java解压出来损坏_ZipOutputStream创建损坏的(可解压缩的)zip文件
  20. 以下是一些常用的上位机开发工具:

热门文章

  1. Python学习(二)语言基础
  2. tonardo做web服务器播放大视频内存泄露问题的解决
  3. ${oid?c}的使用
  4. Layui --- [Mar]给渲染后的表格加CSS样式
  5. 线程队列-queue
  6. Linux 解决ssh连接慢的问题
  7. 《交互式程序设计 第2版》一3.6 关系比较
  8. 互联网产品研发的典型流程
  9. VMware 怎么进入BIOS
  10. 如何为 Horizon View 配置 VMware VSAN?