第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 \leq b \\ 0, & \text{other}\end{cases} \tag{5.13}P(z)={ba1,0,azbother(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(ba)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[:])

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery实现的3D缩略图悬停效果

今天我们要告诉你如何创建一些令人兴奋的3D使用CSS3和jQuery悬停效果。这一想法的灵感来自于凉爽的悬停效果&#xff0c;再给客户做网站的时候用的这样的效果&#xff0c;今天就共享出来 在这个效果当中&#xff0c;我将使用的thumbails&#xff0c;就会发现一些更多的信息悬停…

python网页爬虫例子_Python 利用Python编写简单网络爬虫实例3

利用Python编写简单网络爬虫实例3 by:授客 QQ&#xff1a;1033553122 实验环境 python版本&#xff1a;3.3.5&#xff08;2.7下报错 实验目的 获取目标网站“http://bbs.51testing.com/forum.php”中特定url&#xff0c;通过分析发现&#xff0c;目标url同其它url的关系如下目标…

2019python二级真题_2019年3月二级python真题,上岸必备!

刚从二级python的考场下来&#xff0c;就看见微博热搜。这是个什么鬼哦~本来很开心&#xff0c;一下子有点慌。趁我记得题&#xff0c;赶紧给大家分享一下下~ 稳住&#xff01;1、 题型&#xff1a;选择题(40分&#xff0c;40个)基本编程题(15分&#xff0c;3道)简单应用题(25分…

登陆SharePoint站点出现service unavailable----Http错误503

今天在登陆SharePoint站点时&#xff0c;遇到服务不可用&#xff0c;Http error 503。建议如下操作&#xff1a; 1. 在IIS中检查站点属性。在“起始页”&#xff0c;检查应用程序池。 2. 发现SharePoint Web Services Root已停止&#xff0c;右键启动。问题得到解决。 PS&#…

C# 数组

什么是数组&#xff1f;数组是一种数据结构&#xff0c;包含同一个类型的多个元素。数组的声明&#xff1a;int[] myIntArray; 注&#xff1a;声明数组时&#xff0c;方括号 ([]) 必须跟在类型后面&#xff0c;而不是变量名后面。在 C# 中&#xff0c;将方括号放在变量名后是不…

Downloading Android Source Code

Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件&#xff0c;它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓 库&#xff08;repository&#xff09;&#xff0c;许多个工作目录&#xff08…

javascript是一门多线程的语言_Javascript:10天设计一门语言

演进和使用的JavaScript是早在1995年开发的一种语言&#xff0c;真的是刚刚起步。网景公司在1995年四月聘请Brendan Eich &#xff0c;他被告知&#xff0c;他有10天时间创造并制作了一种将在Netscape的浏览器中运行&#xff0c;以原型为工作方式的编程语言。那时候&#xff0c…

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

标题椒盐噪声椒盐噪声 如果kkk是一幅数字图像中表示灰度值的比特数&#xff0c;则灰度值可能是[0,2k−1][0, 2^k -1][0,2k−1]。椒盐噪声的PDF为&#xff1a; P(z){Ps,z2k−1Pp,z01−(PsPp),zV(5.16)P(z) \begin{cases} P_s, & z 2^k -1 \\ P_p, & z0 \\ 1-(P_s P_…

python if elif else_Python3使用独立的if语句与使用if-elif-else结构的不同之处

Python3使用独立的if语句与使用if-elif-else结构的不同之处 if-eliff-else结构功能强大&#xff0c;但是仅适合用于只有一个条件满足的情况&#xff1a;遇到通过了的测试后&#xff0c;Python就跳过余下的测试。 然而&#xff0c;有时候必须检查你关心的所有条件。在这种情况下…

算法导论读书笔记(8)

算法导论读书笔记&#xff08;8&#xff09; 目录 计数排序 计数排序的简单Java实现基数排序 基数排序的简单Java实现桶排序计数排序 计数排序 假设 n 个输入元素中的每一个都是介于0到 k 之间的整数&#xff0c;此处 k 为某个整数。当 k O ( n )时&#xff0c;计数排序的运行…

Keras 深度学习框架中文文档

2019独角兽企业重金招聘Python工程师标准>>> Keras深度学习框架中文文档 Keras官网&#xff1a;http://keras.io/Github项目&#xff1a;https://github.com/fchollet/keras中文文档主页&#xff1a;http://keras-cn.readthedocs.io/en/latest/Github中文文档&#…

KMP算法详解 网络上转的。。。仰慕此人

原网址http://www.matrix67.com/blog/archives/115 如果机房马上要关门了&#xff0c;或者你急着要和MM约会&#xff0c;请直接跳到第六个自然段。 我们这里说的KMP不是拿来放电影的&#xff08;虽然我很喜欢这个软件&#xff09;&#xff0c;而是一种算法。KMP算法是拿来处…

求一个二维数组外围元素之和_C++数组作为函数的参数(学习笔记:第6章 04)...

数组作为函数的参数[1]数组元素作实参&#xff0c;与单个变量一样。数组名作参数&#xff0c;形、实参数都应是数组名&#xff08;实质上是地址&#xff0c;关于地址详见后续章节&#xff09;&#xff0c;类型要一样&#xff0c;传送的是数组首地址。对形参数组的改变会直接影响…

android p wifi一直在扫描_Android再次解读萤石云视频

点击上方蓝字关注 ??前言我之前写过一篇萤石云的集成文章&#xff0c;很多人问我有没有demo&#xff0c; 今天我再次总结一下&#xff0c; 并加个些功能。集成步骤视频预览播放视频放大缩小视频的质量切换截图之前的文章大家可以看下面的链接&#xff1a;https://mp.weixin.q…

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

标题周期噪声周期噪声 周期噪声通常是在获取图像期间由电气或机电干扰产生的 def add_sin_noise(img, scale1, angle0):"""add sin noise for imageparam: img: input image, 1 channel, dtypeuint8param: scale: sin scaler, smaller than 1, will enlarge, …

python写文字方法_Transcrypt: 用Python写js的方法

Transcrypt是一个很有意思的工具&#xff1a; 它让你告别手写繁复的JavaScript代码&#xff0c;使用相对简明清晰的Python代替这一工作。 之后使用这个工具&#xff0c;可以把Python编写的代码转换成JavaScript。 1. 为什么不直接写JavsScript? JavaScript本身不算是很难的编程…

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

标题估计噪声参数估计噪声参数 周期噪声的参数通常是通过检测图像的傅里叶谱来估计的。 只能使用由传感器生成的图像时&#xff0c;可由一小片恒定的背景灰度来估计PDF的参数。 来自图像条带的数据的最简单用途是&#xff0c;计算灰度级的均值和方差。考虑由SSS表示的一个条…

python 随机获取数组元素_Python创建二维数组的正确姿势

List &#xff08;列表&#xff09;是 Python 中最基本的数据结构。在用法上&#xff0c;它有点类似数组&#xff0c;因为每个列表都有一个下标&#xff0c;下标从 0 开始。因此&#xff0c;我们可以使用 list[1] 来获取下标对应的值。如果我们深入下列表的底层原理&#xff0c…

Qt学习笔记1

1.Qt引用API时&#xff0c;QString到LPCWSTR的转换&#xff1a; ::GetPrivateProfileIntW(QString(tr("相关设置")).utf16(),QString(tr("时间间隔")).utf16(),5,filePath.utf16())); 2.引用LPRECT时&#xff1a; RECTappRect; ::GetWindowRect(AppWnd,(LP…

在ubunut下使用pycharm和eclipse进行python远程调试

我比较喜欢Pycharm&#xff0c;因为这个是JetBrains公司出的python IDE工具&#xff0c;该公司下的java IDE工具——IDEA&#xff0c;无论从界面还是操作上都甩eclipse几条街&#xff0c;但项目组里有些人使用eclipse比较久了&#xff0c;一时让他们转pycharm比较困难&#xff…