allow saveing main viewer image as png
This commit is contained in:
@ -20,6 +20,8 @@
|
|||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <uvosled.h>
|
#include <uvosled.h>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
|
#include <opencv2/imgcodecs.hpp>
|
||||||
|
#include <opencv2/imgproc.hpp>
|
||||||
|
|
||||||
#include "../profile.h"
|
#include "../profile.h"
|
||||||
|
|
||||||
@ -86,10 +88,20 @@ void MainWindow::saveImage()
|
|||||||
|
|
||||||
void MainWindow::openImage()
|
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())
|
if(!fileName.isEmpty())
|
||||||
{
|
{
|
||||||
cv::Mat image;
|
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);
|
cv::FileStorage matf(fileName.toStdString(), cv::FileStorage::READ);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -107,14 +119,18 @@ void MainWindow::openImage()
|
|||||||
image.release();
|
image.release();
|
||||||
QMessageBox::warning(this, "Invalid file", "File selected dose not contain a valid image");
|
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");
|
QMessageBox::warning(this, "Can no open", "Can not open file selected");
|
||||||
}
|
}
|
||||||
matf.release();
|
else
|
||||||
|
{
|
||||||
ui->mainViewer->setImage(Camera::Image(image, 0));
|
ui->mainViewer->setImage(Camera::Image(image, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::enableCapture(bool enable)
|
void MainWindow::enableCapture(bool enable)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user