python添加高斯噪声_使用Python-OpenCV向图片添加噪声(高斯噪声、椒盐噪声)
在matlab中,存在执行直接得函数来添加高斯噪声和椒盐噪声。Python-OpenCV中虽然不存在直接得函数,但是很容易使用相关的函数来实现。
代码:
import numpy as np
import random
import cv2
def sp_noise(image,prob):
'''
添加椒盐噪声
prob:噪声比例
'''
output = np.zeros(image.shape,np.uint8)
thres = 1 - prob
for i in range(image.shape[0]):
for j in range(image.shape[1]):
rdn = random.random()
if rdn < prob:
output[i][j] = 0
elif rdn > thres:
output[i][j] = 255
else:
output[i][j] = image[i][j]
return output
def gasuss_noise(image, mean=0, var=0.001):
'''
添加高斯噪声
mean : 均值
var : 方差
'''
image = np.array(image/255, dtype=float)
noise = np.random.normal(mean, var ** 0.5, image.shape)
out = image + noise
if out.min() < 0:
low_clip = -1.
else:
low_clip = 0.
out = np.clip(out, low_clip, 1.0)
out = np.uint8(out*255)
#cv.imshow("gasuss", out)
return out
可见,只要我们得到满足某个分布的多维数组,就能作为噪声添加到图片中。
例如:
import cv2
import numpy as np
>>> im = np.empty((5,5), np.uint8) # needs preallocated input image
>>> im
array([[248, 168, 58, 2, 1], # uninitialized memory counts as random, too ? fun ;)
[ 0, 100, 2, 0, 101],
[ 0, 0, 106, 2, 0],
[131, 2, 0, 90, 3],
[ 0, 100, 1, 0, 83]], dtype=uint8)
>>> im = np.zeros((5,5), np.uint8) # seriously now.
>>> im
array([[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]], dtype=uint8)
>>> cv2.randn(im,(0),(99)) # normal
array([[ 0, 76, 0, 129, 0],
[ 0, 0, 0, 188, 27],
[ 0, 152, 0, 0, 0],
[ 0, 0, 134, 79, 0],
[ 0, 181, 36, 128, 0]], dtype=uint8)
>>> cv2.randu(im,(0),(99)) # uniform
array([[19, 53, 2, 86, 82],
[86, 73, 40, 64, 78],
[34, 20, 62, 80, 7],
[24, 92, 37, 60, 72],
[40, 12, 27, 33, 18]], dtype=uint8)
然后再:
img = ...
noise = ...
image = img + noise
参考链接:
python opencv show图片,debug技巧
debug的时候可以直接把图片画出来debug. imshow函数就是python opencv的展示图片的函数,第一个是你要起的图片名,第二个是图片本身.waitKey函数是用来展示图片多久的,默认 ...
Python + opencv 实现图片文字的分割
实现步骤: 1.通过水平投影对图形进行水平分割,获取每一行的图像: 2.通过垂直投影对分割的每一行图像进行垂直分割,最终确定每一个字符的坐标位置,分割出每一个字符: 先简单介绍一下投影法:分别在水平和 ...
opencv给图片添加文字水印<;转>;
其中有一些改动为了文字大小等还有一些图片的尺寸,真正使用的时候可以把尺寸的屏蔽掉 头文件: //==================================================== ...
python opencv 读取图片 返回图片某像素点的b,g,r值
转载:https://blog.csdn.net/weixin_41799483/article/details/80884682 #coding=utf-8 #读取图片 返回图片某像素点的b,g ...
Python OpenCV 显示图片,图片分类
def divide_image(path,g_path1,g_path0): img_lst = os.listdir(path) for i in img_lst: print('类别1,类别0' ...
用matlab给图像加高斯噪声和椒盐噪声(不调用imnoise函数)
图像画面中的噪声,大致可以分为两类:高斯噪声和椒盐噪声.在这里,我们先看下图像中两种噪声各自的特征. 椒盐噪声:噪声幅值基本相同,但出现位置随机. 高斯噪声:图像中每一点都存在噪声,但幅值是随机分布的 ...
用 Python 和 OpenCV 检测图片上的条形码
用 Python 和 OpenCV 检测图片上的的条形码 这篇博文的目的是应用计算机视觉和图像处理技术,展示一个条形码检测的基本实现.我所实现的算法本质上基于StackOverflow 上的这个问 ...
【转】Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持
Windows下使用VS2008编译OpenCV2.1 添加Intel TBB和Python支持 步骤: 1.仔细阅读OpenCV官网上的InstallGuide:http://opencv.will ...
Python+Opencv实现把图片转为视频
1. 安装Opencv包 在Python命令行输入如下命令(如果你使用的Anaconda,直接进入Anaconda Prompt键入命令即可.如果你不知道Anaconda是什么,可以参考王树义老师的文 ...
随机推荐
轻量linux-Crunch bang
主页地址:http://crunchbang.org crunch bang11昵称 wheezy crunchbang 11 基于 debian7
php ajax提交post请求出现数组被截断情况的解决方法
一.场景 今天做保存专题商品列表的时候发现,前端明明有2300多条数据,但是实际服务端接受存入数据库才166条 二.解决过程 经过调试发现前端页面提交post请求时数据量是正确的,但到服务端只能接受到 ...
SSH小结
工作有一段时间了,经常用SSH登录远程机器,但对原理一直不是很了解,所以查阅了一些资料,写个小结. 一. SSH是什么? SSH的全称是Secure Shell, 是一种"用来在不安全的网络 ...
boost::pool 库速记
使用示例 #include #include #include #inc ...
javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中;子节点全部没选中,则父节点也会没选中。
java学习过程中遇到的坑及解决方法
1. Table 'my_data_base.gjp_zhangwu' doesn't exist Query: select * from gjp_zhangwu Parameters: 数据库中的 ...
vSphere 软件组件
vSphere 包括以下软件组件: ESXi 一种虚拟化平台,您可使用此平台将虚拟机创建为一组配置和磁盘文件,它们可共同执行物理机的所有功能. 通过 ESXi,可以运行虚拟机,安装操作系统,运行应用程 ...
微信小程序——页面之间传递值
小程序页面传值的方式: 1.正向传值:上一页面 --> 下一页面 url传值 本地储存 全局的app对象 2.反向传值:下一页面 --> 上一页面 本地储存 全局的app对象 先说一下 ...
转载:RESTful API 设计指南
http://www.ruanyifeng.com/blog/2014/05/restful_api.html 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板. ...
python添加高斯噪声_使用Python-OpenCV向图片添加噪声(高斯噪声、椒盐噪声)相关推荐
- 微信开发者工具 wxmi修改模版颜色_如何用手机给图片添加文字、诗词或者歌词?用对工具一键轻松解决...
如何用手机给图片添加文字.诗词或者歌词?用对工具一键轻松解决 有很多朋友有给图片添加文字的需求,但觉得给图片添加歌词,诗词等,排版非常的打脑壳,想得到好的效果就更难了.今天我就给大家分享一种简单的方法 ...
- python给图片加半透明水印_Python+OpenCV为图片添加中文水印与图片水印
OpenCV中在图片上输出中文一般有两种解决办法: 一种需要借助FreeType库实现.FreeType库是一个完全免费(开源)的.高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件. ...
- python opencv 为图片添加alpha通道并设置透明,判断是否存在alpha通道
读取图片 使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整路径 flags:读入图片的标志 cv2.IMREAD_COLOR:默认参数,读入 ...
- python与算法社区_【Python算法】分类与预测——Python随机森林
[Python算法]分类与预测--Python随机森林 1.随机森林定义 随机森林是一种多功能的机器学习算法,能够执行回归和分类的任务.同时,它也是一种数据降维手段,在处理缺失值.异常值以及其他数据探 ...
- python之禅 中文_《Python之禅》中对于Python编程过程中的一些建议
<Python之禅>中对于Python编程过程中的一些建议 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: <Python之禅>中对于Pyt ...
- python代码去马赛克_十行python代码教你如何去除万恶的,如s一样的马赛克
世界上有一种东西,叫作马赛克,不知道困扰了多少痴男怨女.小编新get到一个技能,忍不住拿出来秀一秀. 小编这几天的了解其实水印和马赛克的原理是一样的,都是覆盖.一般是去不了的,那么这个技术来了,请看~ ...
- python手绘效果图_用Python做个海量小姐姐素描图
素描作为一种近乎完美的表现手法有其独特的魅力,随着数字技术的发展,素描早已不再是专业绘画师的专利,今天这篇文章就来讲一讲如何使用python批量获取小姐姐素描画像.文章共分两部分: 第一部分介绍两种使 ...
- python的简单使用_用python简单处理图片
一:打开显示保存 # from PIL import Image # img = Image.open('E:\\pythonwd\\xiaoniao.jpg') # img.show() 这种图片显 ...
- python语音输入功能_“在Python中如何实现一点按钮就出现语音输入语音,输入语音后可以自动翻译为文字的程序?“python语音识别教程...
Python用什么模块开发语音识别系统 使用YQ5969,这个语音识别模以支持1--8个咪头,还可以支持本地和识别不同需求.5米内本地识别 93%以上,云端识别率97%.这个语音识别模块可以滤除噪声. ...
- python形状识别算法_Python人工智能使用OpenCV进行图片形状的中心检测
我们都知道正方形(长方形)的中心是2条对角线的交点,圆的中心是一个圆的圆心,如何在对象检测以及图片检测与识别领域,判断一个形状的中心,便是计算机视觉领域中的一个基础检测 中心检测 Opencv+pyt ...
最新文章
- Android开发之旅:环境搭建及HelloWorld
- 虚拟机中RedHat Linux系统安装
- 使用aop解决事务问题(xml版)
- 实战项目| 7天掌握神经网络预测模型
- github果然强大
- TM4C123核心板焊接须知
- html5tab页高德地图,高德地图系列web篇——目的地公交导航
- BZOJ——1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- sudo使用之实现权限分配
- 上传照片(身份证照片正反面)
- K-means聚类算法及其各种变形模型的实验分析
- 心愿未了有牵绊。生命不息,折腾未止。
- redis链接不上,报保护模式
- IEEEAccess参考文献整理
- 简单的HANGMAN游戏
- 关于垂直线和水平线判断问题
- eclipse命令大全
- html css 布局_创建有吸引力HTML CSS动漫主题网站布局
- c语言的实训报告,C语言实训报告.doc
- ps ps aux 和ps -aux和 ps -ef的选择