图像融合基于matlabgui高斯金字塔+拉普拉斯金字塔彩色图像融合含matlab源码1506期(代码片段)

紫极神光 紫极神光     2023-01-31     621

关键词:

一、区域分割图像融合简介

图像的分解
对源图像进行融合时,首先对图像进行分解,利用拉普拉斯金字塔分解,先对图像进行高斯金字塔分解,然后再进行拉普拉斯金字塔分解。

1 高斯金字塔分解
记源图像为G0,G0即为高斯金字塔最底层,将其进行高斯低通滤波,之后对其进行隔行隔列的下采样,得到的图像与源图像在较低分辨率上近似,分辨率是源图的一半(高斯金字塔的第一层G1)。重复上述操作,得到下一层高斯金字塔。反复进行上述操作,得到若干层,即构成高斯金字塔。假设高斯金字塔的第l层图像为Gl:


2 拉普拉斯金字塔分解
将上述得到的高斯金字塔利用插值法进行插值,膨胀后的图像Gl的尺寸与第l-1层图像Gl-1尺寸相同,如式(13)所示:

3 彩色图像融合
基于S-PCNN+局部熵(Local Entropy,LE)与拉普拉斯金字塔的融合,在一般RGB格式图像中,对每个分量进行处理时,由于三个分量的相关性很大,不易对特定因素进行处理,所以对图像进行融合时,为了得到较好的效果和有效的处理方式,先将RGB图像转换为HSI图像,得到H、S、I三个分量,再分别对三个分量进行相关的处理与融合。

对于H分量,送入S-PCNN模型,经过迭代得到振荡频图(Oscillation Frequency Graph,OFG),再对其得到的振荡频图(OFG)进行局部熵(LE)的计算,得到OFG局部熵矩阵作为H分量的特征矩阵,最后根据不同的源图像的H分量对应像素局部熵的大小,取其LE较大的像素作为最终融合所取的像素。

图像的局部熵由下式表述:

其中:Pk=h(k)/(m×n),m×n表示像素I(i,j)的邻域,h(k)表示邻域的直方图,pi为邻域的归一化直方图,K表示邻域像素的最大灰度值。

对于S分量和I分量,对其进行拉普拉斯金字塔分解,然后用不同的策略对经分解处理后的金字塔子层图像进行融合。在金字塔低层的图像,用局部熵来作为决策准则选取融合系数,高层金字塔图像通过S-PCNN模型来选取融合系数。本文采用的融合算法是基于简化脉冲耦合神经元的神经网络模型(S-PCNN),S-PCNN模型每次迭代后,经过判断每个像素对应的神经元是否点火,可以输出一幅二值脉冲图像,这些二值图像包含了图像的一些特征信息。在S-PCNN网络的N次迭代运算中,对每个图像I的像素I(i,j)对应的神经元N(i,j)发出脉冲进行统计后可得到一幅振荡频图(OFG),将OFG记为ION,则可用式(16)计算得到:

根据分析统计每个像素点的点火次数,再通过计算其局部熵(LE)来选取源图像的包含更多信息的更清晰区域,作为融合部分进行最终的图像融合。经S-PCNN模型迭代后的图可以展现图像的主要细节信息。

源图像经拉普拉斯金字塔分解,得到许多在不同空间频带上的子图像,由于在各个频带上的图像包含的特征和细节不同,所以对不同频带上的子图像进行融合时采用的融合策略也不相同。对金字塔的低层0~N,区域能量能衡量图像的质量,采用区域能量的方式选取系数。其计算公式如下:

图像融合后的结果如下式所示:

其中0≤l<N。
分别用上式计算获得金字塔的各层图像,融合后的图像LF1,LF2,LF3,…,LFN,通过式(14)可以重构出最终的融合图像。由于拉普拉斯金字塔高层图像含有源图像的细节信息及纹理和边缘信息,S-PCNN在提取图像纹理细节、区域分布等方面表现出色,所以对于高层的拉普拉斯金字塔图像则采用的S-PCNN模型来选取系数。
本文提出的彩色图像融合算法流程如图2所示。

图2 融合算法流程
结合算法流程,下面说明算法具体步骤:
1)将源彩色图像从RGB空间转换到HSI彩色空间,得到H、S、I三个分量。
2)将分离出的H分量送入S-PCNN模型,经过迭代后得到振荡频图(OFG);再对其进行局部熵(LE)的计算,得到OFG局部熵矩阵作为H分量的特征矩阵;最后根据不同源图像的H分量的对应像素的局部熵大小,取其LE较大的像素作为最终融合所取的像素。
3)将S、I分量进行拉普拉斯金字塔分解,对其用本文彩色图像融合部分表述的方式进行融合。
4)融合后的H、I、S分量得到HSI彩色图像,逆转换为RGB得到最终图像。

二、部分源代码

clear all;
clc;

leftImage = double(imread('apple.png'));
rightImage = double(imread('orange.png'));

iternum = 5;

if (size(leftImage) ~= size(rightImage))
    error('Input images are not the same size!')
end

% 预处理,使图片height,width为偶数
[rows, cols, channels] = size(leftImage);

% mask gaussian
mask = double(zeros(rows, cols, channels));
mask(:, 1:floor(cols/2), :) = ones(rows, floor(cols/2), channels);
mask_pyramid = GaussianPyramid(mask, iternum);


% leftImage pyramid and rightImage pyramid
left_pyramid = LaplacianPyramid(leftImage, iternum);
right_pyramid = LaplacianPyramid(rightImage, iternum);

% TODO: get blend laplacian pyramid
blend_pyramid = cell(iternum, 1);
for i = 1:iternum
    blend_pyramidi = left_pyramidi .* mask_pyramidi + right_pyramidi .* (1 - mask_pyramidi);
end

% reconstruct the blend image
blendImage = LaplacianReconstruct(blend_pyramid);
imwrite(uint8(blendImage), 'blendImage.png');

figure;
imshow(uint8(leftImage));
title('leftImage');
figure;
imshow(uint8(rightImage));
title('rightImage');
figure;
imshow('blendImage.png');
title('blendImage');
function up_image=UpSampling(image)
    [rows, cols, channels] = size(image);
    up_image = double(zeros(rows*2, cols*2, channels));
    up_image(1:2:rows*2, 1:2:cols*2, :) = image;
%     up_image(2:2:rows*2, 2:2:cols*2, :) = image;
%     up_image(1:2:rows*2, 2:2:cols*2, :) = image;
%     up_image(2:2:rows*2, 1:2:cols*2, :) = image;



三、运行结果



四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]贺康建,金鑫,聂仁灿,周冬明,王佺,余介夫.基于简化脉冲耦合神经网络与拉普拉斯金字塔分解的彩色图像融合[J].

毕设题目:matlab图像融合

...统【含Matlab源码815期】4【图像融合】基于matlabGUI简单+拉普拉斯金字塔算法图像融合【含Matlab源码780期】5【图像融合】基于matlabGUI拉普拉斯金字塔+小波变换+NSCT图像融合【含Matlab源码870期】6【图像融合】基于matlabGUI拉... 查看详情

图像融合基于matlab高斯金字塔+拉普拉斯金字塔彩色水下图像融合含matlab源码1629期(代码片段)

...像的分解对源图像进行融合时,首先对图像进行分解,利用拉普拉斯金字塔分解,先对图像进行高斯金字塔分解,然后再进行拉普拉斯金字塔分解。1高斯金字塔分解记源图像为G0,G0即为高斯金字塔最底层,将其进行高斯低通滤波,之后对... 查看详情

youcans的opencv例程200篇188.基于拉普拉斯金字塔的图像融合(代码片段)

...程200篇总目录-202205更新【youcans的OpenCV例程200篇】188.基于拉普拉斯金字塔的图像融合图像金字塔是一系列来源于同一张原始图像、以金字塔形状排列的分辨率逐步降低的图像集合。从底层图像可以看清更多细节,从顶层图像... 查看详情

基于拉普拉斯金字塔的图像融合算法

1、内容简介略573-可以交流、咨询、答疑2、内容说明图像融合所具有的改善图像质量、提高几何配准精度、克服目标提取与识别中图像数据的不完整性等优点,使得它成为当前重要的信息处理技术,并在遥感、医学、航... 查看详情

fpga图像融合基于vivadohls的图像融合算法的fpga实现

整个算法工作流程如下图所示: 首先通过MATLAB进行快速的算法效果仿真拉普拉斯金字塔:DTCWT算法: 查看详情

图像拉普拉斯金字塔融合(laplacianpyramidblending)(代码片段)

本文将介绍图像金字塔以及拉普拉斯融合的相关知识。图像金字塔==================================& 查看详情

图像金字塔(高斯金字塔拉普拉斯金字塔)

...塔(Gaussianpyramid):用来向下采样,主要的图像金字塔  ●拉普拉斯金字塔(Laplacianpyramid):用来从金字塔低层图像重建上层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,配合高斯金字塔一起使... 查看详情

[转]opencv图像金字塔:高斯金字塔拉普拉斯金字塔与图片尺寸缩放

【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放2014-05-1818:58 36007人阅读 评论(54) 收藏 举报本文章已收录于:  OpenCV知识库本系列文章由@浅墨_毛星云 出品,转载... 查看详情

[computervision]高斯金字塔与拉普拉斯金字塔

高斯金字塔与拉普拉斯金字塔高斯金字塔一个下采样的序列,例如原始尺寸是512x512,那么一个图像序列,尺寸例如,512,256,128,...,4,2.这样一些尺寸的图像序列构成了高斯金字塔。这样一个序列的存储空间最大为原图像的4/... 查看详情

图像融合基于matlab多分辨率奇异值分解图像融合含matlab源码2374期

...辨率图像融合的研究,最初始于文献[3]中Burt和Adelson提出的拉普拉斯金字塔算法。金字塔分解符合人眼视觉系统在处理视觉信号时具有多分辨率的特性,但其层间分解量之间具有相关性,且没有严格的理论基础的支撑。随着小波变换... 查看详情

12高斯金字塔拉普拉斯金字塔与图片尺寸缩放(代码片段)

一、引言  我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式:  (1)resize函数。这是最直接的方式,  (2)pyrUp()、pyrDown()函... 查看详情

opencv笔记整理高斯金字塔&拉普拉斯金字塔(代码片段)

图像金字塔是同一图像不同分辨率的子图集合,通过对原图的不断向下采样而产生,由高分辨率的图像产生低分辨率的近似图像。1.高斯金字塔:不可逆采样向下采样importcv2o=cv2.imread("lena.bmp",cv2.IMREAD_GRAYSCALE)r... 查看详情

youcans的opencv例程200篇187.由拉普拉斯金字塔还原图像(代码片段)

...例程200篇总目录-202205更新【youcans的OpenCV例程200篇】187.由拉普拉斯金字塔还原图像图像金字塔是一系列来源于同一张原始图像、以金字塔形状排列的分辨率逐步降低的图像集合。从底层图像可以看清更多细节,从顶层图像可... 查看详情

opencv入门教程之十三opencv图像金字塔:高斯金字塔拉普拉斯金字塔与图片尺寸缩放(代码片段)

本系列文章由@浅墨_毛星云 出品,转载请注明出处。  文章链接: http://blog.csdn.net/poem_qianmo/article/details/26157633作者:毛星云(浅墨)  微博:http://weibo.com/u/1723155442知乎:http://www 查看详情

图像融合基于matlabgui图像融合含matlab源码2183期

一、小波变换彩色图像融合简介1前言图像融合是将不同传感器所获得的多个图像根据某种算法进行融合处理,取长补短,使一幅图像能够更清楚、更准确地反映多幅图像的信息,多聚焦彩色图像融合是图像融合的一个分支。目前在... 查看详情

opencv图像处理应用(面向python)之图像金字塔(代码片段)

...v2.pyrDown()2.2.2高斯金字塔向上采样cv2.pyrUp()3.图像金字塔之拉普拉斯金字塔4.ROI感兴趣区域5.双拼(只做简单了解,娱乐娱乐)泛洪填充(只做简单了解&# 查看详情

sift特征

...,可以在不同尺度下找到比较稳定的极值点(图像的高斯拉普拉斯算子LOG),但是LOG的计算复杂,我们可以通过计算高斯差分(DOG)的方法来近似LOG,下面是证明过程高斯函数:LOG(高斯拉普拉斯算子LoG(LaplacianofGaussian):再看DOG:&... 查看详情

图像金字塔

...现在文献和应用中:高斯金字塔用来向下降采样图像,而拉普拉斯金字塔则用来从金字塔低层图像中向上 查看详情