当前位置:网站首页>[image fusion] image fusion based on pseudo Wigner distribution (PWD) with matlab code
[image fusion] image fusion based on pseudo Wigner distribution (PWD) with matlab code
2022-06-24 07:21:00 【Matlab scientific research studio】
1 brief introduction
A method based on pseudo Wigner distribution is proposed (PWVD) Fusion method . Using one dimension N Sliding windows of pixels in all directions Perform pseudo Wigner transform on each image to be fused , Select the direction with the largest root mean square as the direction of each image to be fused PWVD Decomposition direction , The energy spectrum of different frequency bands of the image to be fused is decomposed , then , For each to be integrated Energy spectrum of the same frequency band , The fusion principle is to maximize the regional energy in the high frequency band , The energy variance in the low frequency band is the largest , Form a fusion energy spectrum with different frequency bands , Last , The energy spectrum is analyzed PWVD inverse transformation , formation Fusion images . For infrared and visible light images , Multi focus image , electronic computer X X-ray tomography (CT) Image and magnetic resonance (MR) Image and infrared and synthetic aperture radar (SAR) The image is fused Examination , The information entropy between the fused image and the image to be fused is compared . Experimental results show that , The fused image using this algorithm retains most of the information of the image to be fused .
2 Part of the code
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 Simulation results

4 reference
[1] Liu Cong , Liyanjun , Zhangke . Image fusion based on pseudo Wigner distribution [J]. Journal of Optics , 2009(10):5.
About bloggers : Good at intelligent optimization algorithms 、 Neural networks predict 、 signal processing 、 Cellular automata 、 The image processing 、 Path planning 、 UAV and other fields Matlab Simulation , relevant matlab Code problems can be exchanged by private letter .
Some theories cite network literature , If there is infringement, contact the blogger to delete .
边栏推荐
- 【图像融合】基于方向离散余弦变换和主成分分析的图像融合附matlab代码
- [WordPress website] 6 Article content copy prevention
- 20个不容错过的ES6技巧
- Arduino raised $32million to enter the enterprise market
- 0 foundation a literature club low code development member management applet (III)
- . Net7 miniapi (special part):preview5 optimizes JWT verification (Part 1)
- Development of IOT device end - establishment of development environment
- [cnpm] tutorial
- Tutorial on simple use of Modbus to BACnet gateway
- 华为云图引擎服务
猜你喜欢

【均衡器】LS均衡器,DEF均衡器以及LMMSE均衡器的误码率性能对比仿真

華為雲數據庫進階學習

【小技巧】使用matlab的深度学习工具箱deepNetworkDesigner快速设计

buuctf misc 从娃娃抓起

【图像融合】基于方向离散余弦变换和主成分分析的图像融合附matlab代码

In JS, the regular expression verifies the hour and minute, and converts the input string to the corresponding hour and minute

关于取模数据序号定位的说明 区码定位是指GBK编码

How can genetic testing help patients fight disease?
![[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

二分专题训练
随机推荐
【帧率倍频】基于FPGA的视频帧率倍频系统verilog开发实现
学会使用楼宇控制系统BACnet网关没那么难
[problem solving] virtual machine configuration static IP
现货黄金有哪些值得借鉴的心态
The P2V and V2V software starwind converter is really easy to use
0 foundation a literature club low code development member management applet (5)
Deploy loglistener in tke container to collect logs to CLS
JVM調試工具-Arthas
前缀和专题训练
Are internal consultants and external consultants in SAP implementation projects difficult or successful? [English version]
Huawei experimental topology set, learning methods are attached at the end of the article!
二分专题训练
Audio knowledge (V) -- data processing
MFC使用控制台时 项目路径中不能有空格和中文,否则会报错误 LNK1342 未能保存要编辑的二进制文件的备份副本等
The third session of freshman engineering education seminar is under registration
JVM调试工具-Arthas
Spark parameter tuning practice
软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选
How can genetic testing help patients fight disease?
JVM调试工具-jstack