• 【图像融合】基于matlab多尺度奇异值分解图像融合【含Matlab源码 2040期】


    ⛄一、多尺度奇异值分解的偏振图像融合去雾算法简介

    立足于提高传统算法的适应性,提高去雾图像的质量,本文设计了如图 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
    
    • 1

    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 备注
    简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 相关阅读:
    谷歌的新编程语言被称为 Carbon
    一遍掌握,快速排序的入门理解
    零基础Linux_6(开发工具_下)函数库链接+Makefile+实现进度条+Git
    反虚拟机、反沙箱技术整理汇总
    2022-09-18 mysql-subselect相关执行流程记录
    使用XXL-JOB自定义任务并调度
    Unity WebGL 编译 报错: emcc2: error: ‘*‘ failed: [WinError 2] ϵͳ�Ҳ���ָ�����ļ���解决办法
    SSL Pinning 绕过、Web 应用程序黑客攻击、漏洞查找和执行 VAPT | 详细 VAPT 方法、在渗透测试中绕过CSP、账户接管漏洞
    Linux更新IP后如何配置网卡
    【MySQL学习笔记】(十)使用索引的操作
  • 原文地址:https://blog.csdn.net/TIQCmatlab/article/details/126457077