Subversion Repositories seema-scanner

Rev

Rev 245 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 245 Rev 255
Line 60... Line 60...
60
        outputFrames[i].create(nRows, nCols, CV_32FC3);
60
        outputFrames[i].create(nRows, nCols, CV_32FC3);
61
        outputFrames[i].setTo(0.0);
61
        outputFrames[i].setTo(0.0);
62
    }
62
    }
63
 
63
 
64
    #pragma omp parallel for
64
    #pragma omp parallel for
65
    for(unsigned int j=0; j<nShutters; j++){
65
    for(int j=0; j<nShutters; j++){
66
 
66
 
67
        std::vector<cv::Mat> frameChannels;
67
        std::vector<cv::Mat> frameChannels;
68
        cv::split(frames[j*nHDRFrames], frameChannels);
68
        cv::split(frames[j*nHDRFrames], frameChannels);
69
 
69
 
70
        cv::Mat mask = (frameChannels[0] < 0.99) & (frameChannels[1] < 0.99) & (frameChannels[2] < 0.99);
70
        cv::Mat mask = (frameChannels[0] < 0.99) & (frameChannels[1] < 0.99) & (frameChannels[2] < 0.99);
Line 80... Line 80...
80
    hdrFrames = outputFrames;
80
    hdrFrames = outputFrames;
81
}
81
}
82
 
82
 
83
void SMReconstructionWorker::reconstructPointCloud(const SMFrameSequence &frameSequence){
83
void SMReconstructionWorker::reconstructPointCloud(const SMFrameSequence &frameSequence){
84
 
84
 
-
 
85
    std::cout << "reconstructPointCloud" << std::endl;
-
 
86
 
85
    time.start();
87
    time.start();
86
 
88
 
87
    QSettings settings;
89
    QSettings settings;
88
 
90
 
89
    // Get current calibration
91
    // Get current calibration
Line 111... Line 113...
111
    else{
113
    else{
112
        std::cerr << "SLScanWorker: invalid codec (Please set codec in preferences): " << codec.toStdString() << std::endl;
114
        std::cerr << "SLScanWorker: invalid codec (Please set codec in preferences): " << codec.toStdString() << std::endl;
113
        return; // otherwise segfault TODO no default?
115
        return; // otherwise segfault TODO no default?
114
    }
116
    }
115
 
117
 
116
    // Convert data to floating point and debayer
-
 
117
    unsigned int nFrames = frameSequence.frames0.size();
-
 
118
 
-
 
119
    std::vector<cv::Mat> frames0, frames1;
118
    std::vector<cv::Mat> frames0, frames1;
120
    debayerAndFloat(frameSequence.frames0, frames0);
119
    debayerAndFloat(frameSequence.frames0, frames0);
121
    debayerAndFloat(frameSequence.frames1, frames1);
120
    debayerAndFloat(frameSequence.frames1, frames1);
122
 
121
 
123
    // If HDR sequence, merge frames
122
    // If HDR sequence, merge frames