資源簡介
基于離散余弦變換的最小二乘法相位解包裹(DCT),peaks生成包裹相位圖,用LS-DCT解包裹得到去包裹的真實相位圖

代碼片段和文件信息
%基于離散余弦變換的最小二乘法相位解包裹
clear?all
close?all
clc
tic???????????%??tic(開頭)??toc(結尾)?這2個函數是計算程序運行時間的
?
phi0=peaks(200)*3;
figure(1);surf(phi0);title(‘3D?original?phase?image?‘)??????%??生成3維的圖像
figure(2)
imagesc(phi0)
title(‘2D?original?phase?image‘)
phi=angle(exp(j*phi0));??%??angle是表示圖像相位的,且在[-π,+π]
[mn]=size(phi);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
phi1=zeros(2*m-12*n-1);
phi1(1:m1:n)=phi;
phi1(m+1:2*m-11:n)=phi(m:-1:2:);%phi1是由phi組成的四部分
phi1(1:mn+1:2*n-1)=phi(:n:-1:2);
phi1(m+1:2*m-1n+1:2*n-1)=phi(m:-1:2n:-1:2);
figure(3)
imagesc(phi1)
title(‘wrap?phase?image‘)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
phidx=zeros(2*m-12*n-1);
phidy=zeros(2*m-12*n-1);
phidx(1:2*m-2:)=angle(exp(j*(phi1(2:2*m-1:)-phi1(1:2*m-2:))));%phidx是由phi1的后一行減去前一行的差組成的
phidy(:1:2*n-2)=angle(exp(j*(phi1(:2:2*n-1)-phi1(:1:2*n-2))));%phidy是由phi1的后一列減去前一列的差組成的
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
lou=zeros(2*m-12*n-1);
loudx=zeros(2*m-12*n-1);
loudy=zeros(2*m-12*n-1);
loudx(2:2*m-1:)=phidx(2:2*m-1:)-phidx(1:2*m-2:);%loudx是由phidx的后一行減去前一行的差組成的
loudy(:2:2*n-1)=phidy(:2:2*n-1)-phidy(:1:2*n-2);%loudy是由phidy的后一列減去前一列的差組成的
lou=loudx+loudy;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
PP=fft2(lou);
for?ii=1:2*m-1
????for?jj=1:2*n-1
????????k1=2*cos((ii)*pi/(m));
????????k2=2*cos((jj)*pi/(n));
????????PH(iijj)=PP(iijj)/(k1+k2-4);
?????end
end
phi3=ifft2(PH);
phi3=phi3(1:m1:n);
figure(4)
imagesc(real(phi3))
title(‘unwrapping?phase?by?LS‘)
toc
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1615??2014-07-30?21:14??LSunwrap.m
-----------?---------??----------?-----??----
?????????????????1615????????????????????1
- 上一篇:基于8086的LED點陣漢字顯示
- 下一篇:QT5串口上位機源代碼
評論
共有 條評論