mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-08 20:40:21 +08:00
Fixed #42
This commit is contained in:
@@ -950,6 +950,16 @@ void DatabaseViewer::extractImages()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList formats;
|
||||||
|
formats.push_back("jpg");
|
||||||
|
formats.push_back("png");
|
||||||
|
bool ok;
|
||||||
|
QString ext = QInputDialog::getItem(this, tr("Which RGB format?"), tr("Format:"), formats, 0, false, &ok);
|
||||||
|
if(!ok)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QString path = QFileDialog::getExistingDirectory(this, tr("Select directory where to save images..."), QDir::homePath());
|
QString path = QFileDialog::getExistingDirectory(this, tr("Select directory where to save images..."), QDir::homePath());
|
||||||
if(!path.isNull())
|
if(!path.isNull())
|
||||||
{
|
{
|
||||||
@@ -1045,20 +1055,20 @@ void DatabaseViewer::extractImages()
|
|||||||
data.uncompressData();
|
data.uncompressData();
|
||||||
if(!data.imageRaw().empty() && !data.rightRaw().empty())
|
if(!data.imageRaw().empty() && !data.rightRaw().empty())
|
||||||
{
|
{
|
||||||
cv::imwrite(QString("%1/left/%2.jpg").arg(path).arg(id).toStdString(), data.imageRaw());
|
cv::imwrite(QString("%1/left/%2.%3").arg(path).arg(id).arg(ext).toStdString(), data.imageRaw());
|
||||||
cv::imwrite(QString("%1/right/%2.jpg").arg(path).arg(id).toStdString(), data.rightRaw());
|
cv::imwrite(QString("%1/right/%2.%3").arg(path).arg(id).arg(ext).toStdString(), data.rightRaw());
|
||||||
UINFO(QString("Saved left/%1.jpg and right/%1.jpg").arg(id).toStdString().c_str());
|
UINFO(QString("Saved left/%1.%2 and right/%1.%2").arg(id).arg(ext).toStdString().c_str());
|
||||||
}
|
}
|
||||||
else if(!data.imageRaw().empty() && !data.depthRaw().empty())
|
else if(!data.imageRaw().empty() && !data.depthRaw().empty())
|
||||||
{
|
{
|
||||||
cv::imwrite(QString("%1/rgb/%2.jpg").arg(path).arg(id).toStdString(), data.imageRaw());
|
cv::imwrite(QString("%1/rgb/%2.%3").arg(path).arg(id).arg(ext).toStdString(), data.imageRaw());
|
||||||
cv::imwrite(QString("%1/depth/%2.png").arg(path).arg(id).toStdString(), data.depthRaw());
|
cv::imwrite(QString("%1/depth/%2.png").arg(path).arg(id).toStdString(), data.depthRaw());
|
||||||
UINFO(QString("Saved rgb/%1.jpg and depth/%1.png").arg(id).toStdString().c_str());
|
UINFO(QString("Saved rgb/%1.%2 and depth/%1.png").arg(id).arg(ext).toStdString().c_str());
|
||||||
}
|
}
|
||||||
else if(!data.imageRaw().empty())
|
else if(!data.imageRaw().empty())
|
||||||
{
|
{
|
||||||
cv::imwrite(QString("%1/%2.jpg").arg(path).arg(id).toStdString(), data.imageRaw());
|
cv::imwrite(QString("%1/%2.%3").arg(path).arg(id).arg(ext).toStdString(), data.imageRaw());
|
||||||
UINFO(QString("Saved %1.jpg").arg(id).toStdString().c_str());
|
UINFO(QString("Saved %1.%2").arg(id).arg(ext).toStdString().c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5484,6 +5484,16 @@ void MainWindow::exportImages()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList formats;
|
||||||
|
formats.push_back("jpg");
|
||||||
|
formats.push_back("png");
|
||||||
|
bool ok;
|
||||||
|
QString ext = QInputDialog::getItem(this, tr("Which RGB format?"), tr("Format:"), formats, 0, false, &ok);
|
||||||
|
if(!ok)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QString path = QFileDialog::getExistingDirectory(this, tr("Select directory where to save images..."), this->getWorkingDirectory());
|
QString path = QFileDialog::getExistingDirectory(this, tr("Select directory where to save images..."), this->getWorkingDirectory());
|
||||||
if(!path.isNull())
|
if(!path.isNull())
|
||||||
{
|
{
|
||||||
@@ -5587,20 +5597,20 @@ void MainWindow::exportImages()
|
|||||||
bool warn = false;
|
bool warn = false;
|
||||||
if(!data.imageRaw().empty() && !data.rightRaw().empty())
|
if(!data.imageRaw().empty() && !data.rightRaw().empty())
|
||||||
{
|
{
|
||||||
cv::imwrite(QString("%1/left/%2.jpg").arg(path).arg(id).toStdString(), data.imageRaw());
|
cv::imwrite(QString("%1/left/%2.%3").arg(path).arg(id).arg(ext).toStdString(), data.imageRaw());
|
||||||
cv::imwrite(QString("%1/right/%2.jpg").arg(path).arg(id).toStdString(), data.rightRaw());
|
cv::imwrite(QString("%1/right/%2.%3").arg(path).arg(id).arg(ext).toStdString(), data.rightRaw());
|
||||||
info = tr("Saved left/%1.jpg and right/%1.jpg.").arg(id);
|
info = tr("Saved left/%1.%2 and right/%1.%2.").arg(id).arg(ext);
|
||||||
}
|
}
|
||||||
else if(!data.imageRaw().empty() && !data.depthRaw().empty())
|
else if(!data.imageRaw().empty() && !data.depthRaw().empty())
|
||||||
{
|
{
|
||||||
cv::imwrite(QString("%1/rgb/%2.jpg").arg(path).arg(id).toStdString(), data.imageRaw());
|
cv::imwrite(QString("%1/rgb/%2.%3").arg(path).arg(id).arg(ext).toStdString(), data.imageRaw());
|
||||||
cv::imwrite(QString("%1/depth/%2.png").arg(path).arg(id).toStdString(), data.depthRaw());
|
cv::imwrite(QString("%1/depth/%2.png").arg(path).arg(id).toStdString(), data.depthRaw());
|
||||||
info = tr("Saved rgb/%1.jpg and depth/%1.png.").arg(id);
|
info = tr("Saved rgb/%1.%2 and depth/%1.png.").arg(id).arg(ext);
|
||||||
}
|
}
|
||||||
else if(!data.imageRaw().empty())
|
else if(!data.imageRaw().empty())
|
||||||
{
|
{
|
||||||
cv::imwrite(QString("%1/%2.jpg").arg(path).arg(id).toStdString(), data.imageRaw());
|
cv::imwrite(QString("%1/%2.%3").arg(path).arg(id).arg(ext).toStdString(), data.imageRaw());
|
||||||
info = tr("Saved %1.jpg.").arg(id);
|
info = tr("Saved %1.%2.").arg(id).arg(ext);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user