目的:对获取图像在频域用高斯函数进行退化并叠加白噪声,对退化图像进行逆滤波和维纳滤波恢复,比较原始图像和恢复图像,对利用逆滤波和维纳滤波恢复方法恢复图像进行比较。

一、基本原理

图像复原是一种客观的操作,通过使用退化现象的先验知识重建或恢复一副退化的图像;图像在形成、传输和记录的过程中,由于受多种原因的影响,图像的质量会有下降,典型表现为图像模糊、失真、有噪声等,这一降质的过程称为图像的退化。而图像复原试图利用退化现象的某种先验知识(即退化模型),把已经退化了的图像加以重建和复原。其目的就是尽可能地减少或去除在获取图像过程中发的图像质量的下降(退化),恢复被退化图像的本来面目。
      图像复原基本思路:弄清退化原因,建立退化模型,反向推演,恢复图像。
     逆滤波复原过程:对退化的图像进行二位傅里叶变换;计算系统点扩散函数的二位傅里叶变换;引入H(fx,fy)计算并且对结果进行逆傅里叶变换。

维纳滤波:在一定的约束条件下,其输出与一给定函数(通常称为期望输出)的差的平方达到最小,通过数学运算最终可变为一个托布利兹方程的求解问题。维纳滤波器又被称为最小二乘滤波器或最小平方滤波器,目前是基本的滤波方法之一。维纳滤波是利用平稳随机过程的相关特性和频谱特性对混有噪声的信号进行滤波的方法。

逆滤波:简单的就是将退化函数去除,直接的逆滤波没有什么意义,只处理了靠近直流分量的部分,其他不做处理。如果加入巴特沃斯低通滤波器,效果会好点,可是在运动模糊的图片中就不好使了。

维纳斯滤波:使图像尽可能的平滑,可以消除很严重的噪声,回复图像。最小二乘滤波器。

二、结果图分析

     逆滤波和维纳滤波算法简单,使用灵活,有较高的使用精度。

    在带有噪声干扰的情况下,逆滤波的效果随着噪声的方差值的变大而变小,维纳滤波同样结果,同时恢复结果都带有不同程度的振铃效应。但维纳滤波的效果要比逆滤波的效果好,且随着噪声的加强对比效果变得更明显。改变K值可以改善逆滤波但不及维纳滤波的效果好。

三、完整程序

clc;
clear;
x=rgb2gray(imread('C:\Users\lenovo\Desktop\zhang.jpg'));
x1=x(:,:,1);
x1=double(x1);
[r,r1]=size(x1);
y1=fftshift(fft2(x1));
[r,r1]=size(y1);
figure(1);
imshow(x1,[]);
title('原始的图像') ;
figure(2);
imshow(abs(y1),[0,250000]);
title('原始的图像频谱');
m=1:r;
m1=1:r1;
[m,m1]=meshgrid(m,m1);%生成网格空间
noise=20.*imnoise(zeros(r,r1),'gaussian',0,0.008);%高斯噪声
figure(3);
subplot(1,2,1);
imshow(noise,[]);
title('白噪声') ;
a=double(21/100);%x方向的最大移动量为ra的0.21倍,可调
b=double(21/100);%y方向的最大移动量为ca的0.21倍,可调
t=double(88/100);%移动到最大所需的时间默认为0.88
f=ones(r,r1);
g=(m-r/2-1).*a+(m1-r1/2-1).*b+eps;
f=t.*sin(pi.*g).*exp(-j.*pi.*g)./(pi.*g);
h=f'.*y1;
tu=ifft2(h);
tu=abs(tu)+noise;
subplot(1,2,2);
imshow(tu,[]);
title('退化的图像')%原图傅立叶变换估计值
y1=h./f';
figure(4)
subplot(1,2,1);
imshow(abs(ifft2(y1)),[]);
title('逆滤波的结果');
h=fftshift(fft2(tu));
x=fftshift(fft2(noise));
K=x.*conj(x)./(y1.*conj(y1));%计算K值
w=(f.*conj(f))'.*h./(f.*(f.*conj(f)+K'))';
weina=abs(ifft2(w));
subplot(1,2,2);
imshow(weina,[]);
title('维纳滤波的结果');

图象恢复——(逆滤波,维纳滤波)相关推荐

  1. 图像处理:图像复原与重建之逆滤波、维纳滤波、约束最小二乘滤波——Matlab实现

    参考资料: 陷波滤波器-matlab实现 http://blog.sina.com.cn/s/blog_ebd29d830102wdzw.html 图像复原之约束最小二乘方滤波 https://blo ...

  2. 逆滤波和维纳滤波(附Matlab完整代码)

    一.实验目的 利用逆滤波和维纳滤波,对Lena加噪运动模糊降质图像进行复原,比较不同参数选择对复原结果的影响. 二.实验内容 1)     输入Lena图像,对图像进行运动降质:降质模型: 2)    ...

  3. 数字图像处理实验(五)|图像复原{逆滤波和伪逆滤波、维纳滤波deconvwnr、大气湍流扰动模型、运动模糊处理fspecial}(附matlab实验代码和截图)

    文章目录 一.实验目的 二.实验仪器 三.实验原理 四.实验内容 1.逆滤波:选择MATLAB文件夹中的foggy图像作为实验图像. (1)生成退化函数: (2)复原 (a)直接逆滤波 (b)修正函数 ...

  4. 数字图像处理——图像退化(大气湍流模型与运动模糊模型)与图像复原(逆滤波与维纳滤波)

    一.图像退化 一般来说,图像的退化模型可以表示为 其中g(x,y) 表示退化后的图像,h(x,y)表示退化模型,f(x,y)表示原图像,n(x,y)表示噪声. 在频域上面可以表示为 下面介绍常见的两种 ...

  5. 图像处理之仿真运动模糊复原【使用逆滤波、维纳滤波】

    目录 一.基础知识 二.问题分析 三.效果图 四.代码 一.基础知识 图像去模糊是一个经典的图像复原任务.造成图像模糊的原因有很多,可以主要分为三大类 离焦模糊:场景中的物体处于成像景深范围之外而变得 ...

  6. 数字图像处理4:逆滤波及其变形和维纳滤波

    逆滤波和维纳滤波 简介 在图像的获取.传输以及记录保存过程中,由于各种因素,如成像设备与目标物体的相对运动,大气的湍流效应,光学系统的相差,成像系统的非线性畸变,环境的随机噪声等原因都会使图像产生一定 ...

  7. 图像处理---逆滤波和维纳滤波

    文章目录 前言 一.逆滤波 1.1 估计退化函数 H ( u , v ) H(u,v) H(u,v) 1.1.1 观察法 1.1.2 试验法 1.1.3 建模法 ★ \bigstar ★ 1.2 直接 ...

  8. 图像去模糊(逆滤波)

    引言 图像模糊是一种拍摄常见的现象,我曾在图像去模糊(维纳滤波) 介绍过.这里不再详述,只给出物理模型,这里我们仍在频率域表示 G(u,v)=H(u,v)F(u,v)+N(u,v)(1) 其中提到最简 ...

  9. 图像处理/计算机视觉/ python环境下如何用滤波器(/逆滤波/均值滤波/低通滤波/高通滤波)处理图片【附代码】

    计算机视觉滤波器实操 基础知识 一. 计算机视觉技术中常见的几种滤波器 二.滤波器相关知识 应用一:算术均值.几何均值.谐波逆谐波 一.问题分析 二.结果图 三.代码附录 应用二:维纳滤波,逆滤波 一 ...

最新文章

  1. IOS App 后台运行
  2. hdu 5504(枚举+找规律)
  3. centos7搭建FTP服务器
  4. 深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling
  5. dubbo优势_Dubbo与SpringCloud核心组件Ribbon、Hystrix、Feign的优劣势比较
  6. 不同版本的mysql_windows下如何让多个个不同版本的mysql共存-百度经验
  7. Oracle的dbms_jobs 自动计划
  8. mysql dnslog_渗透技巧:使用dnslog加快盲注速度 · C1imber’s Blog
  9. Docker Yearning + Inception SQL审核平台搭建
  10. try-expect在集合处理中的应用
  11. python 脚本所在目录,Python 获取当前所在目录的方法详解
  12. Spring JDBC 【继承JdbcDaoSupport】
  13. 《麦肯锡方法》第7章 进行研究-思维导图
  14. 如何用AE做出动画效果杭州UI设计分享方法
  15. silvaco的石墨烯fet仿真_两米长的高功率因子石墨烯膜!散热发电两不误!
  16. 信必优成功案例 – 中国网络电视台(CNTV)
  17. LM3886TF功放制作进展
  18. 模拟10位QQ账号的生成
  19. 简单的猜数字游戏--入门
  20. Go语言圣经 - 第11章 测试 - 11.1 go test 11.2 测试函数

热门文章

  1. phobos 调试 javascript
  2. 史上最难oracle数据库练习题(附答案)
  3. 保险保费基本计算规则
  4. http、https 等 常用默认端口号
  5. Verilog学习之四选一多路器设计
  6. K线形态识别_双飞乌鸦
  7. Solidity 从入门到实战(一)
  8. 【Java】一文秒懂http请求获取FlexManager平台FBox盒子信息
  9. 皕杰报表web应用服务器的差异
  10. GridView选中状态