四步相移法讨论

qq_32754891 2017-08-25 11:10:44
%% 调制后的图像相位计算
for i=1:512
for j=1:512
if (I1(i,j)==I3(i,j))
if(I2(i,j)>I4(i,j))
I(i,j)=pi/2;
elseif(I2(i,j)<I4(i,j))
I(i,j)=3*pi/2;
else
I(i,j)=0;
end
elseif (I1(i,j)>I3(i,j))
if I2(i,j)>=I4(i,j)
I(i,j)=atan((I2(i,j)-I4(i,j))/(I1(i,j)-I3(i,j)));
else
I(i,j)=2*pi-atan((I4(i,j)-I2(i,j))/(I1(i,j)-I3(i,j)));
end
else
if I2(i,j)>=I4(i,j)
I(i,j)=pi-atan((I2(i,j)-I4(i,j))/(I3(i,j)-I1(i,j)));
else
I(i,j)=pi+atan((I4(i,j)-I2(i,j))/(I3(i,j)-I1(i,j)));
end
end
end
end

%% 参考图像相位计算
for i=1:512
for j=1:512
if (I5(i,j)==I7(i,j))
if(I6(i,j)>I8(i,j))
phase(i,j)=pi/2;
elseif(I6(i,j)<I8(i,j))
phase(i,j)=3*pi/2;
else
phase(i,j)=0;
end
elseif (I5(i,j)>I7(i,j))
if I6(i,j)>=I8(i,j)
phase(i,j)=atan((I6(i,j)-I8(i,j))/(I5(i,j)-I7(i,j)));
else
phase(i,j)=2*pi-atan((I8(i,j)-I6(i,j))/(I5(i,j)-I7(i,j)));
end
else
if I6(i,j)>=I8(i,j)
phase(i,j)=pi-atan((I6(i,j)-I8(i,j))/(I7(i,j)-I5(i,j)));
else
phase(i,j)=pi+atan((I8(i,j)-I6(i,j))/(I5(i,j)-I7(i,j)));
end
end
end
end
上面是所贴代码,楼主想法是这个代码的意思是不是根据所移动相位差,而提取从而构造新的一个相位图,也就是I(i,j)和phase(i,j),希望有人看到,指导一下
...全文
701 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
种大王 2019-01-09
  • 打赏
  • 举报
回复
谢谢,很有用
内容概要:本文详细介绍了单目视觉结构光三维重建技术,特别是互补格雷码四步相移和多频外差四步相移的Matlab实现。文章首先解释了结构光三维重建的基本原理,即通过光学三角测量原理,将特定光栅模式投影到物体表面并捕捉变形后的光栅图像,从而恢复物体表面的三维形状。接下来,分别阐述了两种相移的具体实现步骤,包括光栅生成、图像捕捉、相移处理等。此外,还讨论了从加载标定结果到最后生成点云的完整流程,强调了每个环节的重要性和优化要点。最后,提供了关于光栅测量的相关咨询,如精度、抗干扰能力和测量范围等方面的问题。 适合人群:对计算机视觉和三维重建感兴趣的科研人员、工程师和技术爱好者,尤其是那些希望深入了解结构光技术和Matlab实现的人群。 使用场景及目标:适用于需要进行高精度三维重建的研究项目或工业应用场景,旨在帮助读者掌握单目视觉结构光技术的核心原理及其Matlab实现方,提升三维重建的效果和效率。 其他说明:文中不仅涵盖了理论知识,还包括具体的实现细节和注意事项,为读者提供了一个全面的学习和实践指导。同时,针对光栅测量的实际问题进行了探讨,有助于解决实际操作中的难题。

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧