Subversion Repositories seema-scanner

Rev

Rev 113 | Rev 120 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 113 Rev 114
Line 430... Line 430...
430
//        cv::Vec3b c1 = getColorSubpix(color1, q1[i]);
430
//        cv::Vec3b c1 = getColorSubpix(color1, q1[i]);
431
 
431
 
432
        color[i] = 0.5*c0 + 0.5*c1;
432
        color[i] = 0.5*c0 + 0.5*c1;
433
    }
433
    }
434
 
434
 
-
 
435
    //cv::correctMatches(calibration.F, q0, q1, q0, q1);
-
 
436
    // correct lens distortion
-
 
437
    cv::undistortPoints(q0, q0, calibration.K0, calibration.k0, cv::noArray(), calibration.K0);
-
 
438
    cv::undistortPoints(q1, q1, calibration.K1, calibration.k1, cv::noArray(), calibration.K1);
-
 
439
    cv::correctMatches(calibration.F, q0, q1, q0, q1);
-
 
440
 
435
    // triangulate points
441
    // triangulate points
436
    cv::Mat P0(3, 4, CV_32F, cv::Scalar(0.0));
442
    cv::Mat P0(3, 4, CV_32F, cv::Scalar(0.0));
437
    cv::Mat(calibration.K0).copyTo(P0.colRange(0, 3));
443
    cv::Mat(calibration.K0).copyTo(P0.colRange(0, 3));
438
 
444
 
439
    cv::Mat P1(3, 4, CV_32F), temp(3,4,CV_32F);
445
    cv::Mat P1(3, 4, CV_32F), temp(3,4,CV_32F);
440
    cv::Mat(calibration.R1).copyTo(temp(cv::Range(0,3), cv::Range(0,3)));
446
    cv::Mat(calibration.R1).copyTo(temp(cv::Range(0,3), cv::Range(0,3)));
441
    cv::Mat(calibration.T1).copyTo(temp(cv::Range(0,3), cv::Range(3,4)));
447
    cv::Mat(calibration.T1).copyTo(temp(cv::Range(0,3), cv::Range(3,4)));
442
    P1 = cv::Mat(calibration.K1) * temp;
448
    P1 = cv::Mat(calibration.K1) * temp;
443
 
449
 
444
    cv::correctMatches(calibration.F, q0, q1, q0, q1);
-
 
445
 
-
 
446
    cv::Mat QMatHomogenous, QMat;
450
    cv::Mat QMatHomogenous, QMat;
447
    cv::triangulatePoints(P0, P1, q0, q1, QMatHomogenous);
451
    cv::triangulatePoints(P0, P1, q0, q1, QMatHomogenous);
448
 
452
 
449
    cvtools::convertMatFromHomogeneous(QMatHomogenous, QMat);
453
    cvtools::convertMatFromHomogeneous(QMatHomogenous, QMat);
450
    cvtools::matToPoints3f(QMat, Q);
454
    cvtools::matToPoints3f(QMat, Q);