123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
-
- #include <QMainWindow>
- #include <QFileDialog>
- #include <QDir>
- #include <QMessageBox>
- #include <QShortcut>
- #include <QImage>
- #include <QDebug>
- #include <cmath>
-
- /// Main class for the program.
- ///
- /// This class contains the main functions for the program.
- /// There are functions for merging two images together,
- /// a function that creates a ghost version of the first image on the merge image,
- /// and the functions for the GUI.
-
- namespace Ui {
- class MainWindow;
- }
-
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
-
- public:
- /// \fn MainWindow::MainWindow(QWidget *parent)
- /// \~English
- /// \brief Default Constructor for the MainWindow.
- /// \~Spanish
- /// \brief Constructor por defecto del MainWindow.
- explicit MainWindow(QWidget *parent = 0);
-
- /// \fn void MainWindow::MergeImages(const QImage &objectImage, const QImage &backgroundImage, QImage & mergedImage, int threshold, bool ghost, int x, int y, int offset_x, int offset_y)
- /// \~English
- /// \brief Funcion that merges two images together. It takes an image with any background color
- /// and puts it in another image that will act as a background. (Implements Greenscreen techonology)
- /// \~Spanish
- /// \brief Funcion que fusiona dos imagenes juntas. Toma una image con cualquier color de trasfondo
- /// y lo pone en otra imagen que actual como el trasfondo. (Implementa la tecnologia de trasfondo verde)
- void MergeImages(const QImage &, const QImage &, QImage &, int, bool=false, int=0, int=0, int=0, int=0) ;
-
- /// \fn MainWindow::~MainWindow(QWidget *parent)
- /// \~English
- /// \brief Destructor for the MainWindow.
- /// \~Spanish
- /// \brief Destructor del MainWindow.
- ~MainWindow();
-
- private slots:
- /// \fn void MainWindow::on_ghostBox_clicked()
- /// \~English
- /// \brief Funtion that invokes the thresholdSlider function and creates a
- /// ghost version of the image with greenscreen background.
- /// \~Spanish
- /// \brief Funcion que invoca la funcion thresholdSlider y crea una version
- /// fantasma de la imagen con el trasfondo verde.
- void on_ghostBox_clicked();
-
- /// \fn void MainWindow::on_btnSelectImage_clicked()
- /// \~English
- /// \brief Display the file browsing window to load an image. (Green Background)
- /// \~Spanish
- /// \brief Despliega la ventana de busqueda de archivos para subir una imagen. (Trasfondo verde)
- void on_btnSelectImage_clicked();
-
- /// \fn void MainWindow::on_btnSelectBackground_clicked()
- /// \~English
- /// \brief Display the file browsing window to load a background image.
- /// \~Spanish
- /// \brief Despliega la ventana de busqueda de archivos para subir una imagen para el trasfondo.
- void on_btnSelectBackground_clicked();
-
- /// \fn void MainWindow::on_btnMergeImages_clicked()
- /// \~English
- /// \brief Invokes the function that merges the green screen image with the background image,
- /// then displays the merged image.
- /// \~Spanish
- /// \brief Invoca la funcion que fusional la imagen con transfondo verde con la imagen de transfondo,
- /// entonces displiega la imagen fusionada.
- void on_btnMergeImages_clicked();
-
- /// \fn void MainWindow::on_btnSaveImage_clicked()
- /// \~English
- /// \brief Displays the file browse window to choose the path to save
- /// the merged image in the file system.
- /// \~Spanish
- /// \brief Despliega la ventana de busqueda de archivos para escoger un camino
- /// guardar la imagen fusionada en el sistema de archivos.
- void on_btnSaveImage_clicked();
-
- /// \fn void MainWindow::Mouse_Pressed()
- /// \~English
- /// \brief Function that gets the coordinates of the image with the greenscreen.
- /// \~Spanish
- /// \brief Funcion que obtiene las coordenada de la imagen con el trasfondo verde.
- void Mouse_Pressed();
-
- /// \fn void MainWindow::Mouse_Pressed()
- /// \~English
- /// \brief Function that gets the coordinaates of the image with the final background.
- /// \~Spanish
- /// \brief Funcion que obtiene las coordenada de la imagen con el trasfondo final.
- void Mouse_PressedBackground() ;
-
- /// \fn void MainWindow::on_thresholdSlider_actionTriggered()
- /// \~English
- /// \brief Invokes the function that merges the green screen image with the background image.
- /// \~Spanish
- /// \brief Invoca la funcion que fusiona la imagen de trasfondo verde con la imagen del trasfondo final.
- void on_thresholdSlider_actionTriggered();
-
- private:
- Ui::MainWindow *ui;
- QImage originalImage;
- QImage backgroundImage;
- QImage mergedImage;
- };
-
- #endif // MAINWINDOW_H
|