【红外与可见光图像融合】离散平稳小波变换域中基于离散余弦变换和局部空间频率的红外与视觉图像融合方法(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及文献


💥1 概述

基于SWT_DCT_SF的红外与可见光图像融合方法是一种通过结合离散稳态小波变换(DSWT)、离散余弦变换(DCT)和局部空间频率(LSF)来混合融合红外和可见光图像的方法。

为了提高红外和视觉图像融合的性能,并提供更好的视觉效果,本文提出了一种新的融合方法。该方法首先利用DSWT将源图像的重要特征分解为一系列不同层次和空间频率的子图像。这样做的目的是为了捕捉图像的细节和结构信息。接下来,利用DCT根据不同频率的能量分离子图像的重要细节。DCT能够有效地提取图像的频域特征,从而使得融合后的图像更加清晰和自然。最后,应用LSF增强DCT系数的区域特征,以帮助图像特征的提取和融合。LSF可以提供更多的空间信息,从而提高融合效果。

为了评估所提方法的有效性,我们使用了一些常用的图像融合方法和评价指标进行了实验。实验结果表明,所提方法能够达到较好的融合效果,比其他常规图像融合方法更有效。通过将红外和可见光图像的特征进行合理的融合,我们可以获得更全面和准确的图像信息,从而提高图像的识别和分析能力。这对于许多应用领域,如军事、安防和医学图像处理等具有重要的意义。

总之,基于SWT_DCT_SF的红外与可见光图像融合方法是一种有效的融合方法,能够提高红外和可见光图像的融合效果,并提供更好的视觉效果。这种方法可以应用于各种图像处理领域,为相关应用提供更全面和准确的图像信息。

📚2 运行结果

部分代码:

function imf=swt_dct2(M1,M2)[m,n]=size(M1);
bs=4;
for i=1:bs:mfor j=1:bs:ncb1 = M1(i:i+bs-1,j:j+bs-1);cb2 = M2(i:i+bs-1,j:j+bs-1);CB1=dct2(cb1);CB2=dct2(cb2);CBF= fusionrule(CB1,CB2,CB1,CB2);cbf=idct2(CBF);imf(i:i+bs-1,j:j+bs-1)=cbf;im1(i:i+bs-1,j:j+bs-1)=CB1;im2(i:i+bs-1,j:j+bs-1)=CB2;im3(i:i+bs-1,j:j+bs-1)=CBF;end
endfigure,imshow(M1,[]);
figure,imshow(M2,[]);
figure,imshow(imf,[]);figure,imshow(im1,[]);figure(1231);imagesc(M1)axis offaxis image
figure,imshow(im2,[]);figure(1232);imagesc(M2)axis offaxis image
figure,imshow(im3,[]);figure(1233);imagesc(imf)axis offaxis image
end

function imf=swt_dct2(M1,M2)

[m,n]=size(M1);
bs=4;
for i=1:bs:m
    for j=1:bs:n
        cb1 = M1(i:i+bs-1,j:j+bs-1);
        cb2 = M2(i:i+bs-1,j:j+bs-1);
         CB1=dct2(cb1);
         CB2=dct2(cb2);
         CBF= fusionrule(CB1,CB2,CB1,CB2);
        cbf=idct2(CBF);
        imf(i:i+bs-1,j:j+bs-1)=cbf;
        im1(i:i+bs-1,j:j+bs-1)=CB1;
        im2(i:i+bs-1,j:j+bs-1)=CB2;
        im3(i:i+bs-1,j:j+bs-1)=CBF;
        
    end
end

figure,imshow(M1,[]);
figure,imshow(M2,[]);
figure,imshow(imf,[]);

figure,imshow(im1,[]);
           figure(1231);
           imagesc(M1)
           axis off
           axis image
figure,imshow(im2,[]);
           figure(1232);
           imagesc(M2)
           axis off
           axis image
figure,imshow(im3,[]);
           figure(1233);
           imagesc(imf)
           axis off
           axis image
end
 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码及文献

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

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

相关文章

selenium下载安装 -- 使用谷歌驱动碰到的问题

安装教程参考: http://c.biancheng.net/python_spider/selenium.html 1. 谷歌浏览器和谷歌驱动版本要对应(但是最新版本谷歌对应的驱动是没有的,因此要下载谷歌历史其他版本): 谷歌浏览器历史版本下载: https://www.chromedownloads.net/chrome64win/谷歌浏览器驱动下载: http:…

基于web的医院预约挂号系统/医院管理系统

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&a…

【GESP考级C++】1级样题 闰年统计

GSEP 1级样题 闰年统计 题目描述 小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(包含起始年份和终止年份)有几个闰年。你能帮帮他吗? 输入格式 输入一行,包含两个整数,分别表示起始年份和终止…

87、Redis 的 value 所支持的数据类型(String、List、Set、Zset、Hash)---->List相关命令

本次讲解要点: List相关命令:是指value中的数据类型 启动redis服务器: 打开小黑窗: C:\Users\JH>e: E:>cd E:\install\Redis6.0\Redis-x64-6.0.14\bin E:\install\Redis6.0\Redis-x64-6.0.14\bin>redis-server.exe redi…

MySQL约束

文章目录 简单介绍主键约束添加单列主键多列主键删除主键 自增长约束(auto_increment)语法:指定自增字段初始值 非空约束唯一约束(unique)默认约束(default)零填充约束(zerofill) 简单介绍 概念:表中数据的约束条件 作用:表在设计的时候加入…

[学习笔记]ARXML - Data Format

参考AUTOSAR文档: https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_TPS_ARXMLSerializationRules.pdfhttps://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_TPS_ARXMLSerializationRules.pdf 编码 arxml只允许使用UTF-8编码&#xff…

【Java 进阶篇】JDBC ResultSet 遍历结果集详解

在Java数据库编程中,经常需要执行SQL查询并处理查询结果。ResultSet(结果集)是Java JDBC中用于表示查询结果的关键类之一。通过遍历ResultSet,我们可以访问和操作从数据库中检索的数据。本文将详细介绍如何使用JDBC来遍历ResultSe…

ubuntu 18.04 LTS安装opencv 3.4.16 + opencv_contrib 3.4.16

1.下载 opencv 3.4.16 opencv_contrib 3.4.16 其中,opencv_contrib解压后的多个文件夹复制到opencv内、合并 2.安装 参考博文: https://zhuanlan.zhihu.com/p/650792342 https://zhuanlan.zhihu.com/p/87197806 其中 (1)cmake前…

2023年中国金刚石工具产量、需求量、市场规模及行业细分产品规模[图]

金刚石工具就是以金刚石为增强体,以金属或聚合物为基体的一类功能复合材料。金刚石工具已经成为当今公认的、唯一有效的硬脆非金属材料加工工具,比如,只有用金刚石刀具能加工超硬的陶瓷,尚无其他代用品。金刚石工具根据其用途的不…

【VIM】初步认识VIM-2

2-6 Vim 如何搜索替换_哔哩哔哩_bilibili 1-6行将self改成this 精确替换quack单词为交

湖南特色农产品销售系统APP /基于android的农产品销售系统/基于android的购物系统

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的APP应运而生,各行各业相继进入信息管理时代&#x…

【QT】自定义组件ui类添加到主ui界面方法

1.添加自定义组件到项目中 add new选择如下 写好类方法,确定即可 2.将新创建的ui类加入到主ui界面 选中新创建ui类的父类空块,右键选择提升为 选择并添加新创建的类

如何搭建团队知识库?试试新的工具和方法吧!

知识本身没有价值,只有被利用的知识才能发挥作用。我们经常见到有许多“宏伟”的团队知识库,但是从来没有人去用…… 搭建团队知识库 没有人用的团队知识库存在的问题是“我们知道所有问题的答案,就是不知道问题是什么”。如何建立团队知识库…

NLP中token总结

Token 可以被理解为文本中的最小单位。在英文中,一个 token 可以是一个单词,也可以是一个标点符号。在中文中,通常以字或词作为 token。ChatGPT 将输入文本拆分成一个个 token,使模型能够对其进行处理和理解 在自然语言处理&#…

vertx的学习总结2

一、什么是verticle verticle是vertx的基本单元,其作用就是封装用于处理事件的技术功能单元 (如果不能理解,到后面的实战就可以理解了) 二、写一个verticle 1. 引入依赖(这里用的是gradle,不会吧&#…

18scala笔记

Scala2.12 视频地址 1 入门 1.1 发展历史 … 1.2 Scala 和 Java Scala Java 编写代码使用scalac编译成.class字节码文件scala .class文件 执行代码 1.3 特点 1.4 安装 视频地址 注意配置好环境变量 简单代码 1.5 编译文件 编译scala文件会产生两个.class文件 使用java…

【初始Linux】上

初始Linux上 一、Linux背景1.1 UNIX发展的历史1.2 UNIX发展的历史 二、开源三、官网Linux官网 四、企业应用现状五、发行版本六、 os概念,定位 本博客简介 初始Linux操作系统初识shell命令 ,了解若干背景知识。使用常用Linux命令了解Linux权限概念与思想,能深度理解…

Java | Maven(知识点查询)

文章目录 Maven知识速查1. Maven概述2. Maven的作用3. Maven的下载4. Maven的环境配置5. Maven 的基础组成5.1 Maven仓库5.1.1 本地仓库配置:5.1.2 中央仓库配置:5.1.3 镜像仓库配置 5.2 Maven坐标 6. Maven项目6.1 手工创建Maven项目6.2 自动构建项目 7…

安卓 kuaishou 设备did和egid 学习分析

did和egid注册 接口 https://gdfp.ksapisrv.com/rest/infra/gdfp/report/kuaishou/android did 是本地生成的16进制 或者 获取的 android_id public static final Random f16237a new Random(System.currentTimeMillis()); public static long m19668a() { return f1623…

GraphQL全面深度讲解

目录 一、GraphQL 是什么 二、GraphQL 规范 数据模型 字段 参数 三、运行示例 四、优势和劣势 优势 劣势 一、GraphQL 是什么 GraphQL 是一种用于 API 的查询语言,也是一个基于服务端的运行引擎。 GraphQL 提供了一套完整的规范和描述用于查询 API&#xf…