基于小波变换的图像融合方法,基于小波变换图像增强
【图像融合】基于小波变换实现计算机化X线体层照相术图像融合(融合指标)含矩阵实验室源码_MATLAB仿真博客的技术博客_博客
一简介图像融合是对数字图像的预处理,使图像整体或局部特征能有效地改善。本文基于对图像融合理论的理解,分析了小波变换在图像融合中的应用。在此基础上,利用矩阵实验室对不同融合系数的图像以及不同增强系数的图像进行融合等,并对其结果进行分析与比较,表明采用方法的合理性。
2部分代码函数varargout=fusegui(varargin)
富塞吉的% FUSEGUI MATLAB代码
% FUSEGUI本身创建一个新的富塞吉或引发现有的
%单例* .
%
% H=FUSEGUI将句柄返回给新的富塞吉或将句柄返回给
%现有的单例*。
%
% FUSEGUI(CALLBACK ,hObject,eventData,handles,)调用本地
富塞吉中名为回收的%函数。用给定的输入参数初始化m .
%
% FUSEGUI(Property , Value ,)创建一个新的富塞吉或引发
%现有单例*。从左边开始,属性值对是
调用fusegui _ OpeningFcn之前应用于图像使用者界面的百分比。一;一个
%无法识别的属性名或无效值使属性应用程序
%停止。所有输入都通过变长度输入宗量传递给fusegui _ OpeningFcn .
%
% *请参见指南的"工具"菜单上的图像使用者界面选项。选择图像使用者界面只允许一个
要运行的%实例(单例)”.
%
%请参阅:指南、GUIDATA、GUIHANDLES
%编辑以上文本以修改帮助富塞吉的响应
%上次修改指南版本2.5 2013年四月21日12:54:34
%开始初始化代码-不要编辑
GUI _ Singleton=1;
gui_State=struct(gui_Name ,mfilename,
gui_Singleton ,gui_Singleton,
gui _ OpeningFcn ,@ fusegui _ OpeningFcn,
gui_OutputFcn ,@fusegui_OutputFcn,
gui_LayoutFcn ,[],
gui_Callback ,[]);
if nargin ischar(varargin{1})
GUI _ state。GUI _ Callback=str 2 func(vara rgin { 1 });
目标
如果输出参数的数目
[varargout { 1:nargout }]=GUI _ mainfcn(GUI _ State,vara gin {:});
其他
gui_mainfcn(gui_State,vara rgin {:});
目标
%结束初始化代码-不要编辑
% -在富塞吉可见之前执行。
函数fuse GUI _ opening fcn(ho object,eventdata,handles,varargin)
%此函数没有输出参数,请参见输出Fcn .
% h对象句柄到数字
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% vara gin保险丝GUI的命令行参数(请参见瓦拉金酒)
%选择富塞吉的默认命令行输出
handles.output=hObject
%更新句柄结构
guidata(hObject,handles);
%等待使富塞吉等待用户响应(参见UIRESUME)
% ui等待(句柄。图1);
% -此函数的输出返回到命令行。
函数varargout=fuse GUI _ output fcn(h对象,eventdata,句柄)
% varargout单元格数组,用于返回输出参数(请参见VARARGOUT);
% h对象句柄到数字
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
%从句柄结构获取默认命令行输出
varargout { 1 }=handles.output
% -在按下按钮一时执行。
函数button1_Callback(hObject,eventdata,handles)
% h对象句柄到按钮1(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
全球x;
全球地图1;
%选择图片路径
[文件名,路径名]=uigetfile({* .jpg ;*.BMP ;*.gif ;png},选择图片);
%合成路径文件名
str=[路径名文件名];
%读取图片
[X,map 1]=imread(str);
ax1=支线剧情(221);
设置(ax1,’位置,[.05 .47 .2 .4]);
imshow(X,map 1);
setappdata(句柄。按钮1, ax1 ,ax1);
% -在按下按钮2时执行。
函数button2_Callback(hObject,eventdata,handles)
% h对象句柄到按钮2(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
全局y;
全球地图2;
%选择图片路径
[文件名,路径名]=uigetfile({* .jpg ;*.BMP ;*.gif ;png},选择图片);
%合成路径文件名
str=[路径名文件名];
%读取图片
[Y,map 2]=imread(str);%读取图像文件,地图是颜色表矩阵省略?
ax2=支线剧情(222);
设置(ax2,’位置,[.36 .47 .2 .4]);
imshow(Y,map 2);
setappdata(句柄。按钮1, ax2 ,ax2);
% -在按下按钮3时执行。
函数button3_Callback(hObject,eventdata,handles)
% h对象处理按钮3(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
ax3=支线剧情(224);
设置(ax3,’位置,[.68 .47 .2 .4]);
环球终极;
imshow(终极);
setappdata(句柄。按钮1, ax3 ,ax3);
% -在按下按钮四时执行。
函数button4_Callback(hObject,eventdata,handles)
% h对象处理按钮4(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
环球终极;
[文件名路径名]=uiputfile({* .jpg ;*.BMP ;*.gif ;png},图像另存为);
imwrite(终极版,[路径名,文件名]);
% -在弹出菜单1中的选择更改时执行。
函数popupmenu1_Callback(hObject,eventdata,handles)
% h弹出菜单一的对象句柄(参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints:contents=cellstr(get(ho object, String ))将弹出菜单1内容作为单元格数组返回
% contents{get(hObject, Value)}从弹出菜单1中返回选定的项目
% -在设置所有属性后,在对象创建期间执行。
函数popupmenu1_CreateFcn(hObject,eventdata,handles)
% h弹出菜单一的对象句柄(参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,弹出菜单控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果ispc相等(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
set(hObject, BackgroundColor , white );
目标
% -在弹出菜单2中的选择更改时执行。
函数popupmenu2_Callback(hObject,eventdata,handles)
% h弹出菜单2的对象句柄(参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
val=get(hObject, value );
全局小波;
全局x Y;
环球终极;
开关阀
案例3 %低频取均值,高频局域方差最大
如果ndims(X)==3
其他
[m,n]=大小;
zz=零(m,n,3);
zz(:1)=X;
zz(:2)=X;
zz(:3)=X;
X=zz
目标
如果ndims(Y)==3
其他
[m,n]=size(Y);
zzz=零(m,n,3);
zzz(:1)=Y;
zzz(:2)=Y;
zzz(:3)=Y;
Y=zzz
目标
X=double(X);
Xr=X(:1);
Xg=X(:2);
Xb=X(:3);
[aA1,aH1,aV1,aD1]=dwt2(Xr,小波);
[aA2,aH2,aV2,aD2]=dwt2(Xg,小波);
[aA3,aH3,aV3,aD3]=dwt2(Xb,小波);
Y=double(Y);
Yr=Y(:1);
Yg=Y(:2);
Yb=Y(:3);
[bA1,bH1,bV1,bD1]=dwt2(Yr,小波);
[bA2,bH2,bV2,bD2]=dwt2(Yg,小波);
[bA3,bH3,bV3,bD3]=dwt2(Yb,小波);
newA1=零(大小(aA1));
newA2=零(大小(aA2));
newA3=零(大小(aA3));
新h1=零(大小(aH1));
新的v1=零(大小(aV1));
新D1=零(大小(aD1));
新H2=零(大小(aH2));
新v2=零(大小(aV2));
newD2=零(大小(aD2));
新H3=零(大小(aH3));
新v3=零(大小(aV3));
newD3=零(大小(aD3));
%低频融合规则
[m,n]=大小(aA1);
因为i=1:m
对于j=1:n
newA1(i,j)=(aA1(i,j) bA1(i,j))/2;
结束;
结束;
因为i=1:m
对于j=1:n
newA2(i,j)=(aA2(i,j) bA2(i,j))/2;
结束;
结束;
因为i=1:m
对于j=1:n
newA3(i,j)=(aA3(i,j) bA3(i,j))/2;
结束;
结束;3仿真结果
四参考文献[1]柏春岚,刘豪。基于小波变换的图像融合及其矩阵实验室实现[J]的缩写.科技广场, 2014.
博主:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等领域的Matlab仿真。相关的matlab代码问题可以私信交流。有些理论引用自网络文献。如有侵权,联系博主删除。
原创作品来自matlab研究助手,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。