第5章 Python 数字图像处理(DIP) - 图像复原与重建8 - 估计噪声参数
标题
- 估计噪声参数
估计噪声参数
周期噪声的参数通常是通过检测图像的傅里叶谱来估计的。
只能使用由传感器生成的图像时,可由一小片恒定的背景灰度来估计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−1ziPS(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 - 估计噪声参数相关推荐
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建1 - 高斯噪声
本章主要讲图像复原与重建,首先是了解一下各种噪声的特点与模型,还有形成的方法.一些重点的噪声,如高斯噪声,均匀噪声,伽马噪声,指数噪声,还有椒盐噪声等. 本章主要的噪声研究方法主要是加性噪声. 标题 ...
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建7 - 周期噪声 余弦噪声生成方法
标题 周期噪声 周期噪声 周期噪声通常是在获取图像期间由电气或机电干扰产生的 def add_sin_noise(img, scale=1, angle=0):"""ad ...
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建6 - 椒盐噪声
标题 椒盐噪声 椒盐噪声 如果kkk是一幅数字图像中表示灰度值的比特数,则灰度值可能是[0,2k−1][0, 2^k -1][0,2k−1].椒盐噪声的PDF为: P(z)={Ps,z=2k−1Pp, ...
- 第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章 Python 数字图像处理(DIP) - 图像复原与重建4 - 指数噪声
标题 指数噪声 指数噪声 指数噪声的PDF为 P(z)={ae−az,z≥00,z<0(5.10)P(z) = \begin{cases} ae^{-az}, & z\geq 0 \\ ...
- 第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) ...
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建12 - 空间滤波 - 使用频率域滤波降低周期噪声 - 陷波滤波、最优陷波滤波
标题 使用频率域滤波降低周期噪声 陷波滤波深入介绍 最优陷波滤波 本章陷波滤波器有部分得出的结果不佳,如果有更好的解决方案,请赐教,不胜感激. 使用频率域滤波降低周期噪声 陷波滤波深入介绍 零相移滤波 ...
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建17 - 由投影重建图像、雷登变换、投影、反投影、反投影重建
标题 由投影重建图像 投影和雷登变换 Johann Radon 反投影 滤波反投影重建 由投影重建图像 本由投影重建图像,主要是雷登变换与雷登把变换的应用,所以也没有太多的研究,只为了保持完整性,而添 ...
- 第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[ ...
最新文章
- python2 安装faiss-gpu 报错 faiss/faiss/python/swigfaiss.i:241: Error: Unable to find ‘faiss/impl/platfo
- Spring事务管理 与 SpringAOP
- 聊聊这两年学习slam啃过的书!
- Ubuntu无损扩展分区(目录)容量的方法
- Fortinet“安立方”架构获得NSS Labs BDS 组测试多攻击维度100%检出率佳绩
- 使用WDS安装Windows8.1
- MultiByteToWideChar和WideCharToMultiByte用法详解
- groovy定义变量获取当前时间_IDEA不愧为神器,结合Groovy脚本,简直无敌!
- 237. Delete Node in a Linked List
- R统计和作图文章汇总
- 4.3.1 jQuery基础(1)
- 让你提前认识软件开发(40):既要写好代码,又要写好文档
- 《Java基础学习笔记》JAVA基础
- android框架xUtils使用介绍
- 【MATLAB】构建WS小世界网络
- 2020-4-18 深度学习笔记20 - 深度生成模型 2 (深度信念网络DBN,深度玻尔兹曼机DBM)
- 微信企业号开发,给用户推送信息
- 自动化1121和1122班学生链接
- java解压出来损坏_ZipOutputStream创建损坏的(可解压缩的)zip文件
- 以下是一些常用的上位机开发工具: