您的位置:首页 > 编程语言 > MATLAB

干涉极值相位提取算法(EVI)----MATLAB实现

2018-01-30 14:19 429 查看
1.极大值与极小值相位提取算法原理:点击打开链接





MATLAB代码如下:

function phi_cor = EVI_fun(I)
% 函数说明:输入的I为MxNx2的矩阵,两幅干涉图的大小为MxN,输入时合并为一个参数I, 输出的phi_cor表示通过EVI提取出的二维包裹相位。

[I_mx I_my] = find(I(:,:,1) == max(max(I(:,:,1))));
delta_E_max = acos(I(I_mx,I_my,2)./I(I_mx,I_my,1))
[m1,n1] = size(delta_E_max);
delta_E1 = sum(sum(delta_E_max));

[I_ix I_iy] = find(I(:,:,1) == min(min(I(:,:,1))));
delta_E_min = acos(I(I_ix,I_iy,2)./I(I_ix,I_iy,1))
[m2,n2] = size(delta_E_min);
delta_E2 = sum(sum(delta_E_min));

delta_E = (delta_E1+ delta_E2)/(m1*n1+m2*n2)

Fz = I(:,:,1)*cos(delta_E) - I(:,:,2);
Fm = I(:,:,1)*sin(delta_E);
phi_cor = atan2(Fz,Fm);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MATLAB