Line 357... |
Line 357... |
357 |
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
357 |
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
358 |
item->setData(0, Qt::UserRole, QPoint(captureData.size()-1, -1));
|
358 |
item->setData(0, Qt::UserRole, QPoint(captureData.size()-1, -1));
|
359 |
item->setCheckState(0, Qt::Checked);
|
359 |
item->setCheckState(0, Qt::Checked);
|
360 |
//ui->captureTreeWidget->addItem(item);
|
360 |
//ui->captureTreeWidget->addItem(item);
|
361 |
|
361 |
|
362 |
for(unsigned int i=0; i<frameSequence.compressedFrames0.size(); i++){
|
362 |
for(unsigned int i=0; i<frameSequence.frames0.size(); i++){
|
363 |
QTreeWidgetItem* subItem = new QTreeWidgetItem(item);
|
363 |
QTreeWidgetItem* subItem = new QTreeWidgetItem(item);
|
364 |
subItem->setText(0, QString("frames %1").arg(i));
|
364 |
subItem->setText(0, QString("frames %1").arg(i));
|
365 |
subItem->setData(0, Qt::UserRole, QPoint(id, i));
|
365 |
subItem->setData(0, Qt::UserRole, QPoint(id, i));
|
366 |
}
|
366 |
}
|
367 |
|
367 |
|
Line 382... |
Line 382... |
382 |
ui->batchCaptureButton->setText("Live View");
|
382 |
ui->batchCaptureButton->setText("Live View");
|
383 |
|
383 |
|
384 |
QPoint idx = item->data(0, Qt::UserRole).toPoint();
|
384 |
QPoint idx = item->data(0, Qt::UserRole).toPoint();
|
385 |
|
385 |
|
386 |
if(idx.y() != -1){
|
386 |
if(idx.y() != -1){
|
387 |
ui->captureCamera0Widget->showImageCV(captureData[idx.x()].compressedFrames0[idx.y()]);
|
387 |
ui->captureCamera0Widget->showImageCV(captureData[idx.x()].frames0[idx.y()]);
|
388 |
ui->captureCamera1Widget->showImageCV(captureData[idx.x()].compressedFrames1[idx.y()]);
|
388 |
ui->captureCamera1Widget->showImageCV(captureData[idx.x()].frames1[idx.y()]);
|
389 |
}
|
389 |
}
|
390 |
|
390 |
|
391 |
// std::cout << "on_captureTreeWidget_itemSelectionChanged" << std::endl;
|
391 |
// std::cout << "on_captureTreeWidget_itemSelectionChanged" << std::endl;
|
392 |
}
|
392 |
}
|
393 |
|
393 |
|
Line 417... |
Line 417... |
417 |
|
417 |
|
418 |
void SMScanner::on_actionExport_Sequences_triggered(){
|
418 |
void SMScanner::on_actionExport_Sequences_triggered(){
|
419 |
|
419 |
|
420 |
QString dirName = QFileDialog::getExistingDirectory(this, "Export frame sequences", QString());
|
420 |
QString dirName = QFileDialog::getExistingDirectory(this, "Export frame sequences", QString());
|
421 |
|
421 |
|
422 |
// for(unsigned int i=0; i<captureData.size(); i++){
|
422 |
for(unsigned int i=0; i<captureData.size(); i++){
|
423 |
// QString seqDirName = QString("%1/sequence_%2").arg(dirName).arg(i);
|
423 |
QString seqDirName = QString("%1/sequence_%2").arg(dirName).arg(i);
|
424 |
// if(!QDir().mkdir(seqDirName))
|
424 |
if(!QDir().mkdir(seqDirName))
|
425 |
// std::cerr << "Could not create directory " << seqDirName.toStdString() << std::endl;
|
425 |
std::cerr << "Could not create directory " << seqDirName.toStdString() << std::endl;
|
426 |
// for(unsigned int j=0; j<captureData[i].frames0.size(); j++){
|
426 |
for(unsigned int j=0; j<captureData[i].frames0.size(); j++){
|
427 |
// QString fileName = QString("%1/frames0_%2.png").arg(seqDirName).arg(j);
|
427 |
QString fileName = QString("%1/frames0_%2.png").arg(seqDirName).arg(j);
|
428 |
// cv::Mat frameBGR;
|
428 |
cv::Mat frameBGR;
|
429 |
// cv::cvtColor(captureData[i].frames0[j], frameBGR, CV_RGB2BGR);
|
429 |
cv::cvtColor(captureData[i].frames0[j], frameBGR, CV_RGB2BGR);
|
430 |
// cv::imwrite(fileName.toStdString(), frameBGR);
|
430 |
cv::imwrite(fileName.toStdString(), frameBGR);
|
431 |
// }
|
431 |
}
|
432 |
// for(unsigned int j=0; j<captureData[i].frames1.size(); j++){
|
432 |
for(unsigned int j=0; j<captureData[i].frames1.size(); j++){
|
433 |
// QString fileName = QString("%1/frames1_%2.png").arg(seqDirName).arg(j);
|
433 |
QString fileName = QString("%1/frames1_%2.png").arg(seqDirName).arg(j);
|
434 |
// cv::Mat frameBGR;
|
434 |
cv::Mat frameBGR;
|
435 |
// cv::cvtColor(captureData[i].frames1[j], frameBGR, CV_RGB2BGR);
|
435 |
cv::cvtColor(captureData[i].frames1[j], frameBGR, CV_RGB2BGR);
|
436 |
// cv::imwrite(fileName.toStdString(), frameBGR);
|
436 |
cv::imwrite(fileName.toStdString(), frameBGR);
|
437 |
// }
|
437 |
}
|
438 |
// }
|
438 |
}
|
439 |
}
|
439 |
}
|
440 |
|
440 |
|
441 |
void SMScanner::on_reconstructButton_clicked(){
|
441 |
void SMScanner::on_reconstructButton_clicked(){
|
442 |
|
442 |
|
443 |
// Set up reconstruction thread
|
443 |
// Set up reconstruction thread
|