请说明均值滤波器对椒盐噪声以及高斯噪声的滤波原理,对于椒盐噪声,中值滤波和均值滤波

  请说明均值滤波器对椒盐噪声以及高斯噪声的滤波原理,对于椒盐噪声,中值滤波和均值滤波

  图像噪声(概念)图像噪声是指图像在采集或传输过程中受到随机信号的干扰,干扰对图像的理解、分析和处理的信号。

  由于图像噪声往往被认为是多维随机过程,描述噪声的方法可以是描述随机过程,即描述随机过程,即使用ssdsp分布函数和概率密度分布函数。

  图像噪声来源于图像采集过程中的环境条件和传感器元件的质量。图像传输过程中图像噪声的主要因素是所使用的传输线受到噪声的污染。

  信噪比通常用来衡量图像噪声。

  一般来说,信号越多,噪声越多,信噪比越小,噪声所占比例越大。在信号系统中,测量单位是dB,也就是10LG(PS/pn)。PS和PN分别代表信号和噪声的有效功率。这里,信号像素的占用率被用作SNR,并且测量添加的噪声量。

  举个例子,如果一幅图像的宽x高=10x10,共100个像素,你想把20个像素的点改成噪点,剩下的80个像素的点保持原来的值,那么这里定义的SNR=80/100=0.8。

  SDSP噪声:概念:ssdsp噪声是噪声的一种,其概率密度函数遵循ssdsp分布。

  特别是,如果噪声的幅度分布与ssdsp分布一致,即功率谱密度均匀分布,则称为ssdsp白噪声。

  必须区分ssdsp噪声和白噪声这两个不同的概念。SDSP噪声is噪声的概率密度函数服从ssdsp分布,其中任意两个白噪声样本之间不存在相关性,两个样本的描述角度不同。白噪声不一定要遵循ssdsp分布,因为ssdsp分布中的噪声并不局限于白噪声。

  原因:1)拍摄时图像传感器亮度不足,不均匀。

  2)电路元件的噪声和相互影响;

  3)图像传感器工作时间长,温度过高。

  实现:得到正常的ssdsp采样分布g(d),得到输出像素。

  *pout.pout=pinxmeanssigmag(d))。

  这里d是线性随机数,g(d)是随机数的ssdsp分布的随机值。

  将ssdsp噪声添加到数字图像的过程如下。

  A.输入参数sigma和X均值

  b .以系统时间为种子生成伪随机数

  C.将伪随机数带入g(d)得到ssdsp随机数。

  d .根据输入像素计算输出像素

  E.将像素值重新减小到0到255之间。f .循环所有像素。

  G.输出图像

  手动代码实现:#随机生成符合正态(ssdsp)分布的随机数。测量,sigma是两个参数importnumpyasnpimportcv 2 from numpyimportshapeshapetrandomdefgaussiannoise)src perce tage(:# means是平均值。perce tage is noise img=srcnoisenum=int(percentage * src . shape[0]* src . shape[1])for iinrange)noise num)33333-1 randx=random . randint(0,src.shape [0]-1) Randy=random。Src.shape[1]-1)这里随机数noisesimg [randx,Randy]用于原始像素的灰度值sigma)。当添加的灰度值大于255时,force 255if noisesimg [randx,randy] 0: noisesimg [randx,RandY]=0 elif NoiseImg[randX,Randy] 2553360设置为NoiseImg的RandY]=255 return noise img=cv2 . im read( lenna . png ,0)img 1=gaussianoise(img,2 0.5)img=cv2 . img cv2 . color 2 _ bgr 2 gray(# cv2

  椒盐噪声的概念:椒盐噪声又称脉冲噪声,是随机出现的白色或黑色斑点。

  盐噪声-胡椒噪声(胡椒

  噪声)盐噪声(盐噪声)。椒盐噪波值为0(胡椒)或255(盐)。

  前者是低灰度噪声,后者是高灰度噪声。一般两种噪声同时出现,就是图像中的黑白噪声。

  对于彩色图像,也可能显示255或0随机出现在单像素BGR的三个通道中。

  如果在通信中出现错误,一些像素的值在传输中丢失,就会出现这种噪声。

  椒盐噪声可能是由图像信号的突然强干扰引起的。例如,失效的传感器导致最小像素值,饱和的传感器导致最大像素值。

  方法:按照以下处理顺序将椒盐噪声添加到数字图像中:

  1.指定信噪比(SNR),其取值范围在[0,1]之间。

  2.计算总像素数SP,得到像素数NP=SP * (1-SNR)

  3.随机获取每个待噪像素的位置P(i,j)。

  4.指定像素值255或0。

  5.重复步骤3和4,完成所有NP个像素的加噪。

  手动代码实现:import numpy as NP import cv2 # pip install opencv _ python from numpy import shape import Random def fun 1(src,perce tage):noise simg=src noise num=int(percentage * src . shape[0]* src . shape[1])for I in range(noise num):#返回一个迭代器#每次取一个随机点#如果一张图片的像素用行和列表示,Random x表示随机生成的行#random.randint生成随机整数#盐所以,-1 randX=random.randint (0,src . shape[0]-1)Randy=random . randint(0,Src.shape[1]-1) #random.random生成随机浮点数,随机取一个像素,一半可能是白点255,一半可能是黑点0 if random . random()=0.5:noise simg[randX,randy]=0else: noisesimg [randx,Randy]=255 return noise img # import image img=cv2 .color _ bgr2gray) cv2。imshow (source ,img2) cv2。imshow (lenna _ pepper and salt ,img1) cv2。waitkey (0)实现结果显示:

  其他噪音:概念:泊松噪声:

  根据泊松分布的噪声模型,泊松分布适合描述单位时间内随机事件发生次数的概率分布。如某个服务设施在某段时间内收到的服务请求数量、电话交换机收到的电话数量、公交车站等待的客人数量、机器故障数量、自然灾害数量、DNA序列变异、放射性原子核衰变等。乘性噪声:

  一般信道都不理想,它们和信号的关系是乘法关系。如果信号在里面,它就不会在那里,如果信号不在。wsdgq噪声:

  与ssdsp噪声相比,它的形状向右倾斜,这对于拟合一些倾斜的直方图噪声是有用的。wsdgq噪声的实现可以通过平均噪声来实现。伽马噪声:

  其分布服从伽玛曲线分布。伽马噪声的实现需要服从指数分布的B噪声的叠加。使用均匀分布可以获得指数噪声。(当b=1时,为指数噪声,当b1时,由几个指数噪声叠加得到噪声)

  各种噪声接口代码的实现:import cv2 as cv import numpy as NP from pil import image from sk image import util def random _ noise(image,mode= Gaussian ,seed=none,Clip=True,**kwargs):函数:为浮点图片添加各种随机噪声参数:image: input picture(将转换为浮点),ndarray mode: optional,str type,表示要添加的噪声类型Gaussian:ss DSP noise local var:ss DSP分布的加性噪声,在“的每一点具有指定的局部方差泊松:泊松噪声盐:盐噪声,随机改变像素值为1佩珀:胡椒噪声,随机改变像素值为0或-1,取决于矩阵的值是否有符号sp:椒盐噪声斑点:均匀噪声(均值方差),out=image n*imageseed:可选,int类型,如果选中,在生成噪声之前,将设置随机种子以避免伪随机剪辑:可选,bool类型。如果为真,在加入均值、泊松和ssdsp噪声后,画面的数据会被裁剪到合适的范围。如果任何一个为假,输出矩阵的值可能超过[-1,1]mean:可选,float类型,ssdp noise和mean noise中的mean参数,默认值=0var:可选,float类型,ssdp noise和mean noise中的方差,默认值=0.01(注意:不是标准差)local_vars:可选,ndarry用于定义每个像素的局部方差,使用localvar中的amount:可选,float类型,是椒盐噪声的比例。默认值=0.05salt_vs_pepper:可选,float类型,椒盐噪声中椒盐的比例。值越大,盐噪声越多。默认值=0.5,即相同量的盐和胡椒。1]或[-1,1],取决于是否是有符号数 img=cv . im read( lenna . png )noise _ GS _ img=util . random _ noise(img,mode= Gaussian) #自由选择想要的噪声cv . im show( source img)cv . im show( lenna ,noise _ GS _ img)# cv . im write( lenna _ noise . png ,noise _ GS _ img)cv . wait key(0)cv . destroyallwindows()011

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: