Subversion Repositories seema-scanner

Rev

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

Rev 103 Rev 112
Line 400... Line 400...
400
 
400
 
401
}
401
}
402
 
402
 
403
void SMScanner::on_actionExport_Sets_triggered(){
403
void SMScanner::on_actionExport_Sets_triggered(){
404
 
404
 
-
 
405
    cv::Mat frameBGR;
405
    QString dirName = QFileDialog::getExistingDirectory(this, "Export calibration sets", QString());
406
    QString dirName = QFileDialog::getExistingDirectory(this, "Export calibration sets", QString());
406
    for(unsigned int i=0; i<calibrationData.size(); i++){
407
    for(unsigned int i=0; i<calibrationData.size(); i++){
407
        QString fileName = QString("%1/frame0_%2.png").arg(dirName).arg(i);
408
        QString fileName = QString("%1/frame0_%2.png").arg(dirName).arg(i);
408
        cv::Mat frameBGR;
-
 
409
        cv::cvtColor(calibrationData[i].frame0, frameBGR, CV_RGB2BGR);
409
        cv::cvtColor(calibrationData[i].frame0, frameBGR, CV_RGB2BGR);
410
        cv::imwrite(fileName.toStdString(), frameBGR);
410
        cv::imwrite(fileName.toStdString(), frameBGR);
411
        fileName = QString("%1/frame1_%2.png").arg(dirName).arg(i);
411
        fileName = QString("%1/frame1_%2.png").arg(dirName).arg(i);
412
        cv::cvtColor(calibrationData[i].frame1, frameBGR, CV_RGB2BGR);
412
        cv::cvtColor(calibrationData[i].frame1, frameBGR, CV_RGB2BGR);
413
        cv::imwrite(fileName.toStdString(), frameBGR);
413
        cv::imwrite(fileName.toStdString(), frameBGR);
-
 
414
        // Necessary to prevent memory pileup?
-
 
415
        QCoreApplication::processEvents();
414
    }
416
    }
415
 
417
 
416
}
418
}
417
 
419
 
418
void SMScanner::on_actionExport_Sequences_triggered(){
420
void SMScanner::on_actionExport_Sequences_triggered(){
419
 
421
 
-
 
422
    cv::Mat frameBGR;
420
    QString dirName = QFileDialog::getExistingDirectory(this, "Export frame sequences", QString());
423
    QString dirName = QFileDialog::getExistingDirectory(this, "Export frame sequences", QString());
421
 
-
 
422
    for(unsigned int i=0; i<captureData.size(); i++){
424
    for(unsigned int i=0; i<captureData.size(); i++){
423
        QString seqDirName = QString("%1/sequence_%2").arg(dirName).arg(i);
425
        QString seqDirName = QString("%1/sequence_%2").arg(dirName).arg(i);
424
        if(!QDir().mkdir(seqDirName))
426
        if(!QDir().mkdir(seqDirName))
425
            std::cerr << "Could not create directory " << seqDirName.toStdString() << std::endl;
427
            std::cerr << "Could not create directory " << seqDirName.toStdString() << std::endl;
426
        for(unsigned int j=0; j<captureData[i].frames0.size(); j++){
428
        for(unsigned int j=0; j<captureData[i].frames0.size(); j++){
427
            QString fileName = QString("%1/frames0_%2.png").arg(seqDirName).arg(j);
429
            QString fileName = QString("%1/frames0_%2.png").arg(seqDirName).arg(j);
428
            cv::Mat frameBGR;
-
 
429
            cv::cvtColor(captureData[i].frames0[j], frameBGR, CV_RGB2BGR);
430
            cv::cvtColor(captureData[i].frames0[j], frameBGR, CV_RGB2BGR);
430
            cv::imwrite(fileName.toStdString(), frameBGR);
431
            cv::imwrite(fileName.toStdString(), frameBGR);
-
 
432
            // Necessary to prevent memory pileup?
-
 
433
            QCoreApplication::processEvents();
431
        }
434
        }
432
        for(unsigned int j=0; j<captureData[i].frames1.size(); j++){
435
        for(unsigned int j=0; j<captureData[i].frames1.size(); j++){
433
            QString fileName = QString("%1/frames1_%2.png").arg(seqDirName).arg(j);
436
            QString fileName = QString("%1/frames1_%2.png").arg(seqDirName).arg(j);
434
            cv::Mat frameBGR;
-
 
435
            cv::cvtColor(captureData[i].frames1[j], frameBGR, CV_RGB2BGR);
437
            cv::cvtColor(captureData[i].frames1[j], frameBGR, CV_RGB2BGR);
436
            cv::imwrite(fileName.toStdString(), frameBGR);
438
            cv::imwrite(fileName.toStdString(), frameBGR);
-
 
439
            // Necessary to prevent memory pileup?
-
 
440
            QCoreApplication::processEvents();
437
        }
441
        }
438
    }
442
    }
439
}
443
}
440
 
444
 
441
void SMScanner::on_reconstructButton_clicked(){
445
void SMScanner::on_reconstructButton_clicked(){