![f02ab574b1e47743a5535e2108aa703d.png](https://i-blog.csdnimg.cn/blog_migrate/99e3c3fd31f4406c74a2993a44132b3e.jpeg)
物理热力学上有这样的一条定理,孤立的热力学系统的熵不减少,总是增大或者不变。说明一个孤立系统不可能朝低熵的状态发展,即不会变得有序。这条法则放之四海而皆准,微观意义上来说就是:一切自然过程总是沿着分子热运动的无序性增大的方向进行。而我们要的图像也是这样,图像在形成,传输,记录的过程中,受到多种因素的影响,图像的质量都会有所下降,比如图像,模糊,失真,有噪声等。这一图像质量下降的过程称为图像的退化。而我们这里要讲的是图像的复原。
首先我们画一张思维导图来理清这部分知识的脉络,其实我们前面文章讲的很多知识都是为这部分做铺垫。
![a3556faf031fc738a43c988582170395.png](https://i-blog.csdnimg.cn/blog_migrate/9c8c8d250b6193dd6659174099dfef51.jpeg)
1.图像退化模型
![b49ffad86231eea977b2e24dd3ce44bd.png](https://i-blog.csdnimg.cn/blog_migrate/5ddc4c67531127b48eb26b42ec3e978b.jpeg)
2.逆滤波复原法
逆滤波复原法也叫做反向滤波法,其主要过程是首先将要处理的数字图像从空间域转换到傅里叶频率域中,进行反向滤波后再由频率域转换到空间域,从而得到复原的图像信号,
3.非约束复原
非约束复原方法仅仅要求某种优化准则为最小,不考虑其他任何约束的复原方法,常用的有非约束复原的代数方法和逆滤波复原法。所谓非约束复原的代数方法是用线性代数中的理论解决图像复原问题。通常选择最小二乘方作为优化准则的基础。
4.有约束复原
有约束图像复原技术除了要求了解关于退化系统的传递函数之外,还需要知道某些噪声的统计特征或噪声与图像的某些相关情况。根据所了解的噪声的先验知识的不同,采用不同的约束条件,从而得到不同的图像复原技术。最常见的方法有约束的最小二乘方约束复原原法、维纳滤波法,有约束最小平方复原和去除由匀速运动引起的模糊。在最小二乘方约束复原法中,为了在数学上更容易处理,常常附加某种约束条件,形成不同的约束条件,就可得到不同类型的有约束最小二乘方图像复原方法。维纳滤波是假设图像信号可近似看成平稳随机过程的前提下,按照使输入图像和复原图像之间的均方误差达到最小的准则函数来实现图像复原的方法。
5.图像复原示例演示
a.逆滤波复原法实践
明天更新
b.最小二乘滤波滤波举例
imfilter函数的基本语法如下
B = imfilter(A,h)
他的作用是:将滤镜应用到原始图像上,创建带有运动模糊的图像。注意,与其他过滤函数相比,imfilter的内存效率更高,因为它输出与输入图像数组相同的数据类型的数组。
fspecial函数中,‘motion’指的是运动模糊算子
![d50f0f1ce102aeac83287827a869bfa6.png](https://i-blog.csdnimg.cn/blog_migrate/334feadcf3ddeb07eb58842ff3256fb1.jpeg)
运行代码如下:
a=imread('f.jpg');%读取原始图像
LEN=31;
%图像的模糊化
THETA=11;
PSF1=fspecial('motion',LEN,THETA);%创建运动模拟退化函数
PSF2=fspecial('gaussian',10,5);
Blurred1=imfilter(I,PSF1,'circular','conv');%产生退化图像
Blurred2=imfilter(I,PSF2,'conv');
%模糊化图像加噪
V=.002;
BlurredNoisy1=imnoise(Blurred1,'gaussian',0,V);
BlurredNoisy2=imnoise(Blurred2,'gaussian',0,V);
subplot(1,3,1);imshow(I)
title('原图像');
%用真实的PSF函数和噪声强度作为参数进行图像复原
NP=V*prod(size(I));
regl=deconvreg(BlurredNoisy1,PSF1,NP); %使用约束的最小二乘方滤波
reg2=deconvreg(BlurredNoisy2,PSF2,NP);
subplot(1,3,2);imshow(regl);
title('BlurredNoisyl—"motion"');
subplot(1,3,3);imshow(reg2);title('BlurredNoisyl—"gaussian"');
运行结果:
![76333e180e05f4a069b4491ca347797d.png](https://i-blog.csdnimg.cn/blog_migrate/c1f4e66262a9a8f377a72ce68f5160e4.png)
c.维纳滤波复原举例
a=imread('f.jpg');
I=rgb2gray(a);
LEN=31;
THETA=11;
PSF1=fspecial('motion',LEN, THETA);
PSF2=fspecial('gaussian',10,5);
Blurred1=imfilter(I,PSF1,'circular','conv');
Blurred2=imfilter(I,PSF2,'conv');
V=.002;
BlurredNoisyl=imnoise(Blurred1,'gaussian',0,V);
BlurredNoisy2=imnoise(Blurred2,'gaussian',0,V);
subplot(1,3,1);imshow(I);title('lena');
wnr1=deconvwnr(Blurred1, PSFI); %采用常系数对图像进行维纳滤波
wnr2=deconvwnr(Blurred1,PSF2);
subplot(1,3,2);imshow(wnr1);title('Restoredl,True PSF');
subplot(1,3,3);imshow(wnr2);title('Restored2.True PSF');
今天的文章就到这里,晚点有空会更新,关注微信公众号Asoul水云天课堂,获取更多推送,更多学习资料,原版图像处理电子书籍。