目录
一、图像复原模型及噪声模型
1、复原过程模型
退化(复原)过程被建模为一个退化函数和一个加性噪音项
退化后的图像g(x,y) = h(x,y)★f(x,y) + η(x,y),★表示卷积
根据空间域的卷积等于频率域的乘积得出:G(u,v)=H(u,v)★F(u,v)+N(u,v)
2、噪声模型
1)噪声来源于图像的获取(光照,传感器温度等)和传输过程(信道的干扰)。
2)白噪声:傅里叶频谱在整个频域内是常数的噪声。
3)概率密度函数
高斯噪声:
瑞利噪声:
伽马噪声:
指数噪声:
均匀噪声:
脉冲(椒盐)噪声:负脉冲是一个黑点(胡椒),正脉冲是一个白点(盐粒)
import cv2
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
def gasuss_noise(image, mean=0, var=0.001):
'''
添加高斯噪声
mean : 均值
var : 方差
'''
image = np.array(image/255, dtype=float)
noise = np.random.normal(mean, var ** 0.5, image.shape)
out = image + noise
if 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
image = cv2.imread('a.jpg')
# 添加高斯噪声
insert = gasuss_noise(image, mean=0, var=0.04)
cv2.namedWindow('in', 0)
cv2.resizeWindow("in", 500,700);
cv2.imshow("in", insert)
# 高斯滤波器
delete = cv2.GaussianBlur(insert,(3,3),1)
cv2.namedWindow('out', 0)
cv2.resizeWindow("out",</