计算机视觉-高斯噪声
来源:互联网 发布:android 实时监听网络 编辑:程序博客网 时间:2024/06/05 14:15
高斯噪声:高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声,通过概率论里关于正态分布的有关知识可以很简单的得到其计算方法,高斯噪声的概率密度服从高斯分布(正态分布)其中有means(平均值)和sigma(标准方差)两个参数。
对于每个输入像素,我们可以通过与符合高斯分布的随机数相加, 得到输出像素: Pout = Pin + F(means,sigma)
给一副数字图像加上高斯噪声的处理顺序如下:
a.设定参数sigma 和 Xmean
b.产生一个高斯随机数(python.gauss(means,sigma))
c.根据输入像素计算出输出像素
d.重新将像素值限制或放缩在[0 ~ 255]之间
e.循环所有像素
f.输出图像。
PIL版本
# -*- coding: utf-8 -*-from PIL import Imagefrom pylab import *from numpy import*import randompath = "E:/zhz/"#读取图片并转为数组im = array(Image.open(path+'lena.jpg'))#设定高斯函数的偏移means = 10#设定高斯函数的标准差sigma = 40def normal(pixel): if pixel>255: pixel = 255 elif pixel<0: pixel = 0 return pixel#r通道r = im[:,:,0].flatten()#g通道g = im[:,:,1].flatten()#b通道b = im[:,:,2].flatten()#计算新的像素值for i in range(im.shape[0]*im.shape[1]): pr = normal(int(r[i]) + random.gauss(0,sigma)) pg = normal(int(g[i]) + random.gauss(0,sigma)) pb = normal(int(b[i]) + random.gauss(0,sigma)) r[i] = pr g[i] = pg b[i] = pbim[:,:,0] = r.reshape([im.shape[0],im.shape[1]])im[:,:,1] = g.reshape([im.shape[0],im.shape[1]])im[:,:,2] = b.reshape([im.shape[0],im.shape[1]])#显示图像imshow(im)show()
OpenCV+Numpy版本:
阅读全文
0 0
- 计算机视觉-高斯噪声
- 计算机视觉-椒盐噪声
- 计算机视觉——噪声
- 计算机视觉-椒盐噪声输出
- 计算机视觉-高斯滤波
- 白噪声,高斯噪声,高斯白噪声
- 高斯噪声 高斯白噪声
- 计算机视觉——高斯滤波
- 计算机视觉-高斯滤波(二)
- 高斯噪声
- 高斯噪声、高斯白噪声解析
- 高斯噪声和椒盐噪声
- 数学之路-python计算实战(7)-机器视觉-图像产生加性零均值高斯噪声
- 高斯噪声、高斯白噪声、SNR、噪声方差
- 关于白噪声、高斯噪声和椒盐噪声
- 白噪声\高斯噪声\高斯白噪声的区别
- 高斯噪声/白噪声/高斯白噪声的区别
- 高斯噪声、高斯白噪声、SNR、噪声方差
- Null,“”,Isempty
- [SDS阅读理解/3]源码中的函数/0
- quartz整合spring 相关配置及使用
- BankerAlgorithm 银行家算法
- js中json数据的读取
- 计算机视觉-高斯噪声
- dom4J创建xml和解析xml文件
- 【洛谷】P1438 无聊的数列
- 如何创建 Swarm 集群?- 每天5分钟玩转 Docker 容器技术(95)
- 线程安全型与非安全型的数值序列生成器
- C语言概述
- 11月19日集训
- 汇编第七节-更灵活的定位内存地址的方法
- git的使用