m_sorting_unwrapping.m

来自「在理想情况下采用非可靠度导向的顺序扫描法或菱形算法等相位展开的基本方法可以正确展」· M 代码 · 共 44 行

M
44
字号
% 按调制度排序的三维位相展开
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 + =
减小字号Ctrl + -
显示快捷键?