Subversion Repositories seema-scanner

Rev

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

Rev 120 Rev 121
Line 29... Line 29...
29
 
29
 
30
        // Camera 0
30
        // Camera 0
31
        std::vector<cv::Point2f> qci0;
31
        std::vector<cv::Point2f> qci0;
32
        // Convert bayer to grayscale
32
        // Convert bayer to grayscale
33
        cv::Mat temp, gray;
33
        cv::Mat temp, gray;
34
        SMCalibrationSetI.frame0.convertTo(temp, CV_8UC1, 1.0/256.0);
34
//        SMCalibrationSetI.frame0.convertTo(temp, CV_8UC1, 1.0/256.0);
35
        cv::cvtColor(temp, gray, CV_BayerBG2GRAY);
35
        cv::cvtColor(SMCalibrationSetI.frame0, gray, CV_BayerBG2GRAY);
36
        // Extract checker corners
36
        // Extract checker corners
37
        bool success0 = cv::findChessboardCorners(gray, checkerCount, qci0, cv::CALIB_CB_ADAPTIVE_THRESH + cv::CALIB_CB_FAST_CHECK);
37
        bool success0 = cv::findChessboardCorners(gray, checkerCount, qci0, cv::CALIB_CB_ADAPTIVE_THRESH + cv::CALIB_CB_FAST_CHECK);
38
        if(success0){
38
        if(success0){
39
            cv::cornerSubPix(gray, qci0, cv::Size(5, 5), cv::Size(-1, -1),cv::TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 20, 0.001));
39
            cv::cornerSubPix(gray, qci0, cv::Size(5, 5), cv::Size(-1, -1),cv::TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 20, 0.001));
40
            // Draw colored chessboard
40
            // Draw colored chessboard
41
            cv::Mat color;
41
            cv::Mat color;
42
            cv::cvtColor(temp, color, CV_BayerBG2RGB);
42
            cv::cvtColor(SMCalibrationSetI.frame0, color, CV_BayerBG2RGB);
43
            cvtools::drawChessboardCorners(color, checkerCount, qci0, success0, 10);
43
            cvtools::drawChessboardCorners(color, checkerCount, qci0, success0, 10);
44
            SMCalibrationSetI.frame0Result = color;
44
            SMCalibrationSetI.frame0Result = color;
45
        }
45
        }
46
 
46
 
47
        emit newFrameResult(i, 0, success0, SMCalibrationSetI.frame0Result);
47
        emit newFrameResult(i, 0, success0, SMCalibrationSetI.frame0Result);
48
 
48
 
49
        // Camera 1
49
        // Camera 1
50
        std::vector<cv::Point2f> qci1;
50
        std::vector<cv::Point2f> qci1;
51
        // Convert bayer to grayscale
51
        // Convert bayer to grayscale
52
        SMCalibrationSetI.frame1.convertTo(temp, CV_8UC1, 1.0/256.0);
52
//        SMCalibrationSetI.frame1.convertTo(temp, CV_8UC1, 1.0/256.0);
53
        cv::cvtColor(temp, gray, CV_BayerBG2GRAY);
53
        cv::cvtColor(SMCalibrationSetI.frame1, gray, CV_BayerBG2GRAY);
54
        // Extract checker corners
54
        // Extract checker corners
55
        bool success1 = cv::findChessboardCorners(gray, checkerCount, qci1, cv::CALIB_CB_ADAPTIVE_THRESH + cv::CALIB_CB_FAST_CHECK);
55
        bool success1 = cv::findChessboardCorners(gray, checkerCount, qci1, cv::CALIB_CB_ADAPTIVE_THRESH + cv::CALIB_CB_FAST_CHECK);
56
        if(success1){
56
        if(success1){
57
            cv::cornerSubPix(gray, qci1, cv::Size(5, 5), cv::Size(-1, -1),cv::TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 20, 0.001));
57
            cv::cornerSubPix(gray, qci1, cv::Size(5, 5), cv::Size(-1, -1),cv::TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 20, 0.001));
58
            // Draw colored chessboard
58
            // Draw colored chessboard
59
            cv::Mat color;
59
            cv::Mat color;
60
            cv::cvtColor(temp, color, CV_BayerBG2RGB);
60
            cv::cvtColor(SMCalibrationSetI.frame1, color, CV_BayerBG2RGB);
61
            cvtools::drawChessboardCorners(color, checkerCount, qci1, success1, 10);
61
            cvtools::drawChessboardCorners(color, checkerCount, qci1, success1, 10);
62
            SMCalibrationSetI.frame1Result = color;
62
            SMCalibrationSetI.frame1Result = color;
63
        }
63
        }
64
 
64
 
65
        emit newFrameResult(i, 1, success1, SMCalibrationSetI.frame1Result);
65
        emit newFrameResult(i, 1, success1, SMCalibrationSetI.frame1Result);