[数字图像处理]第五章 图像复原与重建

本文详细介绍了图像退化和复原的概念,讨论了线性位移不变系统模型在描述图像退化过程中的应用。文章涵盖了各种噪声模型,如高斯噪声、瑞利噪声、伽马噪声、指数噪声和均匀噪声,并通过实验展示了它们对图像的影响。此外,文章还探讨了空间滤波器,如均值滤波器、几何均值滤波器、中值滤波器和自适应滤波器在图像去噪中的应用。最后,提到了计算机断层扫描(CT)的投影重建原理和傅里叶切片定理在图像重建中的作用。

文章目录

第五章 图像复原与重建

5.1图像退化复原过程的模型

图像退化

​ 图像退化的描述(图像退化及其过程描述)如下:
图像的退化是指图像在形成、传输和记录过程中,由于成像系统、传输介质和设备的不完善,使图像的质量下降(变坏)。其典型表现为:模糊、失真、有噪声。产生原因:成像系统像差、传感器拍摄姿态和扫描非线性、成像设备与物体运动的相对运动、大气湍流、成像和处理过程中引入的噪声等。

图像复原

图像复原就是尽可能恢复退化图像的本来面目,它是沿图像退化的逆过程进行处理,也就是如果我们知道图像是经历了什么样的过程导致退化,就可以按其逆过程来复原图像。因此,图像复原过程流程如下:
找退化原因→建立退化模型→反向推演→恢复图像
​ 典型的图像复原是根据图像退化的先验知识,建立退化现象的数学模型,再根据模型进行反向的推演运算,以恢复原来的景物图像。因此,图像复原的关键是知道图像退化的过程,即图像退化模型。并据此采用相反的过程求得原始图像。针对不同的退化问题,图像复原的方法主要有:代数方法恢复、运动模糊恢复、逆滤波恢复、维纳滤波恢复、功率谱均衡恢复、约束最小平方恢复、最大后验恢复、最大熵恢复、几何失真恢复等。

图像复原与图像增强

​ 图像增强不考虑图像是如何退化的,而是主观上试图采用各种技术来增强图像的视觉效果。

​ 因此,图像增强可以不顾增强后的图像是否失真,只要达到想要的目视效果就可以。而图像复原就完全不同,需知道图像退化的机制和过程等先验知识,客观上找出一种相应的逆处理方法,从而得到复原的图像。如果图像已退化,应先作复原处理,再作增强处理。
​ 二者的目的都是为了改善图像的质量。

图像退化的数学模型

​ 输入图像f(x,y)经过某个退化系统后输出的是一幅退化的图像。 为了讨论方便,把噪声引起的退化即噪声对图像的影响一般作为加性噪声考虑。原始图像f(x,y)经过一个退化算子或退化系统H(x,y)的作用,再和噪声n(x,y)进行叠加,形成退化后的图像g(x,y)。

​ 下图表示退化过程的输入和输出之间的关系,其中H(x,y)概括了退化系统的物理过程,它就是我们要寻找的退化数学模型。

​ 这里的H就是退化系统。
​ 通常,我们假设图像经过的退化系统是线性非时变系统,线性非时变系统具有如下四个基本性质:
​ H的四个性质(假设噪声n (x,y) =0) :

(1)一致性(齐次性):如果 f 2 ( x , y ) = 0 f_2(x, y)=0 f2(x,y)=0, 则:
H [ k 1 ( f 1 ( x , y ) ] = k 1 H [ f 1 ( x , y ) ] H[k_1(f_1(x,y)]= k_1H[f_1(x,y)] H[k1(f1(x,y)]=k1H[f1(x,y)]
​ 线性系统对常数与任意输入的乘积的响应等于常数与输入的响应的乘积
(2)相加性(叠加性) :如果k1=k2=1 ,则:
H [ f 1 ( x , y ) + f 2 ( x , y ) = H [ f 1 ( x , y ) ] + H [ f 2 ( x , y ) ] H [f_1(x,y)+ f_2(x,y)= H [f_1(x,y)]+ H [f_2(x,y)] H[f1(x,y)+f2(x,y)=H[f1(x,y)]+H[f2(x,y)]
​ 两个图像和的退化结果等于它们分别退化结果之和(说明线性系统对两个输入图像之和的响应等于它对两个输入图像响应的和)。
(3)线性(齐次叠加性) :如果令k1和k2为常数,$ f_1(x,y) 和 和 f_2(x,y)$为两幅输入图像,则:
H [ k 1 f 1 ( x , y ) + k 2 f 2 ( x y ) ] = k 1 H [ f 1 ( x , y ) ] + k 2 H [ f 2 ( x , y ) ] H[k_1f_1(x,y)+k_2f_2(xy)]=k_1H [f_1(x,y)]+ k_2H [f_2(x,y)] H[k1f1(x,y)+k2f2(xy)]=k1H[f1(x,y)]+k2H[f2(x,y)]
​ 两个图像的加权和的退化结果等于它们分别退化结果的加权和。
(4)位置(空间)不变性:如果对任意f(x,y)以及a和b,有:
H [ f ( x − a , y − b ) ] = g ( x − a , y − b ) H[f(x-a,y- b)]= g(x-a,y-b) H[f(xa,yb)]=g(xa,yb)
​ 原始图像偏移多少,响应的退化图像也偏移多少,说明线性系统在图像任意位置的响应只与在该位置的输入值有关而与位置本身无关

​ 根据这些特点,输入信号与其经过线性非时变系统的输出信号之间的关系,以及傅里叶变换的性质,我们得到如下时域及频域的关系表达式:
g ( x , y ) = H [ f ( x , y ) ] + n ( x , y ) G ( u 、 v ) = H ( u , v ) F ( u , v ) + N ( u , v ) g ( x , y ) = f ( x , y ) ∗ h ( x , y ) + n ( x , y ) g(x,y)= H [f(x,y)]+n(x,y)\\ G(u、v)= H(u,v)F(u,v)+ N(u,v)\\ g(x,y)=f(x,y)^*h(x,y)+n(x,y) g(x,y)=H[f(x,y)]+n(x,y)G(uv)=H(u,v)F(u,v)+N(u,v)g(x,y)=f(x,y)h(x,y)+n(x,y)

​ 即:在时域上分析时,原始图像经过退化系统后得到的退化图像g(x,y)等于 原始输入图像f(x,y) 与系统冲激响应h(x,y)的卷积再加上噪声信号。.
​ 在频(率)域上分析时,退化图像的傅里叶变换G(u,v)等于原始图像的傅里叶变换F(u,v) 与退化系统的频率响应H(u,v)相乘,再加上噪声信号的傅里叶变换N(u,v)

为什么采用线性位移不变系统模型来描述图像退化过程

​ 1)由于许多种退化都可以用线性位移不变模型来近似,这样线性系统中的许多数学工具如线性代数,能用于求解图像复原问题,从而使运算方法简捷和快速。
​ 2)当退化不太严重时,一般用线性位移不变系统模型来复原图像,在很多应用中有较好的复原结果,且计算大为简化。
​ 3)实际上,尽管非线性和位移可变的情况能更加准确而普遍地反映图像复原问题的本质,但在数学上求解困难。只有在要求很精确的情况下才用位移可变的模型去求解,其求解也常以位移不变的解法为基础加以修改而成。
​ 换句话说,就是利用了:线性系统的计算简洁快速,同时它也是非线性和位移可变系统的基础,非线性位移可变系统的求解可以转化为线性移不变求解。

5.2 噪声模型x

​ 数字图像中,噪声主要来源于图像的获取和/或传输过程。成像传感器的性能受各种因素的影响,如图像获取过程中的环境条件和传感元器件自身的质量。

5.2.1 噪声的空间和频率特性

​ 与我们的讨论相关的是定义噪声空间特性的参数,以及噪声是否与图像相关。频率特性是指傅里叶域中噪声的频率内容(即相对于电磁波谱的频率)。例如,当噪声的傅里叶谱是常量时,噪声通常称为白噪声。这个术语是从白光的物理特性派生出来的,它以相等的比例包含可见光谱中的几乎所有频率。以相同比例包含所有频率的函数的傅里叶谱是一个常量。
​ 除了空间周期噪声(见5.2.3节)之外,在本章中我们假设噪声独立于空间坐标,并且噪声与图像本身不相关(即像素值与噪声分量的值之间不相关)。虽然这些假设至少在某些应用中(例如X射线和核医学成像的有限量子成像就是一个很好的例子)是无效的,但处理空间相关和相关性噪声的复杂性超出了我们讨论的范围。

5.2.2 一些重要的噪声概率密度函数

​ 概率密度函数(PDF)

高斯噪声

​ 在空间域和频率域中,由于高斯噪声在数学上的易处理性,故实践中常用这种噪声(也称为正态噪声)模型。事实上,这种易处理性非常方便,以至于高斯模型常常应用于在一定程度上导致最好结果的场合。
​ 高斯随机变量z的PDF由下式给出:
p ( z ) = 1 2 Π δ e − ( z − z ‾ ) 2 / 2 δ 2 p(z)=\frac{1}{\sqrt{2Π}\delta}e^{-(z-\overline{z})^2/2\delta^2} p(z)= δ1e(zz)2/2δ2
​ 其中,z表示灰度值, z ‾ \overline{z} z表示z的均(平均)值, δ \delta δ表示z的标准差。标准差的平方 δ 2 \delta^2 δ2称为z的方差。
在这里插入图片描述

实验:采用高斯噪声对图像处理
import random

import numpy as np
import matplotlib.pyplot as plt
import cv2 as cv

img = cv.imread('C:/Users/Yuao/Pictures/learningTest/2.png',0)

mu, sigma = 0.0, 20.0
noiseGause = np.random.normal(mu, sigma, img.shape)
imgGaussNoise = img + noiseGause
imgGaussNoise = np.uint8(cv.normalize(imgGaussNoise, None, 0, 255, cv.NORM_MINMAX))  # 归一化为 [0,255]

plt.figure(figsize=(9, 3))
plt.subplot(131), plt.title("Origin"), plt.axis('off')
plt.imshow(img, 'gray', vmin=0, vmax=255)
plt.subplot(132), plt.title("GaussNoise"), plt.axis('off')
plt.imshow(imgGaussNoise, 'gray')
plt.subplot(133), plt.title("Gray Hist")
histNP, bins = np.histogram(imgGaussNoise.flatten(), bins=255, range=[0, 255], density=True)
plt.bar(bins[:-1], histNP[:])
plt.tight_layout()
plt.show()

实验结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C5tvAj2Q-1686751138851)(C:\Users\Yuao\AppData\Roaming\Typora\typora-user-images\image-20230614133203905.png)]

​ 可以看出在原图上加入高斯噪声,图片变得模糊不清,且其灰色直方图呈现正态分布。

瑞利噪声

​ 瑞利噪声的PDF由下式给出:
p ( z ) = { 2 b ( z − b ) e − ( z − a ) 2 / b , z ≥ a 0 , z < a p(z)=\begin{cases} \frac{2}{b}(z-b)e^{-(z-a)^2/b}, z\ge a \\ 0\quad\quad\quad\quad\quad\quad\quad ,z<a \end{cases} p(z)={ b2(zb)e(za)2/b,za0,z<a
​ 概率密度的均值和方差由
z ‾ = a + Π b / 4 \overline{z}=a+\sqrt{Πb/4} z=a+Πb/4
​ 和
δ 2 = b ( 4 − Π ) 4 \delta^2=\frac{b(4-Π)}{4} δ2=4b(4Π)
​ 给出。瑞利密度对于近似歪斜的直方图十分适用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SOw2Lqj3-1686751138852)(C:\Users\Yuao\Desktop\Learning\数字图像处理\瑞利噪声.png)]

实验: 采用瑞利噪声对图像处理
import random

import numpy as np
import matplotlib.pyplot as plt
import cv2 as cv

# 瑞利噪声  (RayleighNoise)
img = cv.imread('C:/Users/Yuao/Pictures/learningTest/2.png', 0)  # flags=0 读取为灰度图像
# img = np.ones([256, 256]) * 128

a = 30.0
noiseRayleigh = np.random.rayleigh(a, size=img.shape)
imgRayleighNoise = img + noiseRayleigh
imgRayleighNoise = np.uint8(cv.normalize(imgRayleighNoise, None, 0, 255, cv.NORM_MINMAX))  # 归一化为 [0,255]

plt.figure(figsize=(9, 3))
plt.subplot(131), plt.title("Origin"), plt.axis('off')
plt.imshow(img, 'gray', vmin=0, vmax=255)
plt.subplot(132), plt.title("RayleighNoise"), plt.axis('off')
plt.imshow(imgRayleighNoise, 'gray')
plt.subplot(133), plt.title("Gray Hist")
histNP, bins = np.histogram(imgRayleighNoise.flatten(), bins=255, range=[0, 255], density=True)
plt.bar(bins[:-1], histNP[:])
plt.tight_layout()
plt.show()

实验结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V53Gtyhi-1686751138853)(C:\Users\Yuao\Desktop\Learning\数字图像处理\瑞利噪声实验结果.png)]

​ 可以看出加入瑞利噪声后,原图像出现模糊,且其直方图距原点的位移和密度的基本形状向右变了。

爱尔兰(伽马)噪声

​ 爱尔兰噪声的PDF由下式给出:
p ( z ) = { a b z b − 1 ( b − 1 ) ! e − a z , z ≥ a 0 , z < a p(z)=\begin{cases} \frac{a^bz^{b-1}}{(b-1)!}e^{-az},z\ge a \\ 0\quad\quad\quad\quad,z <a \end{cases} p(z)={ (b1)!abzb1eaz,za0,z<a
​ 其中,参数a>0,b为正整数,并且"!"表示阶乘。其概率密度的均值和方差由
z ‾ = b a \overline{z}=\frac{b}{a} z=ab

ζ 2 = b a 2 \zeta^2=\frac{b}{a^2} ζ2=a2b
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KamX80gX-1686751138854)(C:\Users\Yuao\Desktop\Learning\数字图像处理\爱尔兰(伽马)噪声.png)]

实验:伽马噪声对图像的影响
import numpy as np
import matplotlib.pyplot as plt
import cv2
# # 9.3:伽马噪声 (Gamma Noise)
img = cv2
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值