由于图像采集、处理、传输等过程不可避免的会受到噪声的污染,妨碍人们对图像理解及分析处理。常见的图像噪声有高斯噪声、椒盐噪声等。
一、椒盐噪声
椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随SEO靠我机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)。
椒盐噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元传输错误等。例如失效的感应器导致像SEO靠我素值为最小值,饱和的感应器导致像素值为最大值。
目前,python-OpenCv中没有直接生成噪声的函数,需要自己手动编写,但十分容易。
代码示例:
def sp_noise(image, prob):""
SEO靠我"添加椒盐噪声prob:噪声比例"""output = np.zeros(image.shape,np.uint8)thres = 1 - probfor i in range(image.shape
SEO靠我[0]):for j in range(image.shape[1]):rdn = random.random()if rdn < prob:output[i][j] = 0elif rdn > th
SEO靠我res:output[i][j] = 255else:output[i][j] = image[i][j]return output
二、高斯噪声
高斯噪声是指噪声密度函数服从高斯分布的一类噪声。由于高斯SEO靠我噪声在空间和频域中数学上的易处理性,这种噪声(也称为正态噪声)模型经常被用于实践中。
代码示例:
def gasuss_noise(image, mean=0, var=0.001):"""添加高斯噪声m
SEO靠我ean : 均值var : 方差"""image = np.array(image/255, dtype=float)noise = np.random.normal(mean, var ** 0.5
SEO靠我, image.shape)out = image + noiseif out.min() < 0:low_clip = -1.else:low_clip = 0.out = np.clip(out,
SEO靠我 low_clip, 1.0)out = np.uint8(out*255)return out
三、代码编写
import numpy as np
import cv2 as cv
SEO靠我 import random
import matplotlib.pyplot as pltdef sp_noise(image, prob):"""添加椒盐噪声prob:噪
SEO靠我声比例"""output = np.zeros(image.shape,np.uint8)thres = 1 - probfor i in range(image.shape[0]):for j in
SEO靠我 range(image.shape[1]):rdn = random.random()if rdn < prob:output[i][j] = 0elif rdn > thres:output[i]
SEO靠我[j] = 255else:output[i][j] = image[i][j]return outputdef gasuss_noise(image, mean=0, var=0.001):"""添
SEO靠我加高斯噪声mean : 均值var : 方差"""image = np.array(image/255, dtype=float)noise = np.random.normal(mean, var
SEO靠我** 0.5, image.shape)out = image + noiseif out.min() < 0:low_clip = -1.else:low_clip = 0.out = np.cli
SEO靠我p(out, low_clip, 1.0)out = np.uint8(out*255)return outsrc = cv.imread("E:\\view.jpg")
img =
SEO靠我src.copy()# 调用噪声函数
img_sp = sp_noise(img, prob=0.02) # 噪声比例为0.02
img_gauss = gasuss_
SEO靠我noise(img, mean=0, var=0.01) # 均值为0,方差为0.01# 显示图像
cv.imshow("src", img)
cv.imshow("s
SEO靠我p", img_sp)
cv.imshow("gauss", img_gauss)
cv.waitKey(0)
cv.destroyAllWindows
SEO靠我()
原图:
椒盐噪声:
高斯噪声: