MATLAB Curvelet-2PCNN图像融合算法

本文介绍了一种基于Curvelet变换和改进的脉冲耦合神经网络(2PCNN)的图像融合方法。该方法首先使用Curvelet变换分解输入图像,然后通过2PCNN算法处理低频和高频子带,最终实现图像的有效融合。

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


curvelet-2PCNN图像融合算法核心源码 by vincent 
close all;
clear all;
path(path,'PCNN_toolbox/')
path(path,'nsct_toolbox')
path(path,'FusionEvaluation/')
path(path,'fusetool/')
A=double(imread('1.jpg')); 
B=double(imread('2.jpg')); 
%% Parameters for PCNN
Para.iterTimes=200;
Para.link_arrange=3;
Para.alpha_L=0.06931;% 0.06931 Or 1
Para.alpha_Theta=0.2;
Para.beta=3;% 0.2 or 3
Para.vL=1.0;
Para.vTheta=20;
%%
disp('Decompose the image curvelet ...')
yA = fdct_wrapping(A,1,2); 
yB = fdct_wrapping(B,1,2);
n = length(yA);
%% Initialized the coefficients of fused image
Fused=yB;
=========================================
% Lowpass subband
disp('Process in Lowpass subband...')
        ALow1 = yA{1}{1};
        BLow1 = yB{1}{1};
[Abeta,Bbeta] = weighting(ALow1,BLow1);
Fused{1}{1}=Dual_PCNN(ALow1,BLow1,Abeta,Bbeta);
%Fused{2}=fusion_NSCT_SF_PCNN(ALow2,BLow2,Para);
%%
%=============================================
% Bandpass subbands
disp('Process in  Bandpass subbands...')
for l = 2:n
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    for d = 1:length(yA{l})
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        Ahigh = yA{l}{d};
        Bhigh = yB{l}{d};
      [Abeta,Bbeta] = weighting(Ahigh,Bhigh);
 %%       Fused{l}{d} = fusion_NSCT_SF_PCNN(Ahigh,Bhigh,Para);
       
         Fused{l}{d}=Dual_PCNN(Ahigh,Bhigh,Abeta,Bbeta);
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    end
end
disp('High frequecy field process is ended')
%=============================================
disp('Reconstruct the image curvelet ...')
f_im = real(ifdct_wrapping(Fused,1)); 
disp('Reconstruct is ended...')
%%
f_im=f_im/255;
imwrite(f_im ,'6.jpg','jpg');
im2=imread('6.jpg');
im=imread('1.jpg');
im1=imread('2.jpg');
grey_level=256;
Result=zeros(1,2);
Result(1,1)=mutural_information(im,im1,im2,grey_level);
Result(1,2)=edge_association(im,im1,im2);
Result


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值