%% ************************************
% 作者:James_Ray_Murphy
% *******************************************
clear all
close all
clc
%% *************初始相位**************
N = 512;
G = 10;
phi0 = peaks(N)*G; %模拟初始相位
figure(1)
surf(phi0,'FaceColor','interp', 'EdgeColor','none','FaceLighting','phong');
camlight left, axis tight
xlabel('X/Pixels','FontSize',14);ylabel('Y/Pixels','FontSize',14);zlabel('Phase/Radians','FontSize',14);%title('Initial Phase','FontSize',14)
set(figure(1),'name','Initial Phase 3D','Numbertitle','off');
phi = angle(exp(j*phi0)); %包裹相位
figure(2);
imshow(phi,[]);
xlabel('X/Pixels','FontSize',14);ylabel('Y/Pixels','FontSize',14);%title('Wrapped Phase','FontSize',14)
set(figure(2),'name','Wrapped Phase','Numbertitle','off');
axis on
%% *************相位解包裹**************
%********************对包裹相位求一阶偏微分***
% 作者:James_Ray_Murphy
% *******************************************
clear all
close all
clc
%% *************初始相位**************
N = 512;
G = 10;
phi0 = peaks(N)*G; %模拟初始相位
figure(1)
surf(phi0,'FaceColor','interp', 'EdgeColor','none','FaceLighting','phong');
camlight left, axis tight
xlabel('X/Pixels','FontSize',14);ylabel('Y/Pixels','FontSize',14);zlabel('Phase/Radians','FontSize',14);%title('Initial Phase','FontSize',14)
set(figure(1),'name','Initial Phase 3D','Numbertitle','off');
phi = angle(exp(j*phi0)); %包裹相位
figure(2);
imshow(phi,[]);
xlabel('X/Pixels','FontSize',14);ylabel('Y/Pixels','FontSize',14);%title('Wrapped Phase','FontSize',14)
set(figure(2),'name','Wrapped Phase','Numbertitle','off');
axis on
%% *************相位解包裹**************
%********************对包裹相位求一阶偏微分***

这篇博客介绍了如何使用MATLAB实现横向剪切最小二乘相位解包裹算法。首先,模拟了初始相位并展示,接着计算一阶和二阶偏微分,然后通过离散余弦变换(DCT)求解泊松方程,最终得到解包裹后的相位图像。
最低0.47元/天 解锁文章
122





