多频外差三维重建

                                                                     结构光三维重建--多频外差

      结构光三维重建主要的原理就是从投影仪中投射一定频率的结构光,这种光跟以前采用的格雷码方式不同,它具有一定的正玄性。而多频外差的方式说的就是采用几种不同频率的正玄光,为什么采用多频外差的方式,从我多年的实践经验来看,多频外差法具有很好的抗干扰、对物体重建出来的细节保留的比较好、精度更高一些。下面我先梳理一下算法细节。

    相移:

        在进行展开相位前,必须先获得每点的包裹相位,其中最成熟最可靠的算法是相移法,该方法已经实现了商品化。相移法[的最大优点还在于求解物体初相位时是点对点的运算,即在原理上某一点的相位值不受相邻点光强值的影响,从而避免了物面反射率不均匀引起的误差。其基本思想是:将一个光强分布呈正弦变化的光栅作为面结构光投影到被测工件表面,所探测的正弦光栅受被测物体表面高度调制产生的光强函数可以用下式表示: (公式不好编辑,只好截图了)       

                            

多频外差算法步骤:

                        

我使用的是5个频率的解码:code 如下

oid MultiPhaseDec::decMultiPhase5(Mat *imgShift,Mat &imgAbsPhase)
{
	//获取wrap相位
	F32 *dPtr  = (F32*)imgAbsPhase.data;
	Mat imgPhase[5] ;
	for(int k=0;k<5;k++)
		imgPhase[k] = Mat::zeros(m_nHeight,m_nWidth,CV_32FC1);
	for(int n = 0;n<4;n++)
	{
			

		F32 *pha=  (F32*)imgPhase[n].data;
		for(int k=0;k < m_nWidth*m_nHeight;k++)
		{
		
			pha[k] =  (float)sqrt(atan2((double)(I1[k]-I3[k]),(double)(I0[k]-I2[k]))) ;
			
		}
	}

	Mat  imgAbsPhase1= Mat::zeros(m_nHeight,m_nWidth,CV_32FC1);
	Mat  imgAbsPhase2= Mat::zeros(m_nHeight,m_nWidth,CV_32FC1);
	Mat  imgAbsPhase3= Mat::zeros(m_nHeight,m_nWidth,CV_32FC1);

	phaseUnWrap(imgPhase[0],imgPhase[1],imgAbsPhase1,m_dFreq[0],m_dFreq[1]);
	phaseUnWrap(imgAbsPhase1,imgPhase[2],imgAbsPhase2,m_dFreq[1],m_dFreq[2]);
	phaseUnWrap(imgAbsPhase2,imgPhase[3],imgAbsPhase3,m_dFreq[2],m_dFreq[3]);
	phaseUnWrap(imgAbsPhase3,imgPhase[4],imgAbsPhase,m_dFreq[3],m_dFreq[4]);
 
    	//ImgShowPhase(imgPhase[0],"0");
   //	ImgShowPhase(imgPhase[1],"1");    
	//ImgShowPhase(imgPhase[2],"2");
    	//ImgShowPhase(imgPhase[3],"3");
    //	ImgShowPhase(imgPhase[4],"4");
//   	cvWaitKey(1000000);
//   
 //      	ImgShowAbsPhase(imgPhase[0],PI2,"abs0");
//     	ImgShowAbsPhase(imgAbsPhase1,3*PI2,"abs1");
//     	ImgShowAbsPhase(imgAbsPhase2,9*PI2,"abs2");
//     	ImgShowAbsPhase(imgAbsPhase3,27*PI2,"abs3");
//     	ImgShowAbsPhase(imgAbsPhase,81*PI2,"abs4");
 //   	cvWaitKey(1000000);
		
	
}

5个频率打出来的光是这个样子的,5个频率的图像还是有点多哈

最后重建的效果如下图:

  

视频:扫描操作视频.avi_免费高速下载|百度网盘-分享无限制

 交流点击:结构光三维重建交流

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Clipp_Huang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值