【图像融合】基于非下采样Contourlet变换nsct算法实现红外图像和可见光图像的融合matlab源码

简介: 【图像融合】基于非下采样Contourlet变换nsct算法实现红外图像和可见光图像的融合matlab源码

1 简介

本论文主要研究基于非采样Contourlet变换的可见光与红外图像融合技术。本论文首先在国内外的研究基础上,通过分析图像融合技术的基本概念和原理,研究了图像融合技术一些典型算法。结合非采样Contourlet变换多尺度多分辨率和平移不变性的特点,提出一种基于非采样Contourlet变换的可见光与红外图像融合方法。本文的主要工作如下:  首先总结了小波变换的定义、性质,多尺度分析原理,二维小波变换和小波变换在图像处理中的应用。由于小波变换缺乏平移不变性,简明的分析和整理了小波变换在图像处理中的缺陷。然后详细的研究了Contourlet变换的基本理论、非采样Contourlet变换的原理与实现及其在可见光与红外图像融合中的应用。然后针对传统的基于非采样Contourlet变换图像融合准则,提出了一种新的低频和高频通道的融合准则。在非采样Contourlet变换的基础上,通过新的融合准则,对图像进行非采样Contourlet变换的分解,对低频系数进行了平均加权;将高频系数先通过归一化能量之差和阈值的比较,然后进行分步融合;最后进行非采样Contourlet变换的重构,得出融合图像。由于可见光源图像和红外源图像的图像差距较大,融合过程中丢失的信息量较多,所以在非采样Contourlet图像的融合中,提出了“二次”NSCT图像融合。主要是将第一次图像融合后得到的新融合系数,与源图像中图像信息较多的源图像再进行一次融合,获取丢失较多的信息。  通过小波变换、Contourlet变换、非采样Contourlet变换和本文的方法对可见光源图像和红外源图像进行融合,最后的实验结果得出本文提出的方法在人类视觉特点和标准融合评价指标上的优势。

2 部分代码

%NSCT_imagefusion%%实现红外与可见光图像融合;%初始化%clear all;close all;clc;%初始化结束%%计时开始%tic;  path(path,'nsct_toolbox');path(path,'ziji');kk=1.5;%%%%%%%%%%%输入图像%%%%%%%%%%%[input_image_TV_int_RGB, input_image_TV_int_MAP] = imread('红外.jpg');                    %输入gif格式的可见光图像%% input_image_TV_int_RGB = uint8(256*ind2rgb(input_image_TV_int_GIF, input_image_TV_int_MAP));     %将gif格式数据转换为RGB格式数据%[input_image_IR_int_RGB, input_image_IR_int_MAP] =  imread('可见光.jpg');                    %输入gif格式的红外图像%% input_image_IR_int_RGB = uint8(256*ind2rgb(input_image_IR_int_GIF, input_image_IR_int_MAP));     %将gif格式数据转换为RGB格式数据%%%%%%%%%%%%%%%输入图像结束%%%%%%%%%%%%%%[Ny,Nx] = size(input_image_TV_int_RGB);  %%%%%%%%%%%%图像预处理%%%%%%%%%%%%%将可见光图像的格式转换为IHS格式%input_image_TV_int_IHS = rgb2ihs( input_image_TV_int_RGB );input_image_TV_IHS = double(input_image_TV_int_IHS);                    %将输入图像的数据类型转换为双精度数据类型%input_image_TV_I =  256*input_image_TV_IHS(:,:,3);                            %将输入图像的I分量提取出来以进行NSCT分解%%将红外图像的格式转换为gray格式%input_image_IR_int = rgb2gray( input_image_IR_int_RGB );input_image_IR= double(input_image_IR_int);                  %将输入图像的数据类型转换为双精度数据类型%input_image_TV_S =  input_image_TV_IHS(:,:,2);input_image_TV_H =  input_image_TV_IHS(:,:,1);figure;subplot(1,3,1);imshow(uint8(input_image_TV_I));title('Original TV image I')       %显示输入可见光图像的I分量%subplot(1,3,2);imshow(uint8(input_image_IR));title('Original IR image Gray')   %显示输入红外图像的灰度图像%%%%%%%%%%%%%%%%%图像预处理结束%%%%%%%%%%%%%%%%%金字塔表示参数%Nsc = ceil(log2(min(Ny,Nx)) - 7);    %分解尺度的数量 (自适应于图像尺寸)%Nor = 8;                     %每级分解的方向数%%%%%%%%%%%%%%%%%初始化参数结束%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%NSCT子带分解%%%%%%%%%%%%%%%%初始化NSCT子带分解参数%pfilter = 'maxflat' ;                               %金字塔滤波器%dfilter = 'dmaxflat7' ;                             %方向滤波器%nlevels=zeros(1,Nsc+1);for i=1:Nsc+1    nlevels(i)=log2(Nor);                           %初始化分解尺度%end%初始化NSCT子带分解参数结束%%%%%%%%%%%%%%%%NSCT子带重构%%%%%%%%%%%%%%%out_image_end_I = nsctrec( coeffs_rec, dfilter, pfilter ) ;    %重构灰度图像%  subplot(133)imshow(uint8(out_image_end_I));title('融合图像I');out_image_end=zeros(Ny,Nx,3);                            %初始化彩色图像输出矩阵%out_image_end=cat(3,input_image_TV_H,input_image_TV_S,out_image_end_I/256);                      out_image_end_RGB=256*ihs2rgb(double(out_image_end));           %将输出彩色图像转换为RGB格式%              figure;imshow(uint8(out_image_end_RGB));                        %显示融合后彩色图像%imwrite(uint8(out_image_end_RGB),'SWT22.bmp','bmp');toc;

3 仿真结果

4 参考文献

[1]汪攀. 基于非采样Contourlet变换的可见光与红外图像融合[D]. 南昌航空大学, 2012.

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

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

相关文章
|
10天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。
|
11天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
4天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。
|
13天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
16天前
|
存储
基于遗传算法的智能天线最佳阵列因子计算matlab仿真
本课题探讨基于遗传算法优化智能天线阵列因子,以提升无线通信系统性能,包括信号质量、干扰抑制及定位精度。通过MATLAB2022a实现的核心程序,展示了遗传算法在寻找最优阵列因子上的应用,显著改善了天线接收功率。
|
18天前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
26天前
|
算法
基于粒子群算法的分布式电源配电网重构优化matlab仿真
本研究利用粒子群算法(PSO)优化分布式电源配电网重构,通过Matlab仿真验证优化效果,对比重构前后的节点电压、网损、负荷均衡度、电压偏离及线路传输功率,并记录开关状态变化。PSO算法通过迭代更新粒子位置寻找最优解,旨在最小化网络损耗并提升供电可靠性。仿真结果显示优化后各项指标均有显著改善。
|
21天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了基于分组卷积神经网络(GroupCNN)和灰狼优化(GWO)的时间序列回归预测算法。算法运行效果良好,无水印展示。使用Matlab2022a开发,提供完整代码及详细中文注释。GroupCNN通过分组卷积减少计算成本,GWO则优化超参数,提高预测性能。项目包含操作步骤视频,方便用户快速上手。
|
22天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了一种基于WOA优化的GroupCNN分组卷积网络时间序列预测算法。使用Matlab2022a开发,提供无水印运行效果预览及核心代码(含中文注释)。算法通过WOA优化网络结构与超参数,结合分组卷积技术,有效提升预测精度与效率。分组卷积减少了计算成本,而WOA则模拟鲸鱼捕食行为进行优化,适用于多种连续优化问题。