当前位置:网站首页>【图像融合】基于伪 Wigner 分布 (PWD) 实现图像融合附matlab代码
【图像融合】基于伪 Wigner 分布 (PWD) 实现图像融合附matlab代码
2022-06-24 06:41:00 【Matlab科研工作室】
1 简介
提出了一种基于伪维格纳分布(PWVD)的融合方法.利用一维N像素的滑动窗口在各个方向上 对各待融合图像进行伪维格纳变换,选择均方根最大的方向为各待融合图像的PWVD分解方向,分解形成待融合图像不同频段的能量谱图,然后,针对各待融合不 同频段的能量谱图,融合原则是高频段取区域能量最大,低频段取能量方差最大,形成具有不同频段的融合能量谱图,最后,对能量谱图进行PWVD逆变换,形成 融合图像.对红外与可见光图像,多聚焦图像,电子计算机X射线断层扫描(CT)图像与磁共振(MR)图像和红外与合成孔径雷达(SAR)图像进行了融合实 验,并对融合图像和待融合图像进行了信息熵对比.实验结果表明,采用本文算法的融合图像保留了待融合图像的绝大部分信息.
2 部分代码
function varargout = mapfusion(varargin)% MAPFUSION M-file for mapfusion.fig% MAPFUSION, by itself, creates a new MAPFUSION or raises the existing% singleton*.%% H = MAPFUSION returns the handle to a new MAPFUSION or the handle to% the existing singleton*.%% MAPFUSION('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in MAPFUSION.M with the given input arguments.%% MAPFUSION('Property','Value',...) creates a new MAPFUSION or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before mapfusion_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to mapfusion_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help mapfusion% Last Modified by GUIDE v2.5 19-Oct-2010 16:12:55% By Salvador Gabarda% Last updated: 14OCT2015% [email protected]% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @mapfusion_OpeningFcn, ...'gui_OutputFcn', @mapfusion_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before mapfusion is made visible.function mapfusion_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to mapfusion (see VARARGIN)% -----------------------INITIALIZING--------------------------axes(handles.result);imagesc(zeros(256));axis off;colormap(gray);axes(handles.map);imagesc(zeros(256));axis off;colormap(gray);axes(handles.images);imagesc(zeros(256));axis off;colormap(gray);NOL=0; % number of layers in input stackhandles.NOL=NOL;X=[];handles.X=X; % stack of input layersMAP=[];handles.MAP=MAP; % decision mapFUS=[];handles.FUS=FUS; % fused imageN=8;handles.N=N; % number of analysis directions for processingDIR=0;handles.DIR=DIR; % initial direction of analysisNDIR=1;handles.NDIR=NDIR; % number of directions used in the analysisSP=[];handles.SP=SP; % spare imageBS=0;handles.BS=BS; % image biasR=[];handles.R=R; % reference imageMHP=1;handles.MHP=MHP; % image matching profile: 1 for linear profile,% 2 for cuadratic profileselection='norm';handles.selection=selection; % name of the process to be appliedinvert_sel='no';handles.invert_sel=invert_sel; % decision to invert image valueschannel_sel='gray';handles.channel_sel=channel_sel; % decision to use selected image channelkind_sel='direct';handles.kind_sel=kind_sel; % name of analysed image distortion% Choose default command line output for mapfusionhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes mapfusion wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = mapfusion_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% -------------------------INPUT IMAGE ----------------------------------ch=handles.channel_sel;[filename,pathname] = uigetfile('*.*', 'Select image');filename2=[pathname '\' filename];X=imread(filename2);% select channel[Y,la]=imagechannel(X,ch);% inversion yes/noinvert=handles.invert_sel;switch invertcase 'yes'Y=255-Y;disp('inversion on');case 'no'% no actionend% show selected input channelaxes(handles.images);imshow(uint8(Y));colormap('gray');axis image;axis off;% Save the handles structure.handles.NOL=handles.NOL+1;handles.X(:,:,handles.NOL)=Y;handles.SP(:,:,handles.NOL)=Y;guidata(hObject,handles)% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------------SKIP------------------------------------[ro co la]=size(handles.X);if la>1axes(handles.images);for i=1:laimagesc(handles.X(:,:,i));colormap(gray);axis image;axis off;pause(1);endend% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------DECISION MAP-----------------------------------X=handles.X; % stack of input imagesfusion_mode=handles.selection; %('norm','entropy','cloud','anysotropy')XBIAS=handles.BS; % bias for pseudo-Wigner distributionR=handles.R; % worst reference imageN=handles.N; % pseudo-Wigner distribution window size (even number)kind=handles.kind_sel; % 'direct', 'inverse'a=handles.DIR; % first orientation in degreesmxp=handles.NDIR; % number of PWD's directions (1, 2, 3, ...)% fusion map[ro co la]=size(X);X=X+XBIAS;R=R+XBIAS;if isequal(fusion_mode,'cloud')fusion_mode='norm';R=255*ones(ro,co);endmsg=0;if (isequal(fusion_mode,'anisotropy') && mxp<2)Z=ones(ro,co);msg=1;elseZ=mapmakerplus(X,R,N,fusion_mode,kind,a,mxp);endaxes(handles.map);imagesc(uint8(Gama(Z)));colormap(gray);axis image;axis off;if msg==1msgbox('more than one direction has to be considered','note...','warn')end% Save the handles structure.handles.MAP=Z;guidata(hObject,handles)% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% ----------------------------------CLEAR ALL-----------------------------axes(handles.result);imagesc(zeros(256));axis off;colormap(gray);axes(handles.map);imagesc(zeros(256));axis off;colormap(gray);axes(handles.images);imagesc(zeros(256));axis off;colormap(gray);NOL=0;handles.NOL=NOL;X=[];handles.X=X;MAP=[];handles.MAP=MAP;FUS=[];handles.FUS=FUS;SP=[];handles.SP=SP;R=[];handles.R=R;guidata(hObject,handles)% --- Executes on selection change in popupmenu1.function popupmenu1_Callback(hObject, eventdata, handles)% hObject handle to popupmenu1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% ----------------------------- MODE ------------------------------------% Determine the selected modestr = get(hObject, 'String');val = get(hObject,'Value');% Set current data to the selected data set.switch str{val};case 'norm' % User selects eucledian norm.handles.selection = 'norm';case 'entropy' % User selects R閚yi entropy.handles.selection = 'entropy';case 'anisotropy' % User selects anisotropy.handles.selection = 'anisotropy';case 'cloud' % User selects cloud removing.handles.selection = 'cloud';end% Save the handles structure.guidata(hObject,handles)% Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array% contents{get(hObject,'Value')} returns selected item from popupmenu1% --- Executes during object creation, after setting all properties.function popupmenu1_CreateFcn(hObject, eventdata, handles)% hObject handle to popupmenu1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------- FILTER ---------------------------------X=handles.MAP;if isempty(X)~=1w=11;mode='integer';MAPA=StackFilter(X,w,mode);handles.MAP=MAPA;axes(handles.map);imagesc(MAPA);colormap(gray);axis image;axis off;msgbox('fusion map has been filtered',' ','help')guidata(hObject,handles)end% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% -------------------------- FUSION ----------------------------fusion_mode=handles.selection;% Image recovering[roM coM laM]=size(handles.MAP);if roM>1axes(handles.result);U=handles.MAP;V=handles.X;[roU coU]=size(U);[roV coV laV]=size(V);F=zeros(roU,coU);for q=1:laVF=F+(U==q).*V(:,:,q);endinvert=handles.invert_sel;switch invertcase 'yes'F=255-F;disp('inversion off');case 'no'% no actionendhandles.FUS=F;imagesc(F);colormap(gray);axis image;axis off;msgbox('fusion completed',fusion_mode,'help')guidata(hObject,handles);endfunction edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% ---------------------- WINDOW LENGTH ---------------------------------NA = get(hObject,'String');NB=str2num(NA);if (ceil(NB/2)*2==NB)&(ceil(NB/2)*2>0)handles.N=NB;guidata(hObject,handles);elsemsgbox('enter an even number','window performances','error');guidata(hObject,handles);end% --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a double% ----------------------- FIRST DIRECTION ---------------------------DIRX = get(hObject,'String');DIRY=str2num(DIRX);handles.DIR=DIRY;guidata(hObject,handles);% --- Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit3 as text% str2double(get(hObject,'String')) returns contents of edit3 as a double% --------------------- NUMBER OF DIRECTIONS -------------------------NDIRX = get(hObject,'String');NDIRY=str2num(NDIRX);if (NDIRY==fix(NDIRY))&(NDIRY>0)handles.NDIR=NDIRY;guidata(hObject,handles);elsemsgbox('enter a natural number','number of directions','error');guidata(hObject,handles);end% --- Executes during object creation, after setting all properties.function edit3_CreateFcn(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% ------------------------- SAVE ----------------------------ch=handles.channel_sel;% save imagePop1=['A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' ...'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z'];Pop2=['0' '1' '2' '3' '4' '5' '6' '7' '8' '9'];seq1=randsample(Pop1,4);seq2=randsample(Pop2,4);rename=[seq1 seq2];mapa=handles.MAP;if isempty(mapa)~=1mapa=mapa-1;xmapa=max(mapa(:));ymapa=fix(255/xmapa);mapa=ymapa*mapa;mapname=strcat(ch,rename,'MAP.tif');imwrite(uint8(mapa),mapname);message1=mapname;endfusion=handles.FUS;if isempty(fusion)~=1fusname=strcat(ch,rename,'FUS.tif');imwrite(uint8(fusion),fusname);message2=fusname;endif (exist('message1')==1)&(exist('message2')==0)msgbox(message1,'image saved as:','help');endif (exist('message1')==0)&(exist('message2')==1)msgbox(message2,'image saved as:','help');endif (exist('message1')==1)&(exist('message2')==1)inter=' ';message= [message1 inter message2];msgbox(message,'images saved as:','help');endif (exist('message1')==0)&(exist('message2')==0)msgbox('no images to save','images saved as:','help');end% --- Executes on slider movement.function slider1_Callback(hObject, eventdata, handles)% hObject handle to slider1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'Value') returns position of slider% get(hObject,'Min') and get(hObject,'Max') to determine range of slider% --------------------- IMAGE SELECTOR --------------------------------slider_value = get(hObject,'Value');[roX coX laX]=size(handles.X);if laX>1sli=fix(slider_value*laX);if sli==0sli=1;endaxes(handles.images);imagesc(handles.X(:,:,sli));colormap(gray);axis image;axis off;end% --- Executes during object creation, after setting all properties.function slider1_CreateFcn(hObject, eventdata, handles)% hObject handle to slider1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls usually have a light gray background, change% 'usewhitebg' to 0 to use default. See ISPC and COMPUTER.usewhitebg = 1;if usewhitebgset(hObject,'BackgroundColor',[.9 .9 .9]);elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on button press in pushbutton16.function pushbutton16_Callback(hObject, eventdata, handles)% hObject handle to pushbutton16 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% ------------------------------ MATCH ----------------------------prof=handles.MHP;U=handles.X;if isempty(U)==0[roX coX laX]=size(U);MR=HistoGenEx(roX,coX,prof);wb = waitbar(0,'Please wait...');for k=1:laXV(:,:,k)=MatchHisto(MR,U(:,:,k),0);waitbar(k/laX,wb)endclose(wb)handles.X=V;axes(handles.images);imagesc(V(:,:,laX));colormap(gray);axis image;axis off;guidata(hObject,handles);end% --- Executes on button press in pushbutton17.function pushbutton17_Callback(hObject, eventdata, handles)% hObject handle to pushbutton17 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% ---------------------------- UNMATCH ----------------------------if isempty(handles.SP)==0handles.X=handles.SP;handles.SP=handles.X;[roX coX laX]=size(handles.X);axes(handles.images);imagesc(handles.X(:,:,laX));colormap(gray);axis image;axis offguidata(hObject,handles);endfunction edit10_Callback(hObject, eventdata, handles)% hObject handle to edit10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit10 as text% str2double(get(hObject,'String')) returns contents of edit10 as a double% ---------------------------- BIAS ---------------------------------XBIAS = get(hObject,'string');YBIAS=str2num(XBIAS);handles.BS=YBIAS;guidata(hObject,handles);% --- Executes during object creation, after setting all properties.function edit10_CreateFcn(hObject, eventdata, handles)% hObject handle to edit10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction edit11_Callback(hObject, eventdata, handles)% hObject handle to edit11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit11 as text% str2double(get(hObject,'String')) returns contents of edit11 as a double% ---------------------------- MATCH PROFILE -------------------prof = get(hObject,'String');MHP=str2num(prof);if MHP>0handles.MHP=MHP;guidata(hObject,handles);elsemsgbox('enter a positive real number','match profile','error');guidata(hObject,handles);end% --- Executes during object creation, after setting all properties.function edit11_CreateFcn(hObject, eventdata, handles)% hObject handle to edit11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on selection change in popupmenu3.function popupmenu3_Callback(hObject, eventdata, handles)% hObject handle to popupmenu3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns popupmenu3 contents as cell array% contents{get(hObject,'Value')} returns selected item from popupmenu3% -------------------------------- INVERT -----------------------% Determine the selected modestr = get(hObject, 'String');val = get(hObject,'Value');% Set current data to the selected data set.switch str{val};case 'no' % User selects direct levelshandles.invert_sel = 'no';case 'yes' % User selects inverted levelshandles.invert_sel = 'yes';end% Save the handles structure.guidata(hObject,handles)% --- Executes during object creation, after setting all properties.function popupmenu3_CreateFcn(hObject, eventdata, handles)% hObject handle to popupmenu3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on selection change in popupmenu4.function popupmenu4_Callback(hObject, eventdata, handles)% hObject handle to popupmenu4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns popupmenu4 contents as cell array% contents{get(hObject,'Value')} returns selected item from popupmenu4% -------------------------------------CHANNEL --------------------------% Determine the selected modestr = get(hObject, 'String');val = get(hObject,'Value');% Set current data to the selected data set.switch str{val};case 'gray' % User selects gray image conversionhandles.channel_sel = 'gray';case 'R' % User selects red channelhandles.channel_sel = 'R';case 'G' % User selects green channelhandles.channel_sel = 'G';case 'B' % User selects blue channelhandles.channel_sel = 'B';end% Save the handles structure.guidata(hObject,handles)% --- Executes during object creation, after setting all properties.function popupmenu4_CreateFcn(hObject, eventdata, handles)% hObject handle to popupmenu4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on selection change in popupmenu5.function popupmenu5_Callback(hObject, eventdata, handles)% hObject handle to popupmenu5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns popupmenu5 contents as cell array% contents{get(hObject,'Value')} returns selected item from popupmenu5% ------------------------------ KIND -------------------------% Determine the selected kind of image problemstr = get(hObject, 'String');val = get(hObject,'Value');% Set current data to the selected data set.switch str{val};case 'direct' % User selects image deblurringhandles.kind_sel = 'direct';case 'inverse' % User selects image denoisinghandles.kind_sel = 'inverse';end% Save the handles structure.guidata(hObject,handles)% --- Executes during object creation, after setting all properties.function popupmenu5_CreateFcn(hObject, eventdata, handles)% hObject handle to popupmenu5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end
3 仿真结果

4 参考文献
[1]刘聪, 李言俊, 张科. 基于伪维格纳分布的图像融合[J]. 光学学报, 2009(10):5.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
- One year since joining Tencent
- 面渣逆袭:MySQL六十六问,两万字+五十图详解
- JVM调试工具-jvisualvm
- Precipitation of architecture design methodology
- 毕业季进击的技术
- JVM调试工具-jstack
- Clickhouse source code note 6: exploring the sorting of columnar storage systems
- [Yugong series] June 2022 asp Basic introduction and use of cellreport reporting tool under net core
- MFC多线程 信号量CSemaphore 临界区与互斥 事件
- NVIDIA control panel does not open what is NVIDIA control panel
猜你喜欢

Database stored procedure begin end

Interpreting top-level design of AI robot industry development

潞晨科技获邀加入NVIDIA初创加速计划

如何删除/选择电脑上的输入法

Huawei Cloud Database Advanced Learning

LuChen technology was invited to join NVIDIA startup acceleration program
![[cloud based co creation] overview of the IOT of Huawei cloud HCIA IOT v2.5 training series](/img/80/1be6a87639ac8da41bc881b3341646.png)
[cloud based co creation] overview of the IOT of Huawei cloud HCIA IOT v2.5 training series

成为 TD Hero,做用技术改变世界的超级英雄 | 来自 TDengine 社区的邀请函
![[Yugong series] June 2022 asp Basic introduction and use of cellreport reporting tool under net core](/img/18/1576cb7bdae5740828d1db5b283aee.png)
[Yugong series] June 2022 asp Basic introduction and use of cellreport reporting tool under net core

FreeRTOS MPU使系统更健壮!
随机推荐
Spark project Packaging Optimization Practice
Oracle SQL comprehensive application exercises
Smart space 𞓜 visualization of operation of digital twin cargo spacecraft
在js中正则表达式验证小时分钟,将输入的字符串转换为对应的小时和分钟
puzzle(019.1)Hook、Gear
JVM调试工具-Arthas
Introduction to game design and development - layered quaternion - dynamic layer
Web messaging and woker classification: talking about the cross thread and cross page communication of PostMessage
Big factories are not the only way to measure ability. The three years' experience of Shangcai's graduation
mysql中的 ON UPDATE CURRENT_TIMESTAMP
[binary number learning] - Introduction to trees
Arduino融资3200万美元,进军企业市场
Unexpected token u in JSON at position 0
c#:互斥锁的使用
Typora charges? Build vs Code markdown writing environment
应用配置管理,基础原理分析
1. go deep into tidb: see tidb for the first time
What is domain name resolution? What if the domain name cannot be resolved?
Record the problem location experience when an application is suddenly killed
内网学习笔记(4)