• 大小: 806B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: 其他
  • 标签:

资源简介

基于离散余弦变换的最小二乘法相位解包裹(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


评论

共有 条评论

相关资源