高斯噪声和椒盐噪声python
生活随笔
收集整理的這篇文章主要介紹了
高斯噪声和椒盐噪声python
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
高斯噪聲的代碼如下:
def GaussianNoise(src,means,sigma):NoiseImg=srcrows=NoiseImg.shape[0]cols=NoiseImg.shape[1]for i in range(rows):for j in range(cols):NoiseImg[i,j]=NoiseImg[i,j]+random.gauss(means,sigma)if NoiseImg[i,j]< 0:NoiseImg[i,j]=0elif NoiseImg[i,j]>255:NoiseImg[i,j]=255return NoiseImg椒鹽噪聲的函數定義如下:
def PepperandSalt(src,percetage):NoiseImg=srcNoiseNum=int(percetage*src.shape[0]*src.shape[1])for i in range(NoiseNum):randX=random.random_integers(0,src.shape[0]-1)randY=random.random_integers(0,src.shape[1]-1)if random.random_integers(0,1)<=0.5:NoiseImg[randX,randY]=0else:NoiseImg[randX,randY]=255 return NoiseImg椒鹽噪聲總體代碼如下:
import cv2 import random from numpy import * def PepperandSalt(src,percetage):NoiseImg=srcNoiseNum=int(percetage*src.shape[0]*src.shape[1])for i in range(NoiseNum):randX=random.random_integers(0,src.shape[0]-1)randY=random.random_integers(0,src.shape[1]-1)if random.random_integers(0,1)<=0.5:NoiseImg[randX,randY]=0else:NoiseImg[randX,randY]=255 return NoiseImg def GaussianNoise(src,means,sigma):NoiseImg=srcrows=NoiseImg.shape[0]cols=NoiseImg.shape[1]for i in range(rows):for j in range(cols):NoiseImg[i,j]=NoiseImg[i,j]+random.gauss(means,sigma)if NoiseImg[i,j]< 0:NoiseImg[i,j]=0elif NoiseImg[i,j]>255:NoiseImg[i,j]=255return NoiseImg img=cv2.imread('C:/Users/Administrator/Desktop/12.jpg',0) img1=PepperandSalt(img,0.2) cv2.imwrite('C:/Users/Administrator/Desktop/3.jpg',img1) cv2.imshow('PepperandSalt',img1) cv2.waitKey(0)加入椒鹽噪聲之后的運行結果如下:
高斯噪聲的代碼為:
import cv2 from numpy import shape import random def PepperandSalt(src,percetage):NoiseImg=srcNoiseNum=int(percetage*src.shape[0]*src.shape[1])for i in range(NoiseNum):randX=random.randint(0,src.shape[0]-1)randY=random.randint(0,src.shape[1]-1)if random.random_integers(0,1)<=0.5:NoiseImg[randX,randY]=0else:NoiseImg[randX,randY]=255 return NoiseImg def GaussianNoise(src,means,sigma,percetage):NoiseImg=srcNoiseNum=int(percetage*src.shape[0]*src.shape[1])for i in range(NoiseNum):randX=random.randint(0,src.shape[0]-1)randY=random.randint(0,src.shape[1]-1)NoiseImg[randX, randY]=NoiseImg[randX,randY]+random.gauss(means,sigma)if NoiseImg[randX, randY]< 0:NoiseImg[randX, randY]=0elif NoiseImg[randX, randY]>255:NoiseImg[randX, randY]=255return NoiseImg img=cv2.imread('C:/Users/Administrator/Desktop/12.jpg',0) img1=GaussianNoise(img,2,4,0.8) cv2.imwrite('C:/Users/Administrator/Desktop/3.jpg',img1) cv2.imshow('PepperandSalt',img1) cv2.waitKey(0)加入高斯噪聲的運行結果為:
總結
以上是生活随笔為你收集整理的高斯噪声和椒盐噪声python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字图像处理——添加高斯噪声椒盐噪声
- 下一篇: 详解梯度爆炸和梯度消失