


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++)
{
PIXEL *I0 = (PIXEL*)imgShift[4*n+0].data;
PIXEL *I1 = (PIXEL*)imgShift[4*n+1].data;
PIXEL *I2 = (PIXEL*)imgShift[4*n+2].data;
PIXEL *I3 = (PIXEL*)imgShift[4*n+3].data;
F32 *pha= (F32*)imgPhase[n].data;
for(int k=0;k < m_nWidth*m_nHeight;k++)
{
if(pha[k] < 0)
pha[k] += PI2;
dPtr[k] = 0;
}
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);
}
需要其他的可以加QQ1264768501,或者留言
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/68366.html
標籤:機器視覺
