⛄一、多尺度奇异值分解的偏振图像融合去雾算法简介
立足于提高传统算法的适应性,提高去雾图像的质量,本文设计了如图 2 所示的去雾算法流程。首先,使用基于最小二乘方法计算出更加精确的偏振信息,改善了以往偏振信息计算不准确的问题。然后,分别使用基于高斯滤波的去雾方法以及基于 Stokes 矢量的去雾方法处理图像。最后,根据两种算法去雾结果的互补特性,选择计算量较小、对于高像素图像处理更简便的图像融合算法,对两种去雾结果进行融合,得到去雾效果更好的图像
图 2 多尺度奇异值分解的偏振图像融合流程图
1 基于最小二乘的偏振信息计算
现有的偏振去雾算法本质上都是利用 Stokes矢量的各分量直接求偏振角和偏振度,这种方法存在求取偏振信息噪声大、区分度不强等问题。目前可以通过偏振相机直接获得 4 个方向的偏振图像,使用各个分量分别计算偏振信息并没有充分利用冗余信息。经过实验验证,基于最小二乘方法计算偏振信息较传统方法的噪声小,物体辨认更加清晰。
2 基于多尺度奇异值分解的图像融合
图像融合可以分为像素级、特征级以及决策级融合。多分辨率奇异值分解和基于小波变换的图像融合是像素级融合方法的重要构成部分。基于多分辨率奇异值分解的图像融合性能与基于小波变换的图像融合接近,但是计算更简单、实时性更好,对复杂、高像素图像处理简单方便。因此,本文使用基于多分辨率奇异值分解的图像
融合。
X M ×N X 2×2 X1 4×1 4×4多分辨率奇异值分解源于 Burt 和 Adelson 提出的拉普拉斯金字塔算法,该算法类似于小波变换,基本思想是在平滑分量的每一层上用奇异值分解代替滤波。图 4 展示了 3 层 MSVD 分解的结构。假设是一个 矩阵,将 分成不重叠的 块,并且通过堆叠,以形成矩阵 ,并将每个块排列成 的向量。 散布矩阵的特征分解是:
将式(16)中所得的奇异值以降序来排列:
图 4 3 层 MSVD 分解结构示意图
令 , 第一行包含对应于最大特征值的近似或平滑分量,剩余行包含对应于最小特
被融合的偏振去雾图像 和 分别用 MSVD 分解为 ( ) 层。在每个分解层次中,细节分量系数对应于图像中更尖锐的亮度变化,如边缘图像等。而较大的奇异值能更好地保持原始低分辨率图像的有用信息,因此,将选择两个 MSVD 细节分量的较大值进行融合。对于底层 ( =1),融合规则取 MSVD 平滑分量系数的平均值,因为底层的平滑分量系数是原始图像的平滑和亚采样版本。融合图像可通过下式得到:
⛄二、部分源代码
function re=MSVD_fusion(p1,p2,leve,rule)
if size(p1,3) == 3
p1=rgb2gray(p1);
end
if size(p2,3) == 3
p2=rgb2gray(p2);
end
if ~exist(‘leve’,‘var’)
leve=1;
end
if ~exist(‘rule’,‘var’)
rule=1;
end
p1=double(p1);
p2=double(p2);
[x1,u1]=EX_MSVD(p1,leve);
[x2,u2]=EX_MSVD(p2,leve);
switch rule
case 1
[X,U]=rule1(x1,x2,u1,u2);
case 2
case 3
end
re=EX_IMSVD(X,U);
re=mat2gray(re);
end
function [X,U]=rule1(x1,x2,u1,u2)
leve=length(x1);
X=cell(1,leve);
U=cell(1,leve-1);
X{leve}=0.5*(x1{leve}+x2{leve});
for i=leve-1👎1
D = (abs(x1{i}.LH)-abs(x2{i}.LH)) >= 0;
X{i}.LH = D.*x1{i}.LH + (~D).*x2{i}.LH;
D = (abs(x1{i}.HL)-abs(x2{i}.HL)) >= 0;
X{i}.HL = D.*x1{i}.HL + (~D).*x2{i}.HL;
D = (abs(x1{i}.HH)-abs(x2{i}.HH)) >= 0;
X{i}.HH = D.*x1{i}.HH + (~D).x2{i}.HH;
U{i}=0.5(u1{i}+u2{i});
end
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 周文舟,范晨,胡小平,何晓峰,张礼廉.多尺度奇异值分解的偏振图像融合去雾算法与实验[J].中国光学. 2021,14(02)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除