【图像融合】小波变换(加权平均法+局域能量+区域方差匹配)图像融合【含Matlab源码 1819期】

news2024/11/26 16:46:01

⛄一、小波变换彩色图像融合简介

1 前言
图像融合是将不同传感器所获得的多个图像根据某种算法进行融合处理,取长补短,使一幅图像能够更清楚、更准确地反映多幅图像的信息,多聚焦彩色图像融合是图像融合的一个分支。目前在各种图像采集与分析系统中已使用的CCD数码相机,对于聚焦良好的物体可呈现出清晰的图像。由于光学镜头焦距长度的限制,很难将场景中所有目标都成像清晰,除聚焦良好的物体外,该物体前后有一定距离外的所有目标,都呈现不同程度的模糊,因而可通过对同一场景多次成像,但聚焦物体不同,然后利用图像融合技术进行处理,就可得到不同目标都清晰的彩色图像。多聚集图像融合技术在数码相机、医学、目标识别、机器人识别等方面有着广阔的应用前景,是目前科技界研究的一个热点。

随着20世纪90年代小波变换在图像处理中的广泛应用,它也被成功地应用于图像融合。基于小波变换的多聚焦彩色图像融合方法主要有两种:(1)将彩色图像从RGB空间转化到YUV空间,在YUV空间利用小波变换进行融合处理;(2)直接对彩色图像的R、G、B三分量进行小波变换,再根据一定的融合规则获得融合图像。虽然小波变换的融合效果相对比较理想,但在融合的过程中仍存在一些问题,其中一个主要问题是小波系数的融合处理。目前主要的融合方法有基于区域能量最大、清晰度最大等融合规则,这些小波系数融合方法虽然能够提高图像融合的效果,但这些算法容易产生较大的颜色偏差。针对以上问题,本文直接对彩色图像的R、C、B三分量进行小波变换,在小波域对低频和高频采用不同的融合方法进行融合处理。实验结果表明,本文融合方法是一种有效的融合方法,相对于其他融合方法能够较好地保留图像的光谱信息。

2 基于小波变换的图像融合原理
对二维图像进行N层的小波分解,可得3N+1个不同的频带,其中包含3N个高频带和1个低频带。下面以两幅图像的融合为例,说明基于小波变换的图像融合原理。

如图1所示:对原始图像1、2进行分解,即对原始图像分别进行低、高通滤波,使原始图像分解为含有不同频率成分的4个子图像,再根据需要对低频子图像重复上面的过程,也就是建立各图像的小波塔形分解。然后对各个分解层进行融合处理,不同频率的各层根据不同的要求采用不同的融合算子进行融合处理,最终得到融合后的小波金字塔。对融合后的小波金字塔进行小波逆变换(图像重构),所得的重构图像即为融合图像,这样可有效地将来自不同的图像的细节融合在一起,以满足实际要求,同时有利于人的视觉效果。
在这里插入图片描述
图1 基于小波变换的图像融合原理

图像经小波变换后,源图像与小波变换所得到的系数之间并不是一一对应的关系,源图像中的一个像素点可以分解成多个小波系数(通常是以某个小波系数为中心的邻域区域),一个小波系数与多个像素点有关(通常是以某像素为中心的邻域),因而在基于小波变换的图像融合中,通常采用基于区域小波系数的特性进行融合。

3 图像融合效果的评价
判断多聚焦彩色图像融合结果的主要标准是:(1)融合结果更加清晰,包含更多细节信息;(2)融合前后图像的颜色比较接近;(3)具有更好的视觉效果。针对这些要求,采用以下的评价标准。
(1)熵H
在这里插入图片描述
它反应了图像携带的信息量的多少,熵越大说明图像的融合效果越好。其中Pi为图像第i级灰度值的概率。

(2)颜色偏差
利用融合图像和原多光谱图像分别在R、G、B通道上的平均差异来定义光谱信息评价指标,表示为:
在这里插入图片描述
式中F、C分别表示融合图像和理想图像,x代表R、G、B三个通道,M、N表示图像的大小。

(3)峰值信噪比PSNR
在这里插入图片描述
峰值信噪比越大,说明融合效果越好。

⛄二、部分源代码


⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]陈木生.基于小波变换的多聚焦彩色图像融合新方法[J].计算机工程与应用. 2008,(32)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

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

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

相关文章

分享7 个VUE项目用得上的JavaScript库

借助开源库加速VUE项目的开发进度是现代前端开发比较常见的方式,平常收集一些JavaScript库介绍,在遇到需要的时候可以信手拈来。 VUE 生态有很多不错的依赖库或者组件,是使用VUE开发前端的原因之一。 1. vueuse 这是 GitHub 上星最多的库之…

【coarse-to-fine:基于频谱和空间损失约束】

UPanGAN: Unsupervised pansharpening based on the spectral and spatial loss constrained Generative Adversarial Network (UPanGAN:基于频谱和空间损失约束的生成式对抗网络的无监督全色锐化) 研究发现,在大多数基于神经网…

扎根底层核心技术:OPPO发布旗舰蓝牙音频SoC芯片

OPPO自研芯片能力更进一步。 2022年12月14日,OPPO发布自研芯片马里亚纳MariSilicon Y,作为一颗旗舰蓝牙音频SoC,实现了三大核心技术突破,使OPPO具备了计算连接能力的蓝牙SoC平台的设计能力。 这是OPPO发布的第二款自研芯片。去年…

初学者数据分析——Python职位全链路分析

最近在做Python职位分析的项目,做这件事的背景是因为接触Python这么久,还没有对Python职位有一个全貌的了解。所以想通过本次分析了解Python相关的职位有哪些、在不同城市的需求量有何差异、薪资怎么样以及对工作经验有什么要求等等。分析的链路包括&…

用了那么久的Vue,你了解Vue的报错机制吗?

Vue的5种处理Vue异常的方法 相信大家对Vue都不陌生。在使用Vue的时候也会遇到报错,也会使用浏览器的F12 来查看报错信息。但是你知道Vue是如何进行异常抛出的吗?vue 是如何处理异常的呢?接下来和大家介绍介绍,Vue是如何处理这几种…

【数据结构】树以及二叉树的概念

作者:一个喜欢猫咪的的程序员 专栏:《数据结构》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 目录 树的概念: 树的相关概念: 树如何表示&#xff…

Anaconda中Python虚拟环境的创建、使用与删除

本文介绍在Anaconda环境下,创建、使用与删除Python虚拟环境的方法。 在Python的使用过程中,我们常常由于不同Python版本以及不同第三方库版本的支持情况与相互之间的冲突情况,而需要创建不同的Python虚拟环境;在Anaconda的帮助下&…

如何使用Python构建Telegram机器人来生成随机引语

使用Python构建Telegram机器人以生成随机引语 聊天机器人是用于进行在线聊天对话的软件应用程序,通过文本或文本转语音的方式实现客户服务的自动化。[聊天机器人]可以用于提醒、预约等事情,也可以在社交媒体平台上使用。 在本教程中,我们将…

会自动化就能拿20K?不,你这顶多算会点皮毛···

前段时间公司要招2个自动化测试,同事面了几十个候选人,发现了一个很奇怪的现象,面试的时候,如果问的是框架api、脚本编写这些问题,基本上个个都能对答如流,等问到实际项目的时候,类似“怎么从0开…

如何实现一个基于WebRTC的音视频通信系统

文章有点长,推荐先收藏前言 目前市场上音视频技术方案大致分为以下几类,WebRTC因其超低延时、集成音视频采集传输等优点,是在线教育、远程会议等领域首选技术。 前言 目前市场上音视频技术方案大致分为以下几类,WebRTC因其超低延…

10年网安经验分享:一般人别瞎入网络安全行业

小白入门网络安全,如何选择方向? 如果你是一个新手小白,那么在最开始方向选择上面这一步是至关重要的,一旦你选错了那很可能就要和安全“saygoodbye”了。 很多小白刚开始的时候还没开始学会走就想着飞了,计算机功底…

四六级口语|考研复试口语|满满干货

目录 1.Which do you prefer to use, credit cards or cash?/Do you prefer the credit card or cash? 2.When you shop, do you prefer to go by yourself or with someone?

指针进阶(3)--玩转指针

指针进阶 内容不多,但面面俱到,都是精华 1.回调函数: 2.详解qsort函数参数: 回调函数就是,把一个函数的地址,放在函数指针中,然后将该指针作为一个参数,传到 另一个函数中&#x…

04.南瓜树低代码平台平台 分析后的感想

随着企业产品的不断完善,后续将有时间来推进产品转向低代码平台化。 低代码平台不是无代码平台,采用配置的方式完成UI/流程/报表的处理,有业务人员在完成基本的产品框架后,由研发人员完成业务规则代码固化,最终达到产…

MobSDK 封装MobSDK基础包

平台兼容性 Android Android CPU类型 iOS 适用版本区间:4.4 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 原生插件通用使用流程: 购买插件,选择该插件绑定的项目。在HB…

3. 实例化Bean的三种方式

实例化Bean的三种方式 一、构造方法方式 1.1 BookDaoImpl package com.lin.dao.daoimpl;import com.lin.dao.BookDao;public class BookDaoImpl implements BookDao {public BookDaoImpl() {System.out.println("BookDao的无参构造器");}/*** 数据层实现*/public …

了解Linux 操作系统!开篇!!!

【推荐阅读】 Linux内核CPU调度域内容讲解 关于如何快速学好,学懂Linux内核。内含学习路线 一文了解Linux上TCP的几个内核参数调优 Linux 接口 Linux 系统是一种金字塔模型的系统,如下所示 应用程序发起系统调用把参数放在寄存器中(有时候放在栈中)…

Python解题 - CSDN周赛第15期 - 客栈的咖啡

本期遇上官方大放水,四道题里有三道都在每日一练里做过,再加上比赛时间不太友好,参与人数不多,问哥竟然混了个第一名,真是惭愧。。。就当是官方在奖励那些平时多多参加每日一练的童鞋们了。 第一题:求并集 …

Vue3响应式原理设计和实现

Vue3响应式原理设计和实现响应式什么是响应式手动响应式proxy代理对象响应式系统一个属性注册一个副作用函数一个属性注册多个副作用函数多个属性注册不同的副作用函数多个数据不同属性注册不同的副作用函数响应式 什么是响应式 响应式是一个过程,这个过程存在两个…

【MaixPy】:K210识别简例(简单二维码检测和双二维码检测)

实物图 俩二维码识别实物图 前言 这段时间接触了一下基于MaixPy的开发K210的摄像头设备,的确很有趣,运行速度很快,编程难度不大。很适合咱们视觉开发的同学们学习,以下是我玩设备的一些感悟,如有不妥之处,希望大家雅正,也希望能帮助初学者了解和学习,也可加bulidupup(…