首页 > 化工知识 > 【图像融合】基于curvelet变换图像融合matlab代码

【图像融合】基于curvelet变换图像融合matlab代码

时间:2021-11-25 来源: 浏览:

【图像融合】基于curvelet变换图像融合matlab代码

原创 天天Matlab 天天Matlab
天天Matlab

TT_Matlab

每天分享一点Matlab资料,一起成长进步。需要定制程序添加qq1575304183

收录于话题 #图像处理matlab源码 254个 内容

1 简介

针对Curvelet分解的不同频率域,分别讨论了低频系数和高频系数的选择原则.在选择低频系数时,定义了局部区域标准方差,采用了"选择"与"平均"相结合的系数选择方案;在选择高频系数时,充分利用Curvelet变换具有方向性的优点,提出了Curvelet域方向对比度的概念,并给出了基于方向对比度的系数选择方案.实验结果表明:本文所给出的融合算法能够很好地保留多幅源图像中的有用信息,得到多个目标聚焦都很清晰的图像.

2 部分代码

clc clear all close all % fdct_wrapping_demo_recon.m -- Partial curvelet reconstruction. X = imread ( ’imgwarp.bmp’ ); X2 = imread ( ’IR1022_3.bmp’ ); X1 = rgb2gray ( X ); % Forward curvelet transform disp ( ’Take curvelet transform: fdct_wrapping’ ); tic ; C1 = fdct_wrapping ( double ( X1 ), 0 , 2 ); toc ; tic ; C2 = fdct_wrapping ( double ( X2 ), 0 , 2 ); toc ; C = C1 ; %tic; C = fdct_wrapping(double(X),0,2,5,16); toc; for s = 1 : 2   for w = 1 : length ( C { s })     C { s }{ w } = 0.5 * C1 { s }{ w } + 0.5 * C2 { s }{ w };   end end for s = 3 : length ( C )   for w = 1 : length ( C { s })     C { s }{ w } = max ( C1 { s }{ w }, C2 { s }{ w });   end end disp ( ’Take inverse curvelet transform: ifdct_wrapping’ ); tic ; Y = ifdct_wrapping ( C , 0 , 256 , 320 ); toc ; Y = uint8 ( Y ); % subplot(1,3,1); colormap gray; imagesc(real(X1)); axis(’image’); title(’VI’); % subplot(1,3,2); colormap gray; imagesc(real(X2)); axis(’image’); title(’IR’); % subplot(1,3,3); colormap gray; imagesc(real(Y)); axis(’image’); title(’fusion’); %信息熵 figure ( 1 ) subplot ( 131 ) imshow ( X1 ); title ( ’融合前图1’ ) subplot ( 132 ) imshow ( X2 ); title ( ’融合前图1’ ) subplot ( 133 ) imshow ( Y ); title ( ’融合后’ ) imwrite ( Y , ’xiaobo1.bmp’ ); r1 = rmse ( X1 , Y ); %融合前图1和融合后的均方差 r2 = rmse ( X2 , Y ); %融合前图1和融合后的均方差 disp ([ ’融合前图1和融合后的均方差=’ , num2str ( r1 )]) disp ([ ’融合前图2和融合后的均方差=’ , num2str ( r2 )]) xinxi1 = xinxishang ( X1 ); %融合前图1信息熵 disp ([ ’融合前图1的信息熵=’ , num2str ( xinxi1 )]) xinxi2 = xinxishang ( X2 ); %融合前图2信息熵 disp ([ ’融合前图2的信息熵=’ , num2str ( xinxi2 )]) xinxi3 = xinxishang ( Y ); %融合前图3信息熵 disp ([ ’融合后图的信息熵=’ , num2str ( xinxi3 )]) tidu1 = ftidu ( X1 ); % %融合前图1梯度 disp ([ ’融合前图1的梯度=’ , num2str ( tidu1 )]) tidu2 = ftidu ( X2 ); % %融合前图2梯度 disp ([ ’融合前图2的梯度=’ , num2str ( tidu2 )]) tidu3 = ftidu ( Y ); % %融合后图梯度 disp ([ ’融合后图的梯度=’ , num2str ( tidu3 )])

3 仿真结果

4 参考文献

[1]李晖晖, 郭雷, and 刘航. "基于二代curvelet变换的图像融合研究." 光学学报 26.5(2006):6.

天天Matlab

赞赏二维码 微信扫一扫赞赏作者 赞赏

已喜欢, 对作者说句悄悄话
最多40字,当前共

  人赞赏

1 / 3

长按二维码向我转账

赞赏二维码

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐