【图像融合】基于对比度增强结合多尺度边缘保持分解红外与可见光图像融合含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

相关文章

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Python结合requests和Cheerio处理网页内容的操作步骤

《Python结合requests和Cheerio处理网页内容的操作步骤》Python因其简洁明了的语法和强大的库支持,成为了编写爬虫程序的首选语言之一,requests库是Python中用于发送HT... 目录一、前言二、环境搭建三、requests库的基本使用四、Cheerio库的基本使用五、结合req

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get