国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 行業(yè)資訊 > 【光學(xué)】matlab實(shí)現(xiàn)光學(xué)解包裹及校正

【光學(xué)】matlab實(shí)現(xiàn)光學(xué)解包裹及校正

時(shí)間:2022-07-24 來源: 瀏覽:

【光學(xué)】matlab實(shí)現(xiàn)光學(xué)解包裹及校正

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,完整matlab代碼或者程序定制加qq1575304183。

收錄于合集

1 簡介

2 部分代碼

function varargout = Multi_GUI(varargin) % 可使用guide查看各控件的句柄和回調(diào)函數(shù)位置; % GUIDE v2. 5 ; % 初始化代碼,請(qǐng)勿編輯 gui_Singleton = 1 ; gui_State = struct( ’gui_Name’ , mfilename, ... ’gui_Singleton’ , gui_Singleton, ... ’gui_OpeningFcn’ , @Multi_GUI_OpeningFcn, ... ’gui_OutputFcn’ , @Multi_GUI_OutputFcn, ... ’gui_LayoutFcn’ , [] , ... ’gui_Callback’ , []); if nargin && ischar(varargin{ 1 }) %%判斷輸入變量個(gè)數(shù)及是否為字符組 gui_State.gui_Callback = str2func(varargin{ 1 });%%函數(shù)句柄 end if nargout %%函數(shù)輸出參數(shù)數(shù)目 [varargout{ 1 :nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function Multi_GUI_OpeningFcn(hObject,~,handles,varargin) set(groot, ’defaultimageUserData’ , 0 ); set(groot, ’defaultlineUserData’ , 0 ); handles.output = hObject; guidata(hObject, handles); function varargout = Multi_GUI_OutputFcn(~,~,handles) varargout{ 1 } = handles.output; %曲線放大函數(shù) function p_ButtonDownFcn(hObject,~) if strcmp(get(gcf, ’SelectionType’ ), ’open’ )&&hObject.Children.UserData== 0 %%strcmp比較兩個(gè)字符串,同 10 ; gcf返回當(dāng)前figure;判斷是否是雙擊 ; hObject.Children.UserData= 1 ; S=get( 0 , ’screensize’ ); F_z=figure( ’InnerPosition’ ,[S( 3 )/ 20 ,S( 4 )/ 15 ,S( 3 )* 0.9 ,S( 4 )* 0.9 ], ’Toolbar’ , ’none’ , ’Menubar’ , ’none’ , ’NumberTitle’ , ’Off’ , ’Name’ , ’放大視圖’ ); p_f=hObject.Position; P_f=hObject.Parent; hObject.Parent=F_z; set(gca, ’Position’ ,[ 0.05 , 0.05 , 0.9 , 0.9 ]); F_z.DeleteFcn={@pZoom_DeleteFcn,hObject,P_f,p_f}; end %放大窗口刪除函數(shù)(曲線) function pZoom_DeleteFcn(~,~,a,P_f,p_f) a.Parent=P_f; set(a, ’Position’ ,p_f); a.Children.UserData= 0 ; %云圖繪制函數(shù) function nephogram(ax, data ,CLim,target,unit,biaozhi)%(云圖坐標(biāo)區(qū),云圖數(shù)據(jù),顏色范圍矩陣,標(biāo)題,曲線坐標(biāo)區(qū)) image(ax, data , ’CDataMapping’ , ’scaled’ , ’ButtonDownFcn’ ,{@a_Callback,target,unit,biaozhi});%顯示AoP云圖 直接和縮放顏色數(shù)據(jù)映射 scaled為默認(rèn) set(ax, ’DataAspectRatioMode’ , ’manual’ , ’DataAspectRatio’ ,[ 1 1 1 ]); %設(shè)置各個(gè)坐標(biāo)軸數(shù)據(jù)值的相對(duì)比例 colormap(ax,jet);%色圖矩陣默認(rèn) colorbar(ax);%差值填色圖標(biāo)尺 axis(ax, ’off’ );%坐標(biāo)軸無上下限 caxis(ax,CLim);%設(shè)置顏色條數(shù)值上下限 %單擊圖片后顯示沿截線的分布的回調(diào)函數(shù) function a_Callback(hObject,~,ax,Unit,biaozhi)%ax為曲線所在坐標(biāo)區(qū),Unit為縱軸單位 hObject.HandleVisibility= ’off’ ; %控件的句柄可訪問性為不可訪問 cla(hObject.Parent);%清除已有提示線 hObject.HandleVisibility= ’on’ ; %可以訪問控件的句柄 if strcmp(get(gcf, ’SelectionType’ ), ’open’ )&&hObject.UserData== 0 %若為雙擊且尚未打開放大窗口,則放大該圖片 hObject.UserData= 1 ; S=get( 0 , ’screensize’ ); %屏幕尺寸 C0=hObject.CData; %所畫圖像中用到的數(shù)據(jù) if any(~biaozhi(:)) %any判斷向量中是否存在非零元素,biaozhi中是否有 0 X=find(sum( 1 -biaozhi)~= 0 ); %列求和,生成行向量 Y=find(sum( 1 -biaozhi, 2 )~= 0 ); %行求和,生成列向量 hObject.Parent.XLim=[ 0.5 length(X)+ 0.5 ]; % hObject.Parent.YLim=[ 0.5 length(Y)+ 0.5 ]; % hObject.CData=C0(Y( 1 ):Y( end ),X( 1 ):X( end )); % end [h,w]=size(hObject.CData); %h行數(shù)w列數(shù) cm=colormap(hObject.Parent); F_z=figure( ’Visible’ , ’off’ , ’InnerPosition’ ,[S( 3 )/ 20 ,S( 4 )/ 15 ,S( 3 )* 0.9 ,S( 4 )* 0.9 ], ’Colormap’ ,cm, ’Toolbar’ , ’none’ , ’Menubar’ , ’none’ , ’NumberTitle’ , ’Off’ , ’Name’ , ’放大視圖’ ); ca=copyobj(hObject.Parent,F_z); %復(fù)制圖形對(duì)象及其后代,復(fù)制hObject標(biāo)識(shí)的一個(gè)或多個(gè)圖形對(duì)象并返回新對(duì)象句柄或新對(duì)象數(shù)組。新圖形對(duì)象是F_z指定的圖形對(duì)象的子級(jí) set(gca, ’Position’ ,[ 0.025 , 0.025 , 0.95 , 0.95 ]); ca.Children.ButtonDownFcn={@a_Callback,ax,Unit,biaozhi}; ca.Children.UserData= 1 ; c=colorbar(ca); ca.YAxis.Label.Units= ’pixels’ ; F_z.InnerPosition( 3 )=c.Position( 3 )*F_z.InnerPosition( 3 )+w/h*F_z.InnerPosition( 4 )+ca.TickLength( 2 )*F_z.InnerPosition( 4 )-ca.YAxis.Label.Extent( 1 ); ca.YAxis.Label.Units= ’data’ ; F_z.Visible= ’on’ ; F_z.DeleteFcn={@Copy_DeleteFcn,hObject,C0}; else if ~isempty(ax.Children) %判斷是否為非空 mark=ax.Children.UserData; else mark= 0 ; function popupmenu2_Callback(hObject,~,handles) % #ok<DEFNU> switch get(hObject, ’Value’ ) case 1 if isfield(handles, ’p1’ ) nephogram(handles.axes3,handles.p1,[min(handles.p1(handles.p1~= 0 )),max(handles.p1(handles.p1~= 0 ))],handles.axes4,[],handles.biaozhi)%(云圖坐標(biāo)區(qū),云圖數(shù)據(jù),顏色范圍矩陣,標(biāo)題,曲線坐標(biāo)區(qū)) end case 2 if isfield(handles, ’p2’ ) nephogram(handles.axes3,handles.p2,[min(handles.p2(handles.p2~= 0 )),max(handles.p2(handles.p2~= 0 ))],handles.axes4,[],handles.biaozhi)%(云圖坐標(biāo)區(qū),云圖數(shù)據(jù),顏色范圍矩陣,標(biāo)題,曲線坐標(biāo)區(qū)) end end function pushbutton_save_Callback(~,~,handles) % #ok<DEFNU> path=uigetdir([getenv( ’userprofile’ ), ’desktop’ ], ’選擇φ1和φ2數(shù)據(jù)的保存路徑’ ); if path~= 0 dlmwrite([path, ’phi1.txt’ ],handles.p1); dlmwrite([path, ’phi2.txt’ ],handles.p2); end

3 仿真結(jié)果

4 參考文獻(xiàn)

[1]王永紅, 陳維杰, 鐘詩民,等. 相位解包裹技術(shù)及應(yīng)用研究進(jìn)展[J]. 測控技術(shù), 2018, 037(012):1-7,16.

博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。

部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。

版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請(qǐng)聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時(shí)內(nèi)刪除。
相關(guān)推薦