小石头,明天带根网线过来!!
//对二维图相位去包裹-1:
//对第一行相位去包裹:
d(1)=0;
for a=1:1:576
for b=1:1:768
unwrap(a,b)=z(a,b);
end
end
c=0;
for a=1:1:767
if (z(1,a+1)-z(1,a))<=-pi/2
c=c+1;
elseif (z(1,a+1)-z(1,a))>=pi/2
c=c-1;
end
d(a+1)=c;
unwrap(1,a+1)=z(1,a+1)+c*pi;
end
//按照第一行展开:
for a=1:1:767
c=d(a);
for b=1:1:575
if (z(b+1,a)-z(b,a))<=-pi/2
c=c+1;
elseif (z(b+1,a)-z(b,a))>=pi/2
c=c-1;
end
unwrap(b+1,a)=z(b+1,a)+c*pi;
end
end
//显示去包裹后第一行:
for a=1:1:768
unwrapx1(a)=unwrap(1,a);
end
xx=1:1:768;
plot(xx,unwrapx1);
//显示去包裹后第300行:
for a=1:1:768
unwrapx300(a)=unwrap(300,a);
end
xx=1:1:768;
plot(xx,unwrapx300);
//将图倒过来显示:
for a=1:1:300
for b=1:1:300
ununwrap(a,b)=400-unwrap(a,b);
end
end
//从310,300点对二维图相位去包裹,阈值设为2:
shift=zeros(576,768);
for a=1:1:576
for b=1:1:768
unwrap(a,b)=z(a,b);
end
end
//对第300列从中间相位去包裹:
d(310)=0;
c=0;
for a=310:1:575
if (z(a+1,300)-z(a,300))>=2
c=c-1;
elseif (z(a+1,300)-z(a,300))<=-2
c=c+1;
end
unwrap(a+1,300)=z(a+1,300)+c*pi;
d(a+1)=c;
end
c=0;
for a=309:-1:1
if (z(a,300)-z(a+1,300))>=2
c=c-1;
elseif (z(a,300)-z(a+1,300))<=-2
c=c+1;
end
unwrap(a,300)=z(a,300)+c*pi;
d(a)=c;
end
//从第300列展开:
for a=1:1:576
c=d(a);
for b=300:1:767
if (z(a,b+1)-z(a,b))<=-2
c=c+1;
elseif (z(a,b+1)-z(a,b))>=2
c=c-1;
end
unwrap(a,b+1)=z(a,b+1)+c*pi;
end
c=d(a);
for b=300:-1:2
if (z(a,b-1)-z(a,b))<=-2
c=c+1;
elseif (z(a,b-1)-z(a,b))>=2
c=c-1;
end
unwrap(a,b-1)=z(a,b-1)+c*pi;
end
end
//判断第300列去包裹后是否合格
c=0;
for a=1:1:575
if (unwrap(a+1,300)-unwrap(a,300))>=pi
c=c+1;
end
end
//计算平均高度差:
for a=1:1:575
t(a)=z(a+1)-z(a);
end
tt=0;
for a=1:1:575
tt=tt+abs(t(a));
end
num=0;
num1=0;
num2=0;
for a=1:1:575
if t(a)>2
num=num+1;
end
if t(a)>pi/2
num1=num1+1;
end
if t(a)>3
num2=num2+1;
end
end
/////////////////////用于测试改变的阈值的去包裹算法
for a=1:1:576
for b=1:1:768
unwrap(a,b)=z(a,b);
end
end
//对第300列从中间相位去包裹:
d(310)=0;
c=0;
p=2;
for a=310:1:575
if (z(a+1,300)-z(a,300))>=p
c=c-1;
elseif (z(a+1,300)-z(a,300))<=-p
c=c+1;
end
unwrap(a+1,300)=z(a+1,300)+c*pi;
d(a+1)=c;
end
c=0;
for a=309:-1:1
if (z(a,300)-z(a+1,300))>=p
c=c-1;
elseif (z(a,300)-z(a+1,300))<=-p
c=c+1;
end
unwrap(a,300)=z(a,300)+c*pi;
d(a)=c;
end
//从第300列展开:
for a=1:1:576
c=d(a);
for b=300:1:767
if (z(a,b+1)-z(a,b))<=-p
c=c+1;
elseif (z(a,b+1)-z(a,b))>=p
c=c-1;
end
unwrap(a,b+1)=z(a,b+1)+c*pi;
end
c=d(a);
for b=300:-1:2
if (z(a,b-1)-z(a,b))<=-p
c=c+1;
elseif (z(a,b-1)-z(a,b))>=p
c=c-1;
end
unwrap(a,b-1)=z(a,b-1)+c*pi;
end
end
//////////////////////////////////////
matlab相移三步法、四步法、五步法及相应的相位解包裹
版权申诉
23 浏览量
2024-04-17
21:39:31
上传
评论
收藏 8.27MB ZIP 举报
依然风yrlf
- 粉丝: 785
- 资源: 1349
最新资源
- 基于matlab实现夜间车牌识别程序(1).rar
- 基于matlab实现图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪.rar
- 基于matlab实现视频监控中车型识别代码,自己写的,希望和大家多多交流.rar
- sdk.config
- 基于matlab实现配电网三相潮流计算方法,对几种常用的配电网潮流计算方法进行了对比分析.rar
- 基于matlab实现配电网潮流 经典33节点 前推回代法潮流计算 回代电流 前推电压 带注释.rar
- 基于matlab实现模拟退火遗传算法的车辆调度问题研究,用MATLAB语言加以实现.rar
- 基于matlab实现蒙特卡洛的的移动传感器节点定位算法仿真代码.rar
- 华中数控系统818用户说明书
- 基于matlab实现卡尔曼滤波器完成多传感器数据融合 对多个机器人的不同传感器数据进行融合估计足球精确位置.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈