📄 m_sorting_unwrapping.m
字号:
% 按调制度排序的三维位相展开
clear;close all;
N=128; %矩阵大小
FN=32; %条纹数
%--------------------object-------------------
X=1:N;
[X,Y]=meshgrid(X);
obj=hanning(N)*hanning(N)';
Ep=F_cul_mod(N,obj,(X-N/2)/N*2,(Y-N/2)/N*2); %光照模型
Ep2=Ep-min(Ep(:));
Ep2=(Ep2/max(Ep2(:))+1)/2;
figure;imshow(Ep2);
%-------------PMP----------------------
%---生成变形条纹
f1=(1+cos(2*pi*FN*X/N+obj+pi/2))/2.*Ep2;
f2=(1+cos(2*pi*FN*X/N+obj+pi))/2.*Ep2;
f3=(1+cos(2*pi*FN*X/N+obj+3*pi/2))/2.*Ep2;
f4=(1+cos(2*pi*FN*X/N+obj))/2.*Ep2;
figure;imshow(f1)
%----生成参考面条纹
r1=(1+cos(2*pi*FN*X/N+pi/2))/2.*Ep2;
r2=(1+cos(2*pi*FN*X/N+pi))/2.*Ep2;
r3=(1+cos(2*pi*FN*X/N+3*pi/2))/2.*Ep2;
r4=(1+cos(2*pi*FN*X/N))/2.*Ep2;
%-----求相位
ang=atan2((f1-f3),(f2-f4));
angr=atan2((r1-r3),(r2-r4));
ang=ang-angr;
%---求调制度
M=sqrt((f1-f3).^2+(f2-f4).^2);
figure;imshow(M);
;
%----------相位展开------------
time=cputime;
[ang,In]=F_unwrap2(ang,M);
time=cputime-time
%-------------------------
figure;mesh(ang);
figure;imshow(In);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -