基于融合的方法增强单背光图像

该博客介绍了针对背光图像的增强方法,通过转换到HSV色彩空间,对V通道应用log函数、gamma校正和GUM方法生成三个输入图像,然后利用拉普拉斯金字塔和高斯金字塔进行多尺度融合。权值计算用于调整图像的亮部和暗部,以提高图像清晰度。实验结果表明,该方法在主观和客观评价上优于其他方法,且代码实现详细展示了整个流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文亮点:

  1. 背光图像不同于一般的低照度图像,它有很宽的动态光照范围,不仅包括了暗的部分,还会有亮的部分;
  2. 文章的思路是考虑大量图像的特征,并单独处理暗和亮范围的图像;
  3. 介绍了一种利用权值来增加清晰度的方法
  4. 采用多尺度融合

论文思路:

如下图所示,首先作者把图像从RGB通道转到HSV通道(H:色相 S:饱和度 V:亮度),接着对V通道进行不同的(函数)操作得到三个输入图像,然后通过拉普拉斯金字塔和高斯金字塔进行多尺度融合,最后再将融合后的图像转回RGB通道。

在这里插入图片描述

1. 三个输入图形

第一图像

通过log函数对V通道图像进行处理,在增加暗像素的亮度同时压缩动态图像,从而达到增强细节的目的。
在这里插入图片描述
α是表示图像亮度的系数,默认值为0.5;
加上一个“1”以确保I是正的。

与V通道图像对比效果:
在这里插入图片描述

第二图像

采用单调递增的gamma函数来降低大值。
在这里插入图片描述
在这里插入图片描述
γ是自适应因子,它取决于低像素的数量

与V通道图像对比效果:
在这里插入图片描述

第三图像

采用GUM方法,之前没听过,查了一下中文解释是:反锐化掩蔽 ,好高深的样子……
理解一下,锐化的反面就是平滑,那“反锐化”应该就是平滑的意思。“掩蔽”我觉得可以理解为减去或者除去。加起来就是对V通道图像进行减去平滑处理后得到的图像,所以就是为了增强边缘和细节。

与V通道图像对比效果:
在这里插入图片描述
GUM函数

function [ v2 ] = gum( x1 )
x1=im2double(x1);
[ m, n, k ] = size( x1 );
x = x1;
mask = ( 1 / 25 ) * ones( 5, 5 );
y1 = conv2( x, double( mask ), 'same' );
d = x - y1;
g = 3 .* d;
v1 = y1 + g;
y2 = medfilt2( x, [ 3, 3 ] );
X = ( 1 - x ) ./ max( x, 0.01 );
Y = ( 1 - y2 ) ./ max( y2, 0.01 );
I = ones( m, n );
d1 = I ./ ( 1 + ( X ./ Y ) );
h = adapthisteq( y2, 'clipLimit', 0.005 );
c = ( 2 .* d1 ) - 1;
Gmax = 5;Gmin = 1;eta = 0.5;
beta = ( Gmax - Gmin ) / ( 1 - exp(  - 1 ) );
alpha = ( Gmax - beta );
gama = alpha + ( beta * exp(  - 1 .* abs( c ) .^ eta ) );
D = ( 1 - d1 ) ./ max( d1, 0.01 );
g = I ./ ( 1 + D .^ gama );
G = ( 1 - g ) ./ max( g, 0.01 );
H = ( 1 - h ) ./ max( h, 0.01 );
v2 = I ./ max( 0.1, ( 1 + ( H .* G ) ) );
t = v2 > 1;
v2( t ) = x( t );
end

2. 权值

通过对0.5的差值来作为每个像素点的权重,生成权重矩阵。

降低过度曝光、曝光不足的像素值,而正常曝光的像素则拥有较大的像素值。
在这里插入图片描述
由于有三张输入图片,所以进行归一化处理:

在这里插入图片描述

3. 图像融合

前边得到了输入图像和权值,如果直接将他们加权融合,很容易产生光晕

在这里插入图片描述
在融合过程中,对输入图像进行拉普拉斯金字塔,对权值进行高斯金字塔处理:
在这里插入图片描述
因此,V(x,y)的结果是通过分别混合拉普拉斯输入和高斯权重映射得到的
在这里插入图片描述
具体代码如下所示:

拉普拉斯金字塔函数

function out = laplacian_pyramid(img, level)
h = 1/16* [1, 4, 6, 4, 1];
%filt = h'*h;
out{1} = img;
temp_img = img;
for i = 2 : level
    temp_img = temp_img(1 : 2 : end, 1 : 2 : end);
    %out{i} = imfilter(temp_img, filt, 'replicate', 'conv');
    out{i} = temp_img;
end
% calculate the DoG
for i = 1 : level - 1
    [m, n] = size(out{i});
    out{i} = out{i} - imresize(out{i+1}, [m, n]);
end

高斯金字塔函数

function out = gaussian_pyramid(img, level)
h = 1/16* [1, 4, 6, 4, 1];
filt = h'*h;
out{1} = imfilter(img, filt, 'replicate', 'conv');
temp_img = img;
for i = 2 : level
    temp_img = temp_img(1 : 2 : end, 1 : 2 : end);
    out{i} = imfilter(temp_img, filt, 'replicate', 'conv');
end

金字塔重建函数

function out = pyramid_reconstruct(pyramid)
level = length(pyramid);
for i = level : -1 : 2
    %temp_pyramid = pyramid{i};
    [m, n] = size(pyramid{i - 1});
    %out = pyramid{i - 1} + imresize(temp_pyramid, [m, n]);
    pyramid{i - 1} = pyramid{i - 1} + imresize(pyramid{i}, [m, n]);
end
out = pyramid{1};

实验结果

主观评价

在下图中,根据与其他几种方法的对比,可以看到:
b是带颜色恢复的多尺度Retinex方法:尤其是最后一张女孩,可以看到颜色失真很严重;
c存在背景过度曝光的问题;
d的增强效果不明显。
在这里插入图片描述

客观评价

在表一中,NIQE使用图像中观察到的统计规律的可测量偏差,值越低表示质量越高
在这里插入图片描述
表二是时间的比较
在这里插入图片描述

实验代码

%%
clc
clear
I=im2double(imread('10.jpg'));
% imshow(I);figure;
HSV=rgb2hsv(I);
H=HSV(:,:,1);S=HSV(:,:,2);V=HSV(:,:,3); 
[m,n]=size(H);
% imshow(V)
%im1 log
% im1=log(0.5*(V+1)+1);
im1=V.^0.35;
% imshow(im1);figure;
%im2 gamma
a=50/255;
index=V<a;
index=double(index);
M=sum(index(:));
N=n*m;
gamma=(N-M)/N;
im2=1-(1-V).^gamma;
% imshow(im2);figure;
%im3 GUM
im3=gum(V);
% imshow(im3);figure;

%weight
sigma = 0.25;
aver = 0.3;
WE1= exp(-(im1 - aver).^2 / (2*sigma^2));
WE2=exp(-(im2 - aver).^2 / (2*sigma^2));
WE3=exp(-(im3 - aver).^2 / (2*sigma^2));
sumW=WE1+WE2+WE3;
W1=WE1./sumW;
W2=WE2./sumW;
W3=WE3./sumW;

% Multi-scale fusion
level=4;
G1=gaussian_pyramid(W1,level);
G2=gaussian_pyramid(W2,level);
G3=gaussian_pyramid(W3,level);
L1=laplacian_pyramid(im1,level);
L2=laplacian_pyramid(im2,level);
L3=laplacian_pyramid(im3,level);
for i=1:level
    F{i}=G1{i}.*L1{i}+G2{i}.*L2{i}+G3{i}.*L3{i};
end
Vfinal=pyramid_reconstruct(F);
% imshow(Vfinal);figure;
hsv=cat(3,H,S,Vfinal);
rgb=hsv2rgb(hsv);
imshow([I rgb]);
imwrite(rgb,'1.bmp');

在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花里梦雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值