【三维重建】多频外差相位展开(C++实现)

在结构光三维重建中,通过相移法求解出来的相位是包裹相位(在 [-π/2,π/2] 间成周期性 )

我们想要用相位找到相机与投影仪间的对应像素,就需要进行相位展开,确保每一行的相位值是唯一的。

多频外差是相位展开的一种,接下来我们会介绍它的原理,以及代码。

多频外差的原理是将两种不同频率的相位函数叠加得到一个频率更低的相位函数,设\varphi _1(x), \varphi_2(x)对应的周期分别是T1 =80 ,T2 = 60

\varphi_{12}(x) 是\varphi_2(x),\varphi_2(x)合成的相位

T12 = \frac{T1*T2}{T1-T2}=\frac{80*60}{80-60}=240

\varphi_{12}(x)=\left\{\begin{matrix} \varphi_2(x)-\varphi_1(x) \ \ \ \ \ \ \ \ \ \ if\ \varphi_2(x)>\varphi_1(x) \\ \\ 2\pi - (\varphi_1(x)-\varphi_2(x)) \ \ \ if \ \varphi_2(x)<=\varphi_1(x) \end{matrix}\right.

利用\varphi_{12}(x)求解阶次

如果求取\varphi_1(x)的阶次:

order = (\varphi_{12} *\frac{T12}{T1}-\varphi_1) / 2\pi

如何理解这个公式?

\frac{T12}{T1} = \frac{ab'}{ab}=\frac{b'c'}{bd}=\frac{bc}{bd}

\varphi_{12} *\frac{T12}{T1} 之后,\varphi_{12}, \varphi_1会重合

(\varphi_{12} *\frac{T12}{T1} - \varphi_1) / 2\pi 就能得到\varphi_1的阶次

最后就可以求出绝对相位

\phi_1 = \varphi_1+k *2\pi (k是求得的阶次)

猜你喜欢

转载自blog.csdn.net/holle_world_ldx/article/details/134849779