给图像加随机噪声并显示
import cv2
import numpy as np
import matplotlib.pyplot as plt
def randomnoise(image,noise):
'''
:param image:图像
:param noise:需要添加的噪声点的数目
:return: imgn即加了噪声的图像
'''
img=cv2.imread(image) #传入image
imgn=img
rows,cols,chan=imgn.shape
'''
将图像像素的行,列,以及通道数赋值,灰度图为单通道,彩色图为三通道
'''
for i in range(noise): #加噪声
x=np.random.randint(0,rows) #返回一个随机数,范围为0-rows
y=np.random.randint(0,cols)
imgn[x,y,:]=255
return imgn
img1=cv2.imread('D:/lena.jpg')
imgn=randomnoise('D:/lena.jpg',4000)
plt.plot(121)
plt.imshow(img1)
plt.title('原图')
plt.axis('off')
plt.plot(122)
plt.imshow(imgn)
plt.title('随机噪声')
plt.axis('off')
plt.show()