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