标题

  • 均匀噪声

均匀噪声

均匀噪声的PDF为
P(z)={1b−a,a≤z≤b0,other(5.13)P(z) = \begin{cases}\frac{1}{b-a}, & a\leq z \leq b \\ 0, & \text{other}\end{cases} \tag{5.13}P(z)={b−a1​,0,​a≤z≤bother​(5.13)

均值和方差为
zˉ=a+b2(5.14)\bar{z} = \frac{a + b}{2} \tag{5.14}zˉ=2a+b​(5.14)
σ2=(b−a)212(5.15)\sigma^2 = \frac{(b - a)^2}{12} \tag{5.15}σ2=12(b−a)2​(5.15)

def average_pdf(z, a=1, b=2):"""create average PDF, math $$P(z) = \begin{cases}\frac{1}{b-a}, & a\leq z \leq b \\ 0, & \text{other}\end{cases} $$param: z: input grayscale value of iamgeparam: a: uint, if image value. it could be float as well.param: b: uint, if image value. b > a, it could be float as well."""assert b > a, "b must greater than a"average = 1 / (b - a)average = np.where(z < a, 0, average)average = np.where(z > b, 0, average)return average

更正下面代码,如果之前已经复制的,也请更正

def add_average_noise(img, mean=0, sigma=800):"""add average noise for imageparam:  img:     input image, dtype=uint8param:  mean:     noise meanparam:  sigma:     noise sigmareturn: image_out: image with average noise"""# image = np.array(img/255, dtype=float) # 这是有错误的,将得不到正确的结果,修改如下image = np.array(img, dtype=float)a = 2 * mean - np.sqrt(12 * sigma)b = 2 * mean + np.sqrt(12 * sigma)noise = np.random.uniform(a, b, image.shape)image_out = image + noiseimage_out = np.uint8(normalize(image_out)*255)return image_out
# 均匀噪声
a = 8
b = 9
z = np.linspace(0, 10, 200)z_ = (a + b) / 2
sigma = (b - a)**2 / 12print(f"z_ -> {z_}, sigma -> {sigma}")mean = average_pdf(z, a=a, b=b)plt.figure(figsize=(9, 6))
plt.plot(z, mean)
plt.show()
z_ -> 8.5, sigma -> 0.08333333333333333

# 均匀噪声
# img_ori = np.ones((512, 512)) * 128
img_ori = cv2.imread("DIP_Figures/DIP3E_Original_Images_CH05/Fig0503 (original_pattern).tif", 0)
img_average = add_average_noise(img_ori, mean=10, sigma=150)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_average, 'gray', vmin=0, vmax=255), plt.xticks([]), plt.yticks([])plt.tight_layout()
plt.show()

hist, bins = np.histogram(img_average.flatten(), bins=255, range=[0, 255], density=True)
bar = plt.bar(bins[:-1], hist[:])

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

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

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

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

    标题 估计噪声参数 估计噪声参数 周期噪声的参数通常是通过检测图像的傅里叶谱来估计的. 只能使用由传感器生成的图像时,可由一小片恒定的背景灰度来估计PDF的参数. 来自图像条带的数据的最简单用途是,计 ...

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

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

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

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

  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. 计算机三级考试网络技术怎么复习,2017计算机三级考试的三大复习阶段(网络技术为例)...
  2. 安装交叉工具链arm-linux-gcc
  3. my paper in EI
  4. 用python处理文本数据_用Python读取几十万行文本数据
  5. 16位汇编 寄存器的操作
  6. mysql查询语句不返回_PHP-CI MySQL查询联接表,并且where语句不返回所...
  7. 【前端面试】字节跳动2019校招面经 - 前端开发岗(二)
  8. pytorch自动求梯度—详解
  9. 事务不在活跃oracle,MYSQL性能优化笔记_2
  10. 系统更新后mysql用不了中文,Mysql在debian系统中不能插入中文的终极解决方案
  11. 使用Audition将PCM格式转Wav格式
  12. Android动态生成答题卡,好分数怎样制作答题卡
  13. Selenium获取浏览器Network数据包
  14. BZOJ3654 : 图样图森破
  15. php生成拟合线,excel拟合曲线怎么做
  16. 对服务器系统盘扩容,服务器系统盘扩容
  17. 厕所地图,玩出新花样!
  18. 不知道时光机特效什么软件好?这几个时光机特效软件安利给你
  19. 关于如何使用C++读取.dbf文件
  20. 关于数据库突然变得很卡,然后发现数据库文件变的超大的时候

热门文章

  1. T4((Text Template Transformation Toolkit))模版引擎之基础入门 C#中文本模板(.tt)的应用...
  2. UI自动化之元素定位(xpath、css)
  3. 1070: [SCOI2007]修车
  4. spring boot 加载application配置文件
  5. vue.js devtools的安装
  6. Android判断应用或Activity是否存在
  7. ES5-拓展 this指向的总结
  8. 微信小程序模仿开眼视频app(一)——视频首页、视频详情、分类
  9. let const缓存for循环的中间变量
  10. django中FastDFS客户端与自定义文件存储系统