DbViewer: EditDepth colormap now matches the one in main window

This commit is contained in:
matlabbe
2019-03-05 10:48:05 -05:00
parent 884d1d7684
commit d85c1c3bcf
6 changed files with 75 additions and 42 deletions

View File

@@ -34,7 +34,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "rtabmap/gui/EditDepthArea.h"
#include <rtabmap/utilite/ULogger.h>
#include <rtabmap/utilite/UCv2Qt.h>
namespace rtabmap {
@@ -55,13 +54,13 @@ EditDepthArea::EditDepthArea(QWidget *parent)
QMenu * colorMap = menu_->addMenu("Depth color map");
colorMapWhiteToBlack_ = colorMap->addAction(tr("White to black"));
colorMapWhiteToBlack_->setCheckable(true);
colorMapWhiteToBlack_->setChecked(true);
colorMapWhiteToBlack_->setChecked(false);
colorMapBlackToWhite_ = colorMap->addAction(tr("Black to white"));
colorMapBlackToWhite_->setCheckable(true);
colorMapBlackToWhite_->setChecked(false);
colorMapRedToBlue_ = colorMap->addAction(tr("Red to blue"));
colorMapRedToBlue_->setCheckable(true);
colorMapRedToBlue_->setChecked(false);
colorMapRedToBlue_->setChecked(true);
colorMapBlueToRed_ = colorMap->addAction(tr("Blue to red"));
colorMapBlueToRed_->setCheckable(true);
colorMapBlueToRed_->setChecked(false);
@@ -156,6 +155,32 @@ void EditDepthArea::resetChanges()
update();
}
void EditDepthArea::setColorMap(uCvQtDepthColorMap type)
{
if(type == uCvQtDepthBlackToWhite)
{
colorMapBlackToWhite_->setChecked(true);
}
else if(type == uCvQtDepthRedToBlue)
{
colorMapRedToBlue_->setChecked(true);
}
else if(type == uCvQtDepthBlueToRed)
{
colorMapBlueToRed_->setChecked(true);
}
else
{
colorMapWhiteToBlack_->setChecked(true);
}
if(!originalImage_.empty())
{
image_ = uCvMat2QImage(originalImage_, true, type).convertToFormat(QImage::Format_RGB32);
update();
}
}
void EditDepthArea::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
@@ -332,25 +357,20 @@ void EditDepthArea::contextMenuEvent(QContextMenuEvent * e)
action == colorMapRedToBlue_ ||
action == colorMapBlueToRed_)
{
if(!originalImage_.empty())
uCvQtDepthColorMap colorMap = uCvQtDepthWhiteToBlack;
if(colorMapBlackToWhite_->isChecked())
{
uCvQtDepthColorMap colorMap = uCvQtDepthWhiteToBlack;
if(colorMapBlackToWhite_->isChecked())
{
colorMap = uCvQtDepthBlackToWhite;
}
else if(colorMapRedToBlue_->isChecked())
{
colorMap = uCvQtDepthRedToBlue;
}
else if(colorMapBlueToRed_->isChecked())
{
colorMap = uCvQtDepthBlueToRed;
}
image_ = uCvMat2QImage(originalImage_, true, colorMap).convertToFormat(QImage::Format_RGB32);
update();
colorMap = uCvQtDepthBlackToWhite;
}
else if(colorMapRedToBlue_->isChecked())
{
colorMap = uCvQtDepthRedToBlue;
}
else if(colorMapBlueToRed_->isChecked())
{
colorMap = uCvQtDepthBlueToRed;
}
this->setColorMap(colorMap);
}
else if(action == resetChanges_)
{