python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)


Posted in Python onApril 06, 2022

导读:

这篇文章主要介绍如何利用opencv来对图像添加各类噪声,原图:

python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)

1、高斯噪声

高斯噪声就是给图片添加一个服从高斯分布的噪声,可以通过调节高斯分布标准差(sigma)的大小来控制添加噪声程度,sigma越大添加的噪声越多图片损坏的越厉害

#读取图片
img = cv2.imread("demo.png")
#设置高斯分布的均值和方差
mean = 0
#设置高斯分布的标准差
sigma = 25
#根据均值和标准差生成符合高斯分布的噪声
gauss = np.random.normal(mean,sigma,(img_height,img_width,img_channels))
#给图片添加高斯噪声
noisy_img = image + gauss
#设置图片添加高斯噪声之后的像素值的范围
noisy_img = np.clip(noisy_img,a_min=0,a_max=255)
#保存图片
cv2.imwrite("noisy_img.png",noise_img)

python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)

2、椒盐噪声

椒盐噪声就是给图片添加黑白噪点,椒指的是黑色的噪点(0,0,0)盐指的是白色的噪点(255,255,255),通过设置amount来控制添加噪声的比例,值越大添加的噪声越多,图像损坏的更加严重

#读取图片
img = cv2.imread("demo.png")
#设置添加椒盐噪声的数目比例
s_vs_p = 0.5
#设置添加噪声图像像素的数目
amount = 0.04
noisy_img = np.copy(image)
#添加salt噪声
num_salt = np.ceil(amount * image.size * s_vs_p)
#设置添加噪声的坐标位置
coords = [np.random.randint(0,i - 1, int(num_salt)) for i in image.shape]
noisy_img[coords] = 255
#添加pepper噪声
num_pepper = np.ceil(amount * image.size * (1. - s_vs_p))
#设置添加噪声的坐标位置
coords = [np.random.randint(0,i - 1, int(num_pepper)) for i in image.shape]
noisy_img[coords] = 0
#保存图片
cv2.imwrite("noisy_img.png",noise_img)

python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)

3、泊松噪声

#读取图片
img = cv2.imread("demo.png")
#计算图像像素的分布范围
vals = len(np.unique(image))
vals = 2 ** np.ceil(np.log2(vals))
#给图片添加泊松噪声
noisy_img = np.random.poisson(image * vals) / float(vals)
#保存图片
cv2.imwrite("noisy_img.png",noise_img)

python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)

4、speckle噪声

#读取图片
img = cv2.imread("demo.png")
#随机生成一个服从分布的噪声
gauss = np.random.randn(img_height,img_width,img_channels)
#给图片添加speckle噪声
noisy_img = image + image * gauss
#归一化图像的像素值
noisy_img = np.clip(noisy_img,a_min=0,a_max=255)
#保存图片
cv2.imwrite("noisy_img.png",noise_img)

python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)

到此这篇关于python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)的文章就介绍到这了,更多相关python使用opencv内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中运行并行任务技巧
Feb 26 Python
Python实现从百度API获取天气的方法
Mar 11 Python
python中迭代器(iterator)用法实例分析
Apr 29 Python
Django原生sql也能使用Paginator分页的示例代码
Nov 15 Python
儿童编程python入门
May 08 Python
对Python中数组的几种使用方法总结
Jun 28 Python
python使用matplotlib绘制热图
Nov 07 Python
对python使用telnet实现弱密码登录的方法详解
Jan 26 Python
python字符串格式化方式解析
Oct 19 Python
Python 忽略文件名编码的方法
Aug 01 Python
Python调用SMTP服务自动发送Email的实现步骤
Feb 07 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
浅谈Python中对象是如何被调用的
Apr 06 #Python
Python实现猜拳与猜数字游戏的方法详解
python字符串的一些常见实用操作
Apr 06 #Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 #Python
Python Numpy库的超详细教程
进行数据处理的6个 Python 代码块分享
Apr 06 #Python
You might like
与空气斗智斗勇的经典《Overlord》,传说中的“无稽之谈”
2020/04/09 日漫
PHP静态类
2006/11/25 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
python的range和linspace使用详解
2019/11/27 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
进步之星获奖感言
2014/02/22 职场文书
会计岗位描述
2014/02/22 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
学术会议邀请函
2015/01/30 职场文书
2015年新农合工作总结
2015/03/30 职场文书
小鞋子观后感
2015/06/05 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书