添加高斯噪声
import cv2
import numpy
as np
fn =
"123.jpg"
if __name__ ==
'__main__':
print(
'load %s ...' % fn)
img = cv2.imread(fn)
coutn =
10000
for k
in range(
0,coutn):
xi = int(np.random.uniform(
0,img.shape[
1]))
xj = int(np.random.uniform(
0,img.shape[
0]))
if img.ndim ==
2:
img[xj,xi] =
255
elif img.ndim ==
3:
img[xj,xi,
0] =
255
img[xj,xi,
1] =
255
img[xj,xi,
2] =
255
cv2.namedWindow(
'img',
0)
cv2.resizeWindow(
"img",
550,
980)
cv2.imshow(
'img',img)
cv2.imwrite(
"gsblack.jpg",img)
cv2.waitKey(
0)
cv2.destroyAllWindows()
添加椒盐噪声
import cv2
from numpy
import *
def SaltAndPepper(src,percetage):
NoiseImg=src
NoiseNum=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:
NoiseImg[randX,randY]=
0
else:
NoiseImg[randX,randY]=
255
return NoiseImg
if __name__==
'__main__':
img=cv2.imread(
'123.png')
gimg=cv2.GaussianBlur(img,(
7,
7),sigmaX=
1)
NoiseImg=SaltAndPepper(gimg,
0.02)
Pers=[
0.001,
0.002,
0.003]
for i
in Pers:
NoiseImg=SaltAndPepper(gimg,i)
fileName=
'GaussianSaltPepper'+str(i)+
'.jpg'
cv2.imwrite(fileName,NoiseImg,[cv2.IMWRITE_JPEG_QUALITY,
100])
cv2.namedWindow(
'img',
0)
cv2.resizeWindow(
"img",
550,
980)
cv2.imshow(
'img',NoiseImg)
cv2.waitKey()