三步相移法VS2010-相位计算


三步相移法(VS2010)-相位计算
资源截图
代码片段和文件信息
#include “three_step_phase_shift.h“
#include 


/****************************************************
    功能:构造函数
日期:2016-09-22
作者:lyang
备注:
准备操作-一致性判断,相关初始化
*****************************************************/
ThreeStepPhaseShift::ThreeStepPhaseShift(
          IplImage *imgPhase1
         IplImage *imgPhase2
         IplImage *imgPhase3): 
    imgPhase1(imgPhase1)
    imgPhase2(imgPhase2)
    imgPhase3(imgPhase3)
    mask(0)
    process(0)

{
//一致性判断
    width = imgPhase1->width;
    height = imgPhase1->height;
    if( width  != imgPhase2->width  ||
        width  != imgPhase3->width  ||
        height != imgPhase2->height ||  
        height != imgPhase3->height ) {
        throw “invalid arguments: input images must have same dimension!“;
    }

//创建四副图像,用于显示
    int size = width*height;
    imgColor        = cvCreateImage(cvGetSize(imgPhase1)IPL_DEPTH_8U3);
    imgPhase1Gray = cvCreateImage(cvGetSize(imgPhase1)IPL_DEPTH_8U1);
    imgWrappedPhase = cvCreateImage(cvGetSize(imgPhase1)IPL_DEPTH_32F1);
    imgUnwrappedPhase = cvCreateImage(cvGetSize(imgPhase1)IPL_DEPTH_32F1);

//变量定义
    mask            = new bool [size];
    process         = new bool [size];
    quality        = new float [size];
    range           = new float [size];
    depth           = new float [size];
       
    // initilize matrices
    noiseThreshold = 0.1;
    zscale = 130;
    zskew = 24;

    // init step width for color and single channel images
    step  = width; 

    cout << “width: “ << width << “
height: “ << height << endl;
    cout << “size “ << size << endl;
}

/****************************************************
    功能:析构函数
日期:2016-09-22
作者:lyang
备注:
*****************************************************/
ThreeStepPhaseShift::~ThreeStepPhaseShift() 
{
    cvReleaseImage(&imgPhase1);
    cvReleaseImage(&imgPhase2);
    cvReleaseImage(&imgPhase3);
    cvReleaseImage(&imgColor);
    cvReleaseImage(&imgWrappedPhase);
    delete[] mask;
    delete[] process;
    delete[] quality;
    delete[] depth;
}


/****************************************************
    功能:相位解算
日期:2016-09-22
作者:lyang
备注:
*****************************************************/
void ThreeStepPhaseShift::phaseDecode() 
{
    // Some initializing and optimization( only the sqrt thing )
    float sqrt3 = sqrt(3.);
    //int step = imgPhase1->widthStep;
    
    uchar* ptrPhase1 = (uchar *)imgPhase1->imageData;
    uchar* ptrPhase2 = (uchar *)imgPhase2->imageData;
    uchar* ptrPhase3 = (uchar *)imgPhase3->imageData;
    uchar* ptrColor  = (uchar *)imgColor->imageData;
    uchar* ptrGray  = (uchar *)imgPhase1Gray->imageData;
    float* ptrWrappedPhase  = (float *)imgWrappedPhase->imageData;

    int iiiic;
    
    float phi1;
    float phi2;
    float phi3;

    float phiSum;
    float phiRange;
    float phiMax;
    float phiMin;

    float noise;
    float twoPi = CV_PI * 2;
    int stepc = imgPhase1->widthStep;

    cout << “step “ << step<< endl;

 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-09-22 19:12  Vision_Project_CV
     目录           0  2016-09-22 11:00  Vision_Project_CVDebug
     文件       79360  2016-09-22 11:06  Vision_Project_CVDebugVision_Project.exe
     文件      570200  2016-09-22 11:06  Vision_Project_CVDebugVision_Project.ilk
     文件     1920000  2016-09-22 11:06  Vision_Project_CVDebugVision_Project.pdb
     目录           0  2016-09-22 11:05  Vision_Project_CVVision_Project
     目录           0  2016-09-22 11:07  Vision_Project_CVVision_ProjectDebug
     文件      140436  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebugCL.read.1.tlog
     文件        4090  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebugCL.write.1.tlog
     文件         406  2016-04-18 21:03  Vision_Project_CVVision_ProjectDebugVision_Project.exe.embed.manifest
     文件         472  2016-09-22 11:03  Vision_Project_CVVision_ProjectDebugVision_Project.exe.embed.manifest.res
     文件         381  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebugVision_Project.exe.intermediate.manifest
     文件          77  2016-09-22 11:07  Vision_Project_CVVision_ProjectDebugVision_Project.lastbuildstate
     文件         939  2016-09-22 11:07  Vision_Project_CVVision_ProjectDebugVision_Project.log
     文件         713  2016-04-18 21:56  Vision_Project_CVVision_ProjectDebugVision_Project.vcxprojResolveAssemblyReference.cache
     文件           0  2016-04-18 21:02  Vision_Project_CVVision_ProjectDebugVision_Project.write.1.tlog
     文件         218  2016-04-18 21:02  Vision_Project_CVVision_ProjectDebugVision_Project_manifest.rc
     文件        5334  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebugcl.command.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink-cvtres.read.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink-cvtres.write.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.11888-cvtres.read.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.11888-cvtres.write.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.11888.read.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.11888.write.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.14540-cvtres.read.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.14540-cvtres.write.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.14540.read.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.14540.write.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.19616-cvtres.read.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.19616-cvtres.write.1.tlog
     文件           2  2016-09-22 11:06  Vision_Project_CVVision_ProjectDebuglink.19616.read.1.tlog
............此处省略58个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)