72 lines
1.6 KiB
C++
72 lines
1.6 KiB
C++
#pragma once
|
|
#ifndef CVIMAGE_H
|
|
#define CVIMAGE_H
|
|
#include <QMainWindow>
|
|
#include <QMenu>
|
|
#include <QMenuBar>
|
|
#include <QImage>
|
|
#include <QKeyEvent>
|
|
|
|
#include <opencv2/highgui.hpp>
|
|
#include <QDebug>
|
|
#include <QLabel>
|
|
#include <QPainter>
|
|
#include <QFileDialog>
|
|
#include <QApplication>
|
|
#include <QStatusBar>
|
|
#include<QMessageBox>
|
|
#include<QListWidget>
|
|
#include<vector>
|
|
|
|
#include <opencv2/opencv.hpp>
|
|
#include"cvtab.h"
|
|
class cvImage : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
cvImage();
|
|
~cvImage();
|
|
/* fonction interne*/
|
|
void Mat2QImage(cv::Mat const& src, QImage* dest );
|
|
void QImage2Mat(QImage* const& src, cv::Mat& res);
|
|
|
|
void paintEvent(QPaintEvent* e);
|
|
void keyPressEvent(QKeyEvent* event);
|
|
void mouseMoveEvent(QMouseEvent *event);
|
|
/* fonction a rendre private/protect*/
|
|
void ajoutOnglet();
|
|
|
|
/* fonction a rendre extern (stactic)*/
|
|
void calculHist(cv::Mat& image , int* hist);
|
|
void egalizhist(cv::Mat& imSrc, cv::Mat& imDst);
|
|
void calculHist3(const std::vector<cv::Mat>& image , int* hist);
|
|
void egalizhist3(const std::vector<cv::Mat>& imSrc, std::vector<cv::Mat>& imDst);
|
|
private:
|
|
QMenuBar _menu_bar;
|
|
QMenu* _menu;
|
|
QImage* _image;
|
|
cv::Mat _img;
|
|
cv::Mat _img_eq_rgb;
|
|
cv::Mat _img_eq_rgb1;
|
|
cv::Mat _imgHeq1;
|
|
cvTab _onglet;
|
|
private slots:
|
|
void _open();
|
|
void _rgbView();// visuel de source en rgb + lecteur de pixel rgb
|
|
void _hsvView();// visuel de source en hsv + lecteur de pixel hsv
|
|
void _save();
|
|
|
|
void _egalizeH();
|
|
void _egalizeH3();
|
|
void _egalizeH2();
|
|
|
|
void _histcalc();
|
|
protected:
|
|
void _close();
|
|
|
|
signals:
|
|
void closed();
|
|
};
|
|
#endif
|