椒盐噪声

椒盐噪声

图像噪声之椒盐噪声(Salt And Pepper Noise)

概述:

椒盐噪声(salt & pepper noise)是数字图像的一个常见噪声,所谓椒盐,椒就是黑,盐就是白,椒盐噪声就是在图像上随机出现黑色白色的像素。椒盐噪声是一种因为信号脉冲强度引起的噪声,产生该噪声的算法也比较简单。

算法步骤:

我们使用信噪比(Signal NoiseRate)衡量图像噪声,

图象的信噪比应该等于信号与噪声的功率谱之比,但通常功率谱难以计算,有一种方法可以近似估计图象信噪比,即信号与噪声的方差之比。首先计算图象所有象素的局部方差,将局部方差的最大值认为是信号方差,最小值是噪声方差,求出它们的比值,再转成dB数,最后用经验公式修正。

如果是灰度图像的话,SNR=(洁净图片中的像素点的灰度值之和)/abs(噪声图片的灰度值之和-洁净图片中的灰度值之和)为该图像的信噪比。

给一副数字图像加上椒盐噪声的步骤如下:

  • (1)指定信噪比 SNR (其取值范围在[0, 1]之间)
  • (2)计算总像素数目 SP, 得到要加噪的像素数目 NP = SP * (1-SNR)
  • (3)随机获取要加噪的每个像素位置P(i, j)
  • (4)指定像素值为255或者0。
  • (5)重复3,4两个步骤完成所有像素的NP个像素
  • (6)输出加噪以后的图像

编程实例:

为简单起见,直接使用灰度图进行测试,彩色图的原理是相同的。

# -*- coding: utf-8 -*-

from PIL import Image

from pylab import *

from numpy import*

#读取图片,灰度化,并转为数组
img = im = array(Image.open('./source/test.jpg').convert('L'))

#信噪比
SNR = 0.6

#计算总像素数目 SP, 得到要加噪的像素数目 NP = SP * (1-SNR)
noiseNum=int((1- SNR)*img.shape[0]*img.shape[1])

#于随机位置将像素值随机指定为0或者255
for i in range(noiseNum):

    randX=random.random_integers(0,img.shape[0]-1)  

    randY=random.random_integers(0,img.shape[1]-1)  

    if random.random_integers(0,1)==0:  

        img[randX,randY]=0  

    else:  

        img[randX,randY]=255   

#显示图像
gray()

imshow(img)

show()         

运行结果:

原图

SNR = 0.8

SNR = 0.6

SNR = 0.4

结语:

本篇博客主要介绍了椒盐噪声这种常见的图像噪声,希望对大家有所帮助~

时间: 2024-09-09 17:56:09

椒盐噪声的相关文章

图像处理------应用卷积一实现噪声消去

均值滤波: 均值滤波,是图像处理中最常用的手段,从频率域观点来看均值滤波是一种低通滤波器,高 频信号将会去掉,因此可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能.理想的均 值滤波是用每个像素和它周围像素计算出来的平均值替换图像中每个像素.采样Kernel数 据通常是3X3的矩阵,如下表示: 从左到右从上到下计算图像中的每个像素,最终得到处理后的图像.均值滤波可以加上两个 参数,即迭代次数,Kernel数据大小.一个相同的Kernel,但是多次迭代就会效果越来越好. 同样,迭代次数相同,Ker

高斯噪声

高斯噪声 图像噪声之高斯噪声(gauss noise) 概述: 高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声 与椒盐噪声相似(Salt And Pepper Noise),高斯噪声(gauss noise)也是数字图像的一个常见噪声. 椒盐噪声是出现在随机位置.噪点深度基本固定的噪声,高斯噪声与其相反,是几乎每个点上都出现噪声.噪点深度随机的噪声. 算法步骤: 通过概率论里关于正态分布的有关知识可以很简单的得到其计算方法,高斯噪声的概率密度服从高斯分布(正态分布)其中有mea

【OpenCV】5种图像滤波辨析:方框、均值、高斯、中值、双边

图像滤波 什么是图像滤波 图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性.(摘自网络) 图像滤波的目的 1,消除图像中混入的噪声 2,为图像识别抽取出图像特征 图像滤波的要求 1,不能损坏图像轮廓及边缘 2,图像视觉效果应当更好 滤波器的定义 滤波器,顾名思义,是对波进行过滤的器件.(摘自网络) 以上的定义是针对物理器件的,但对于图像滤波而言显然也是适用的. 大家都用过放大镜,这里就

图像平均及其在降噪方面的应用

图像平均及其在降噪方面的应用 图像平均以及图像平均在应对椒盐/高斯/相机噪声方面的对比分析 概述: 图像平均操作是减少图像噪声的一种简单方式. 我们可以简单地从图像列表中计算出一幅平均图像. 假设所有的图像具有相同的大小,我们可以将这些图像简单地相加,然后除以图像的数目,来计算平均图像. 算法步骤: 对列表中的数字图像进行图像平均的处理顺序如下: a.输入或者获取文件名列表 b.读取路径列表中的图像文件,转化为数组进行相加 c.将累加结果除以图像数量,进行平均 d.将平均结果构建为图片 e.输出

【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解

       本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图像增强处理,包括图像普通平滑.高斯平滑.不同算子的图像锐化知识.希望该篇文章对你有所帮助,尤其是初学者和学习图像处理的学生.        [数字图像处理]一.MFC详解显示BMP格式图片        [数字图像处理]二.MFC单文档分割窗口显示图片        [数字图像处理]三.MFC实现图像灰度.采样和量化功能详解  

图像处理------高斯模糊

高斯模糊是一种两维的卷积模糊操作,在图像完成高斯模糊相对于均值模糊来说, 计算量会增加,但是高斯模糊可以实现一些特殊效果,特别是在图像噪声(非椒盐 噪声)消去方面,更是有着非常好的效果.一维高斯公式如下: 其中x是制定[-n,n]范围的整数,sigma代表标准方差.通常取值为1. 一维高斯函数Java代码如下: [java] view plaincopy private float[] get1DKernalData(int n, float sigma) {       float sigma

如何在实战路上与时俱进:深度学习最佳实践

自2006年Hinton提出神经网络新的训练方法起,深度学习发展迅速,促使人工智能在图像.语音.自然语言处理等多个领域有了实质性的突破,达到产业应用标准.然而,深度学习作为人工智能领域的一项前瞻技术,实践性强,入门门槛高,关于深度学习的研究与应用,现在仍有很多问题没有找到满意的答案,这些都给深度学习的广泛应用带来挑战.本文旨在提供一份清晰.简洁的深度学习实践说明,以便从事深度学习研究与工程技术人员能够快速掌握深度学习的实际经验. 第一节:深度学习概述 深度学习是模拟人脑进行分析学习的多层神经网络

图像处理------图像加噪

图像噪声源于现实世界中数字信号总会受到各种各样的干扰,最终接受的图像和源于的数字信号之间总 是存在一定的差异,对于图像噪声,使用均值滤波和中值滤波来消除图像噪声的做法已经是很常见的图 像消噪手段.   一:图像加噪原理 1.     椒盐噪声(Salt And Pepper Noise) 椒盐噪声是一种因为信号脉冲强度引起的噪声,信噪比(Signal NoiseRate)是衡量图像噪声的一个数字指标. 给一副数字图像加上椒盐噪声的处理顺序应该如下: 指定信噪比 SNR 其取值范围在[0, 1]之

OPENCV图像处理(二):模糊

模糊是基本的图像处理方法. 在介绍这两种方法之前先来介绍两种常见的噪声: 椒盐噪声 椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声.椒盐噪声分为两种即胡椒噪声和盐噪声,胡椒噪声是黑色的,属于低灰度噪声,盐噪声是白色的,属于高灰度噪声,一般两种噪声同时出现,呈现在图像上就是黑白杂点.去除椒盐噪声最常用的算法是中值滤波. 高斯噪声 高斯噪声是一种随机噪声,其幅度的统计规律服从高斯分布(正态分布),去高斯噪声最常用的算法是高斯滤波. 而这些噪声出现在图片上某一点时都是比较突兀的