mainny ui improcements
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
#include <QDebug>
|
||||
#include <QMessageBox>
|
||||
#include <uvosled.h>
|
||||
#include <QFileDialog>
|
||||
|
||||
#include "../profile.h"
|
||||
|
||||
@ -17,9 +18,62 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
connect(ui->actionProfile, &QAction::triggered, [this](bool checked){(void)checked; sigEditProfiles();});
|
||||
connect(ui->comboBox, &QComboBox::currentTextChanged, this, &MainWindow::sigProfile);
|
||||
connect(ui->pushButtonCapture, &QPushButton::clicked, this, &MainWindow::sigCapture);
|
||||
connect(ui->mainViewer, &CvImageViewer::sigValue, this, &MainWindow::setImageValue);
|
||||
connect(ui->actionOpen, &QAction::triggered, [this](bool checked){(void)checked; openImage();});
|
||||
connect(ui->actionSave_2, &QAction::triggered, [this](bool checked){(void)checked; saveImage();});
|
||||
refreshProfiles();
|
||||
}
|
||||
|
||||
void MainWindow::setImageValue(size_t x, size_t y, double value)
|
||||
{
|
||||
ui->lcdNumber_3->display((double)x);
|
||||
ui->lcdNumber_2->display((double)y);
|
||||
ui->lcdNumber->display(value);
|
||||
}
|
||||
|
||||
void MainWindow::saveImage()
|
||||
{
|
||||
if(!ui->mainViewer->getImage().data)
|
||||
{
|
||||
QMessageBox::warning(this, "No image", "There is no image to save");
|
||||
return;
|
||||
}
|
||||
|
||||
QString fileName = QFileDialog::getSaveFileName(this, "Save Image", "./", "*.mat");
|
||||
if(!fileName.isEmpty())
|
||||
{
|
||||
QStringList tokens = fileName.split('.');
|
||||
if(tokens.back() != "mat")
|
||||
fileName.append(".mat");
|
||||
cv::FileStorage matf(fileName.toStdString(), cv::FileStorage::WRITE);
|
||||
matf<<"image"<<ui->mainViewer->getImage();
|
||||
matf.release();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::openImage()
|
||||
{
|
||||
QString fileName = QFileDialog::getOpenFileName(this, "Open Image", "./", "*.mat");
|
||||
if(!fileName.isEmpty())
|
||||
{
|
||||
cv::Mat image;
|
||||
cv::FileStorage matf(fileName.toStdString(), cv::FileStorage::READ);
|
||||
matf["image"]>>image;
|
||||
|
||||
if(matf.isOpened() && (!image.data || image.type() != CV_32FC1))
|
||||
{
|
||||
image.release();
|
||||
QMessageBox::warning(this, "Invalid file", "File selected dose not contain a valid lightmap");
|
||||
}
|
||||
else if(!image.data)
|
||||
{
|
||||
QMessageBox::warning(this, "Can no open", "Can not open file selected");
|
||||
}
|
||||
matf.release();
|
||||
ui->mainViewer->setImage(Camera::Image(image, 0));
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::addCamera(std::shared_ptr<Camera> camera)
|
||||
{
|
||||
viewers_.push_back(new CvImageViewer(this, camera->id()));
|
||||
@ -28,6 +82,11 @@ void MainWindow::addCamera(std::shared_ptr<Camera> camera)
|
||||
ui->viewerLayout->addWidget(viewers_.back());
|
||||
}
|
||||
|
||||
void MainWindow::statusMsg(QString msg)
|
||||
{
|
||||
ui->statusbar->showMessage(msg);
|
||||
}
|
||||
|
||||
void MainWindow::removeCamera(std::shared_ptr<Camera> camera)
|
||||
{
|
||||
for(size_t i = 0; i < viewers_.size(); ++i)
|
||||
@ -93,4 +152,3 @@ MainWindow::~MainWindow()
|
||||
delete viewer;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user