基于导向滤波的图像融合(GFF)

本文介绍了一种基于导向滤波的图像融合方法,通过双尺度分解、权重图构建和融合重建实现高效融合。利用像素显著性和空间连续性构建权重,并通过导向滤波增强图像空间连续性,提高融合效果。
摘要由CSDN通过智能技术生成

论文学习——基于导向滤波的图像融合(GFF)

原文 Image Fusion with Guided Filtering - 2013

简介

  本文提出了一种基于导向滤波的图像融合方法。融合的对象可以是多光谱图像,不同焦点的图像,不同曝光的图像等。论文比较创新点就是提出了一种不同幅图像的权重计算方法,引入了像素显著性和图像空间连续性的概念。并且使用了引导滤波来重建权重,最终得到了高效和不错的融合效果。
  文中提到,该方法的优点

  • 只需要获取图片两个尺度,而过去的方法往往要在多个尺度上进行重建。这里所谓的尺度,即将一幅图像分解为基层(Base Layer)和细节层(Detail Layer),这个方法在如今的话已经广泛使用,例如基于滤波的RGB+NIR图像融合 - 2017
  • 提出了像素显著性(pixel saliency)和空间连续性(spatial consistency)的概念,用于构建不同图像的权重,这将在下文介绍。并且使用局部滤波的方法代替了最优化的方法,提高了效率。即使用了导向滤波,如对导向滤波尚有疑问,可参考导向滤波
  • 在具体实验中发现,在对不同层的融合时,像素显著性和空间连续性表现出的效果是不一样的。

算法

  算法本身并不复杂,只是灵活地利用了不同滤波器所获得的图像信息,其主要流程如下图所示:
在这里插入图片描述
  接下来结合上述流程和matlab代码,详解算法。(图是论文里截的,讲究看吧……)

im1 = im2double(imread('2.jpg'));
im2 = im2double(imread('1.jpg'));

在这里插入图片描述

A.Two-Scale Image Decomposition(双尺度分解)

  一个简单的均值滤波来获取图像的基层和细节层,滤波器越大,得到的基层模糊程度越高。而细节层是原图减去基层图,随着滤波半径的增大,细节层的信息也会相应增加。论文中给出的建议滤波器大小为31×31

%% Get B,D
h1 = fspecial('average',[31,31]); %定义一个滤波模板
B1 = imfilter(im1, h1, 'replicate'); %均值滤波得到图1基层 'replicate'是对边界值的处理模式
B2 = imfilter(im2, h1, 'replicate'); %均值滤波得到图2基层

D1 = im1-B1; %细节层
D2 = im2-B2;

在这里插入图片描述

在这里插入图片描述

B. Weight Map Construction With Guided Filtering(构建权重图)

  第二步就是利用导向滤波进行权重重建,上述流程图中应该是各个通道单独处理的,这里直接放一起处理了。
  首先对原图进行拉普拉斯滤波得到高频细节,然后再对得到的高频细节进行一次高斯滤波。这两个滤波器一个是高通滤波,一个是低通滤波。在这里对高频信息再进行一次低通滤波,应该是为了去除噪声影响。同时文中也给出了高斯滤波的建议参数,窗口为11×11,sigma=5。拉普拉斯滤波则采用默认的3×3窗口,同时注意在拉普拉斯滤波之后需要对滤波结果取一次绝对值,因为拉普拉斯滤波在求x,y方向梯度的时候会产生负值。

h2 = fspecial('laplacian', 0.2);
H1 = imfilter(im1, h2, 'replicate');
H2 = imfilter(im2, h2, 'replicate');

H1 = abs(H1); % 取绝对值
H2 = abs(H2);

h3 = fspecial('gaussian', [11,11], 5);
S1 = imfilter(H1, h3, 'replicate');
S2 = imfilter(H2, h3, 'replicate');

在这里插入图片描述
  然后就是本文提出的像素显著性和空间连续性。
P n k = {

  • 27
    点赞
  • 180
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
Matlab中,可以使用红外引导滤波来对红外图像进行噪声平滑和边缘保留处理。红外引导滤波是一种改进的导向滤波算法,它结合了高斯滤波和双边滤波的特点,能够在保持边缘信息的同时有效地去除噪声。 在实现红外引导滤波之前,首先需要加载红外图像并进行预处理。可以使用Matlab中的load_images函数加载红外图像,并使用boxfilter函数对图像进行模糊处理。然后,可以使用GFF函数对模糊后的图像进行导向滤波处理。最后,使用imshow函数显示滤波后的图像。 以下是一个示例代码,展示了如何在Matlab中进行红外引导滤波: clc,clear I = load_images( '.\Sourceimages\colourset',1); F = GFF(I); figure,imshow(F); 这段代码中,load_images函数用于加载红外图像,GFF函数用于进行红外引导滤波处理,imshow函数用于显示滤波后的图像。具体的函数实现可以参考引用\[1\]中提供的代码。 红外引导滤波图像融合中具有良好的噪声平滑和边缘保留特性,相比于传统的高斯滤波和双边滤波,它能够更好地保护细节信息。然而,红外引导滤波也存在一些问题,例如可能引入细节“光晕”。为了解决这些问题,还出现了一些改进的红外引导滤波算法和结合红外引导滤波的应用算法,可以参考引用\[2\]中提供的相关内容。 总之,红外引导滤波是一种在Matlab中可以使用的图像处理技术,它能够在保持边缘信息的同时对红外图像进行噪声平滑处理。 #### 引用[.reference_title] - *1* *2* [【图像融合】基于matlab导向滤波图像融合【含Matlab源码 1959期】](https://blog.csdn.net/TIQCmatlab/article/details/125699127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [基于自适应引导滤波器的红外增强算法总结(1)](https://blog.csdn.net/weixin_43498765/article/details/129406321)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值