allow saveing main viewer image as png
This commit is contained in:
@ -20,6 +20,8 @@
|
||||
#include <QMessageBox>
|
||||
#include <uvosled.h>
|
||||
#include <QFileDialog>
|
||||
#include <opencv2/imgcodecs.hpp>
|
||||
#include <opencv2/imgproc.hpp>
|
||||
|
||||
#include "../profile.h"
|
||||
|
||||
@ -86,10 +88,20 @@ void MainWindow::saveImage()
|
||||
|
||||
void MainWindow::openImage()
|
||||
{
|
||||
QString fileName = QFileDialog::getOpenFileName(this, "Open Image", lastSavedPath_, "*.mat");
|
||||
QString fileName = QFileDialog::getOpenFileName(this, "Open Image", lastSavedPath_, "*.mat *.png");
|
||||
if(!fileName.isEmpty())
|
||||
{
|
||||
cv::Mat image;
|
||||
QStringList tokens = fileName.split('.');
|
||||
if(tokens.back() == "png")
|
||||
{
|
||||
image = cv::imread(fileName.toStdString());
|
||||
if(image.data && image.channels() == 3)
|
||||
cv::cvtColor(image, image, cv::COLOR_BGR2GRAY);
|
||||
image.convertTo(image, CV_32FC1, 1.0/255.0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
cv::FileStorage matf(fileName.toStdString(), cv::FileStorage::READ);
|
||||
try
|
||||
{
|
||||
@ -107,13 +119,17 @@ void MainWindow::openImage()
|
||||
image.release();
|
||||
QMessageBox::warning(this, "Invalid file", "File selected dose not contain a valid image");
|
||||
}
|
||||
else if(!image.data)
|
||||
matf.release();
|
||||
}
|
||||
if(!image.data)
|
||||
{
|
||||
QMessageBox::warning(this, "Can no open", "Can not open file selected");
|
||||
}
|
||||
matf.release();
|
||||
else
|
||||
{
|
||||
ui->mainViewer->setImage(Camera::Image(image, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::enableCapture(bool enable)
|
||||
|
Reference in New Issue
Block a user