zoukankan      html  css  js  c++  java
  • 基于小波金字塔的简单图像融合算法matlab实现

    算法目标

    将拍摄同一物体得到的两种不同对焦角度的图像进行融合,得到清晰的画面。

    pepsi1.jpg pepsi2.jpg

    代码实现

    主程序

    clear all;
    close all;
    
    leo1=imread('pepsi1.jpg');%读入图片
    leo2=imread('pepsi2.jpg');
    %%  k=融合系数 w=小波系  
    k1=0.5;k2=0.5;w='db4'; tic;
    outdoor1=rgb2gray(leo1);
    outdoor2=rgb2gray(leo2);
    %% 三层小波分解
    [ca11,chd11,cvd11,cdd11]=dwt2(outdoor1,w);
    [ca12,chd12,cvd12,cdd12]=dwt2(ca11,w);
    [ca13,chd13,cvd13,cdd13]=dwt2(ca12,w);
    % ------------- %
    [ca21,chd21,cvd21,cdd21]=dwt2(outdoor2,w);
    [ca22,chd22,cvd22,cdd22]=dwt2(ca21,w);
    [ca23,chd23,cvd23,cdd23]=dwt2(ca22,w);
    
    %% 求边缘图像,矩阵融合
    chd3=maxabs(chd13,chd23);
    cvd3=maxabs(cvd13,cvd23);
    cdd3=maxabs(cdd13,cdd23);
    % ------------- %
    chd2=maxabs(chd12,chd22);
    cvd2=maxabs(cvd12,cvd22);
    cdd2=maxabs(cdd12,cdd22);
    % ------------- %
    chd1=maxabs(chd11,chd21);
    cvd1=maxabs(cvd11,cvd21);
    cdd1=maxabs(cdd11,cdd21);
    % ------------- %
    ca3=k1*ca13+k2*ca23;
    %% 逆小波变换
    L2=size(chd2);L1=size(chd1);
    % ------------- %
    ca2=idwt2(ca3,chd3,cvd3,cdd3,w);
    % ------------- %
    ca1=idwt2(ca2(1:L2(1),1:L2(2)),chd2,cvd2,cdd2,w);
    % ------------- %
    I=idwt2(ca1(1:L1(1),1:L1(2)),chd1,cvd1,cdd1,w);
    toc;
    
    %% 展示
    figure(1);
    subplot(1,3,1)
    imshow(leo1);
    title('pepsi1');
    subplot(1,3,2)
    imshow(leo2);
    title('pepsi2');
    subplot(1,3,3)
    imshow(uint8(I));
    title('系数绝对值取最大融合');
    

    子程序 maxabs

    function X=maxabs(A,B) 
    %附录3;
    %对矩阵A,B,最大值法
     newA=zeros(size(A));
    [m,n]=size(A);
    %零延拓
    for i=1:m
      for j=1:n
    if abs(A(i,j))>=abs(B(i,j));
                newA(i,j)=A(i,j);        
            else
                newA(i,j)=B(i,j);
            end
         end
    end
    X=newA;
    end
    

    结果

    © 版权声明
    文章版权归作者所有,未经允许请勿转载。
  • 相关阅读:
    Java内存模型深度解析:final
    Java内存模型深度解析:总结
    打印流
    Properties
    进制间的转换
    JAVA IO
    001课-java_web开发入门
    openssl生成https证书 (转)
    PostgreSQL中COUNT的各条件下(1亿条数据)例子
    6个原因说服你选择PostgreSQL9.6
  • 原文地址:https://www.cnblogs.com/gshang/p/14480800.html
Copyright © 2011-2022 走看看