基于逆滤波算法的无约束图像超分辨重构研究-附Matlab代码

news2024/11/14 20:38:05

⭕⭕ 目 录 ⭕⭕

  • ✳️ 一、引言
  • ✳️ 二、逆滤波复原理论
  • ✳️ 三、实验验证
  • ✳️ 四、Matlab程序获取与验证

✳️ 一、引言

图像复原( Image Restoration),也称图像恢复,是图像处理的一个重要方面。其目的就是尽可能地减少或去除在获取数字图像过程中发生的图像质量的下降(退化),恢复被降质图像的本来面目。因此,为了达到图像复原的目的,需要弄清降质的原因,分析引起降质的因素,建立相应的数学模型,并沿着使图像降质的逆过程恢复图像。与图像增强相似,图像复原的目的也是改善图像质量。不同的是图像复原是试图利用降质过程的先验知识使已降质的图像恢复本来面目,从图像质量评价的角度来看,是提高图像的通真度。

在实际应用中,图像在成像过程的每一个环节都有可能引起降质。最为典型的图像降质表现为光学系统的像差、光学成像系统的衍射、成像系统的非线性畸变、感光器件的非线性、成像过程的相对运动、大气的湍流效应、环境随机噪声等。由于引起降质的因素众多而且性质不同,因此,图像复原的方法、技术也各不相同。即使针对同样的降质原因,也存在不同的复原方法。

对于图像复原,常见的有两种分类方法。一种是根据处理对象所在的域进行划分,分为空间域和频率域图像复原。如空间域上的最小二乘方复原方法,频率域上的逆滤波维纳滤波等复原方法。由于空间域上的复原过程需要计算非常庞大的方程组,通常借助计算相对简单的频域处理方法来进行复原。另一种是在给定降质模型条件下,根据复原过程中是否增加约束条件来进行分类,分为无约束条件图像复原和有约束条件图像复原。如无约束条件的逆滤波图像复原方法,有约束条件的维纳滤波、最小二乘方图像复原等方法。

✳️ 二、逆滤波复原理论

在不考虑图像噪声情况下,可知降质图像g(x,y)、系统点扩展函数h(x,y)、原始图像f(x,y)与其傅里叶变换G(u, v)、H(u, v)、F(u, v)的关系如下:

在这里插入图片描述
这意味着,如果知道降质图像的傅里叶变换值和降质系统的传递函数,就可以得到原始图像的傅里叶变换,经傅里叶逆变换就得到原始图像。由此可见,复原后的图像为

在这里插入图片描述
在考虑噪声的情况下,上式可写成

在这里插入图片描述
如果记M(u, v)=1/H(u, v)为降质系统的恢复转移函数,由于M(u, v)起到反向滤波作用故称为反向滤波或称逆滤波复原,这是最早应用于数字图像复原的一种方法。

实际上,使用逆滤波式进行图像复原时,由于H(u,v)出现在分母,当在(u, v)平面某些点上或区域上H(a,v)很小或等于零,即出现了零点,就会导致不定解。因此,即使没有噪声,一般也不可能精确地复原f(x,y)。如果考虑噪声项N(u,v),则出现零点时,噪声项将被放大,零点的影响将会更大,噪声对图像复原的结果起主导地位,这就是逆滤波图像复原存在的病态性质。它意味着降质图像中小的噪声干扰在H(u,v)取很小值的那些频谱上将对恢复图像产生很大的影响。因此,对于多数图像直接采用逆滤波复原时会遇到上述求解方程的病态性。

✳️ 三、实验验证

图1所示给出了原始图像,以及降质观测图像。通过上述逆滤波算法,复原结果如图1©所示。

在这里插入图片描述

图1 降质观测图像逆滤波复原结果

✳️ 四、Matlab程序获取与验证

上述演示实例由Matlab代码实现,获取该Matlab代码前可开展针对性验证实验,请私信博主。


博主简介:研究方向涉及智能图像处理、深度学习、卷积神经网络等领域,先后发表过多篇SCI论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis高级

redis持久化的两种方式:(重点) RDB: 全量打包-----------将内存中的所有数据存储在磁盘 执行一个bgsave ----1. 关机redis 2. 缺点:1.大量的数据重复打包和覆盖耗费时间和性能 2.配置save 不能把所有情况考虑在内,red…

微信公众号小程序怎么做?【公众号小程序搭建】

现在我们使用小程序的频率非常高,而且小程序也给我们带来很多便捷的体验,不少企业公司商家都有自己的微信公众号小程序。那么微信公众号小程序怎么做呢,下面跟大家简单说说。 1、注册小程序账号 做微信公众号小程序之前要有小程序账号&…

快速上手Django(七) -Django之登录cookie和session

文章目录快速上手Django(七) -Django之登录cookie和session一、cookie、session基础cookiesession二、Django SessionDjango启用SessionDjango Session存储方式三、Django中自定义用户模型需求背景自定义用户模型整体实现思路自定义User模型示例代码【非必须】自定义一个管理器…

Kafka 设计原理

文章目录1、Kafka 使用场景2、Kafka 架构2.1、工作流程2.2、副本机制2.3、生产者2.3.1、生产方式2.3.2、分区策略Round-robinRandomnessKey-ordering2.4、消费者2.4.1、消息队列模型2.4.2、消费方式2.4.3、分区策略RangeRoundRobin2.5、消息可靠性1、Kafka 使用场景 Kafka 是采…

图书馆座位预约管理系统毕业设计,图书馆座位管理系统设计与实现,图书馆座位预约系统毕业论文毕设作品参考

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于web网页的教室图书馆座位预约系统,整个网站项目使用了B/S架构,基于python的Django框架下开发;管理员通过后台录入信息、管理信息,设置网站信息&#xff0c…

CUDA入门和网络加速学习(一)

0. 简介 最近作者希望系统性的去学习一下CUDA加速的相关知识,正好看到深蓝学院有这一门课程。所以这里作者以此课程来作为主线来进行记录分享,方便能给CUDA网络加速学习的萌新们去提供一定的帮助。 1. GPU与CPU区别 处理器指标一般主要分为两大类&…

异构体之间通信

一、WIFI通信 1、网络配置 IP地址 网络地址 主机地址 假设IP地址是192.168.100.1,这个地址中包含了很多含义。如下所示: 网络地址(相当于街道地址):192.168.100.0 主机地址(相当于各户的门号):0.0.0.1 IP地址(相当于住户地址…

【Java进阶篇】第七章 多线程

文章目录一、多线程概述1、进程与线程2、进程与线程的关系二、多线程并发的实现1、线程的实现方式一2、线程的实现方式二三、线程的生命周期1、线程的五个生命周期2、常用方法3、线程的sleep4、终止线程的睡眠状态5、强行终止线程的执行6、合理终止一个线程的执行四、线程的调度…

apache html调用bash脚本案例

首先安装apache服务,采用yum的方式即可,因为用到的都是apache的基本功能,不需要编译安装 yum -y install httpd 然后准备html页面,这个页面其实就是调用bash脚本的页面,提供页面操作然后调用服务器上的脚步文件 网页布局建议用…

【嵌入式UI框架:LVGL】使用恩智浦GUI设计工具,像Qt一样开发MCU界面

LVGL是一个免费的开源嵌入式图形库,它提供创建嵌入式GUI所需的功能,具有易于使用的图形元素、精美的视觉效果和低内存占用。完整的图形框架包括供您在创建GUI时所用的各种小部件,并支持更高级的功能,例如动画和抗锯齿。 一、工具&…

springcloud入门

微服务架构介绍 微服务架构, 简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独 立运行的项目。 微服务架构的常见问题 一旦采用微服务系统架构,就势必会遇到这样几个问题: 这么多小服务…

MYSQL——毫秒值和日期类型数据的转换,DATE_SUB的用法

MYSQL——毫秒值和日期类型数据的转换,DATE_SUB的用法一、毫秒值转换成日期数据类型二、日期数据类型转换成毫秒值三、DATE_SUB的用法一、毫秒值转换成日期数据类型 语法:FROM_UNIXTIME(毫秒值字段,‘%Y-%m-%d %h:%i:%s’) 举例: select id…

spring-boot-starter-aop及其使用场景说明

如今,AOP(Aspect Oriented Programming)已经不是什么崭新的概念了,在经历了代码生成、动态代理、字节码增强甚至静态编译等不同时代的洗礼之后,Java 平台上的 AOP 方案基本上已经以 SpringAOP 结合 AspectJ 的方式稳固…

基于独立分量分析进行模态分解(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

[附源码]计算机毕业设计基于Springboot在线教育系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Mysql详细安装步骤

目录 1、解压服务端Mysql安装包 2.复制改变my.ini文件 3、安装MySQL服务 4、启动mysql服务 6.记录初始密码,利用初始密码登录 &7.改变MySQL链接密码 1、解压服务端Mysql安装包 解压之后的目录就是以上这样的。 2.复制改变my.ini文件 把my.ini文件添加…

【计算机图形学入门】笔记3:变换Transformation(二维与三维)

第三章.Transformation变换(二维与三维)1.为什么要学习变换?2.变换的几种形式1.缩放2.相对于y轴翻转3.Shear Matrix 切片4.旋转3.齐次坐标1.平移变换2.齐次坐标的引入3.使用齐次坐标表示上述变换4.组合变换5.分解变换6.三维空间中的变换1.三维…

QT 系统学习 day03 了解各种控件,文件操作,消息框,windows应用界面的 生成菜单栏, 状态栏,中心部件,工具栏,

1. 控件, 旋钮 ,进度条, 我也不知道叫啥, 相关的代码; 首先是函数 1.旋钮函数 (槽函数都有说明)(Dial) ui->dial->setRange(0,100);//设置旋钮的范围ui->di…

Three.js一学就会系列:01 第一个3D网站

文章目录前言一、Three.js是什么?官网官网示例效果尝鲜二、使用步骤1.引入three.js库2.使用方法创建一个场景创建一个透视摄像机将渲染器添加到页面上创建一个立方体渲染场景立方体动起来效果总结前言 最近开始入坑前端3D建站,跟大家一起慢慢深入three.…

Android 面试拒收Offer篇,这样做对吗?

作者:如梦 如梦朦胧 朋友们的劝说下,有了换工作的躁动,然后投了某度的Android岗位,本以为像我这种非211、985没工作经验的渣渣只能被直接pass,结果却意外的收到了电话,真是受宠若惊.经过电面,技术三面,然后就是等通知到最后拿到了OFFER,如梦一般,真是挺…