首先是噪声的大体分类:
噪点噪声:又称脉冲噪声、椒盐噪声
雪花噪声:又称高斯噪声
条纹噪声:
分析完这些噪声的大致分布情况之后
importcv2from PIL importImagefrom PIL importImageChopsimportnumpy as npimporttimeimportpytesseractimportwarningsimportmathimportrandomdef sp_noise(image,prob=0.05):'''添加椒盐噪声
prob:噪声比例'''output=np.zeros(image.shape,np.uint8)
thres= 1 -probfor i inrange(image.shape[0]):for j in range(image.shape[1]):
rdn=random.random()if rdn
output[i][j]=0elif rdn >thres:
output[i][j]= 255
else:
output[i][j]=image[i][j]#return output
#print(output)
cv2.imshow("img",output)
cv2.waitKey(0)
cv2.imwrite("noise_check/img.jpg",output)def gasuss_noise(image, mean=0.2, var=0.005):'''添加高斯噪声
mean : 均值
var : 方差'''image= np.array(image/255, dtype=float)
noise= np.random.normal(mean, var ** 0.5, image.shape)
out= image +noiseif out.min() <0:
low_clip= -1.else:
low_clip=0.
out= np.clip(out, low_clip, 1.0)
out= np.uint8(out*255)
cv2.imshow("gasuss", out)#return out
cv2.waitKey(0)
cv2.imwrite("noise_check/img.jpg",out)#sp_noise(cv2.imread("noise_check/5.jpg",cv2.IMREAD_COLOR))
gasuss_noise(cv2.imread("noise_check/5.jpg",cv2.IMREAD_COLOR))
importcv2from PIL importImagefrom PIL importImageChopsimportnumpy as npimporttimeimportpytesseractimportwarnings
warnings.filterwarnings("ignore")
demo=Image.open("noise_check//1.jpg")
im=np.array(demo.convert('L'))#灰度化矩阵
print(im.shape)print(im.dtype)#print(im)
height=im.shape[0]#尺寸
width=im.shape[1]
varlist=[]for i inrange(height):fo