基于Retinex增强和拉普拉斯金字塔分解的图像融合

本文介绍了一种基于Retinex增强和拉普拉斯金字塔分解的红外与低光照可见光图像融合方法。首先,使用SSR算法增强可见光图像的对比度,然后通过拉普拉斯金字塔分解进行融合。融合策略采用了局部能量特征法,适用于不同图像层的融合。最终,通过实验展示了融合图像的效果。
摘要由CSDN通过智能技术生成

SSR-Laplacian Image Fusion

AN IMPROVED FUSION METHOD FOR INFRARED AND LOW-LIGHT LEVEL VISIBLE IMAGE - 2017

  该论文是一篇SCI二区的论文,发表在TIP上,本文提出了一种融合低照度可见光图像和红外图像的方法。关于本文的创新点,并不是很强,主要是增加了图像的预处理步骤,后续过程多是一些传统处理方法的组合和延伸。由于创新点并不是很强,因此并没有细读,在这里做一个简单的记录。

算法框架

frame

  由图可概括该算法的流程如下:

  • 可见光图像的预处理:SSR算法,一种基于Retinex的人眼生理特征所发展起来的算法。这里用到了最基本的Single Scale Retinex算法,用于提升可见光图像的对比度。由于低照度图像本身的信息不多,因此增强可见光图像对于融合的质量理论上会有较大的提升。
  • 拉普拉斯金字塔分解:拉普拉斯金字塔分解的图像融合本身就是一个很经典的算法,在这里并没有什么更多的创新之处。
  • 融合策略:拉普拉斯金字塔的各种融合算法差异就在于融合策略的选取,本文所用的是一种局部能量特征法,该法的起源也可以说是很早了,所以也谈不上创新。

算法实现

  该算法本身的借鉴意义有限,但是几个子算法都有值得推敲的地方。在此,以Matlab代码的形式,对照上述的算法框架,做一个简单的实现。
  SSR算法,我们看到的图像一般都是光线和物体共同作用的结果,因此光线的好坏,会很大程度上影响图像的质量。SSR算法则是从人眼特性的角度,剥离光照的影响,还原物体的内在属性。关于此算法,有很多变体算法和延伸内容,如有兴趣可以自行学习,在此给出百度的SSR。本文,只给出单尺度SSR的示例。

function out = SSR(im, sigma)
%Single Scale Retinex
%分通道处理

if ~exist('sigma', 'var')
    sigma = 80;
end


hsize = size(im(:,:,1));
out = zeros([hsize, 3]);

k = fspecial('gaussian', hsize, sigma);
G = imfilter(im, k, 'replicate');
for i=1:size(im, 3)
    L = G(:,:,i);
    r = log(im(:,:,i)+1)-log(L+1);

    R = exp(r)-1;
    Max = max(R(:));
    Min = min(R(:));
    out(:,:,i) = (R-Min)/(Max-Min);
end
end

  效果如图,下图是采用不同的尺度得到的结果。如何选取sigma取决于你需要更好的还原颜色,还是更好的提取特征。其实我不知道这一步在实际做低照度夜视图像时有什么用。

res
  拉普拉斯金字塔分解,相关资料较多,不多做解释。此处给出彩色图像和红外图像的拉普拉斯金字塔融合效果。

function pyr = LPD(I, nlev, sigma)
%Laplacian Pyramid Decomposition
%拉普拉斯金字塔分解,在灰度图进行࿰
  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值