【图像融合】基于对比度增强结合多尺度边缘保持分解红外与可见光图像融合含Matlab源码

本文主要是介绍【图像融合】基于对比度增强结合多尺度边缘保持分解红外与可见光图像融合含Matlab源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 简介

图像融合是将来自不同传感器的图像进行整合,以获取更丰富更有用的信息,

提高对场景描述的完整性和准确性。和任意单一源图像相比,融合图像能为人类视觉系统或其他应用提供更为全面的信息。图像融合属于信息融合的分支,其研究始于上世纪八十年代,并在近几十年中有突飞猛进的发展,这一方面是因为前端传感器技术的进步使得图像数据量激增,人们面对海量数据以及复杂的应用程序急需图像融合处理来获得关于特定场景的全面信息,这样操作者无需分别检查每幅源图像,仅需要分析一幅融合后的图像,降低了人工时间成本。另一方面,信号处理理论的不断发展完善为融合算法设计提供了理论基础,使得关于图像融合的理论研究愈发深入,融合技术在现代军事、商业应用中起到越来越重要的作用。

根据输入源图像的种类不同,图像融合具体可分为遥感图像融合、医学图像

融合、多聚焦图像融合、多曝光图像融合和红外与可见光图像融合等,相关学者也都在这些领域进行了深入的研究。比如 Du 等人就医学图像融合的方法进行了总结,Ma 等人和 Jin 等人也对红外与可见光图像融合领域展开了全面的调查。在众多种类的图像融合中,红外与可见光图像融合是其中的重要分支,原因在于首先可见光图像与红外图像具有很强互补性:可见光图像分辨率和对比度比较高,但在夜间及恶劣天气等弱光条件下成像困难,红外图像则可以进行全天时的探测,能捕捉到可见光图像无法反映的物体情况。由于红外传感器硬件条件的原因,红外图像的分辨率低,达不到亚像素级别的分辨率,融合两种图像可以获得对场景更为精确的理解和解释,所以在诸如安防监控,军事侦察以及工业检测等实际工程应用中有很大的需求。其次由于光学系统及前端探测器的限制,在底层硬件上直接进行融合比较困难而且不经济,加之图像数据量剧增,目前急需红外与可见光图像的融合算法尤其是实时算法的开发​.

在低照度环境下拍摄的可见光图像可视性较差,若将其与红外图像直接融合会导致融合结果清晰度不理想.针对这一问题,该文提出一种基于对比度增强与多尺度边缘保持分解的图像融合方法.首先,在融合之前采用基于导向滤波的自适应增强算法提高可见光图像中暗区内容的可视性.其次,通过一种尺度感知边缘保持滤波器对输入图像进行多尺度分解.再次,应用频率调谐滤波构造显著图.最后,利用由导向滤波生成的权重图重构融合图像.实验结果表明,所提方法不仅可以使细节信息更突出,而且还能够有效地抑制伪影.

2 部分代码

function R = enhance(img)% 论文的第一部分:基于导向滤波的夜间可见光图像自适应增强算法mi = min(img(:));ma = max(img(:));img1 = (img-mi)/(ma-mi)*255+0;log_img = log(img1+1);  %公式(9)中的被减数[m,n] = size(img1);r = floor(0.04*max(m,n));   %引导滤波中r的计算方法eps = 0.01;  %引导滤波中?的值base = 255*guidedfilter(img1/255, img1/255, r, eps);log_base = log(base+1); %公式(8)log_detail = log_img - log_base;    %公式(9)beta =  log(4)/(max(log_base(:))-min(log_base(:)));   %公式(11)gamma = (1-beta)*max(log_base(:));   %公式(12)log_output = beta*log_base + log_detail + gamma; %公式(10)R = exp(log_output);    %公式(13)R = min(R, 255);    %将数据转换为[0-255]end

3 仿真结果

4 参考文献

[1]朱浩然, 刘云清, 张文颖. 基于对比度增强与多尺度边缘保持分解的红外与可见光图像融合[J]. 电子与信息学报, 2018, 40(6):7.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

这篇关于【图像融合】基于对比度增强结合多尺度边缘保持分解红外与可见光图像融合含Matlab源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/343908

相关文章

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像