第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)e^{-(z-a)^2/b}, & z \ge a \\ 0, & z < a\end{cases} \tag{5.4}P(z)={b2(z−a)e−(z−a)2/b,0,z≥az<a(5.4)
均值和方差为
zˉ=a+πb/4(5.5)\bar{z} = a + \sqrt{\pi b /4} \tag{5.5}zˉ=a+πb/4(5.5)
σ2=b(4−π)4(5.6)\sigma^2 = \frac{b(4-\pi)}{4} \tag{5.6}σ2=4b(4−π)(5.6)
def rayleigh_pdf(z, a=3, b=2):assert b != 0, "b is denominator, cannot be zero!!!"output = (2 / b )* (z - a) * np.exp(-((z - a)**2 )/b)output = np.where(z > a, output, 0)return output
更正下面代码,如果之前已经复制的,也请更正
def add_rayleigh_noise(img, a=3):"""add rayleigh noise for imageparam: img: input image, dtype=uint8param: mean: noise meanparam: sigma: noise sigmareturn: image_out: image with rayleigh noise"""# image = np.array(img/255, dtype=float) # 这是有错误的,将得不到正确的结果,修改如下image = np.array(img, dtype=float)# ============== numpy.random.rayleigh======noise = np.random.rayleigh(a, size=image.shape)image_out = image + noiseimage_out = np.uint8(normalize(image_out)*255)return image_out
# 瑞利PDF
a = 10
b = 400
z = np.linspace(0, 255, 200)z_ = a + np.sqrt(np.pi*b/4)
sigma = (b * (4 - np.pi)) / 4
peak_x = a + np.sqrt(b/2)
peak_y = 0.607 * np.sqrt(2/b)print(f"z_ -> {z_}, sigma^2 -> {sigma}")rayleigh = rayleigh_pdf(z, a=a, b=b)plt.figure(figsize=(9, 6))
plt.plot(z, rayleigh), #plt.xticks([a, peak_x]), plt.yticks([0, peak_y])
plt.show()
z_ -> 27.72453850905516, sigma^2 -> 85.84073464102069
# 瑞利噪声
img_ori = cv2.imread("DIP_Figures/DIP3E_Original_Images_CH05/Fig0503 (original_pattern).tif", 0)
# img_ori = np.ones((512, 512)) * 128
img_rayleigh = add_rayleigh_noise(img_ori, a=30)plt.figure(figsize=(9, 6))
plt.subplot(121), plt.imshow(img_ori, 'gray', vmin=0, vmax=255), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(img_rayleigh, 'gray', vmin=0, vmax=255), plt.xticks([]), plt.yticks([])plt.tight_layout()
plt.show()
hist, bins = np.histogram(img_rayleigh.flatten(), bins=255, range=[0, 255], density=True)
bar = plt.bar(bins[:-2], hist[:-1])
第5章 Python 数字图像处理(DIP) - 图像复原与重建2 - 瑞利噪声相关推荐
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建1 - 高斯噪声
本章主要讲图像复原与重建,首先是了解一下各种噪声的特点与模型,还有形成的方法.一些重点的噪声,如高斯噪声,均匀噪声,伽马噪声,指数噪声,还有椒盐噪声等. 本章主要的噪声研究方法主要是加性噪声. 标题 ...
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建8 - 估计噪声参数
标题 估计噪声参数 估计噪声参数 周期噪声的参数通常是通过检测图像的傅里叶谱来估计的. 只能使用由传感器生成的图像时,可由一小片恒定的背景灰度来估计PDF的参数. 来自图像条带的数据的最简单用途是,计 ...
- 第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) - 图像复原与重建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[ ...
最新文章
- IDEA设置单个文件、单个包、单个项目的编码格式
- 2022-2028年中国塑料网格板行业市场行情动态及发展趋向分析报告
- oracle未找到远程连接,Oracle ORA-02019:未找到远程数据库的连接说明 | 学步园
- Linux下通用的Makefile
- java前言_Java Web前言
- 零售业有效利用物联网的几种方法
- 【树状数组】HDU 1166 敌兵布阵
- 开发商微信选房后不退认筹金_新楼盘开盘的“认筹”和“认购”,劝您看懂后再去认!...
- 学习笔记:自己编译安装OpenCV+测试opencv安装是否成功
- FileUtils工具类的使用
- MESHLAB安装教程
- 软件开发成本估算方法
- 掌握如何使用Rose绘制活动图的方法
- b5纸尺寸_【收藏款】平面设计标准尺寸规范总结
- 2022-3-26JavaSE试卷-答案
- LeetCode题解 Day1数组的遍历
- 要实现一台电脑可以上公司内网也可以访问外网
- bboss redis组件使用实例
- 谷歌浏览器账号密码自动填充和明文显示问题
- 工业机器人编程语言入门_人工智能和机器学习入门的5种编程语言