#pragma once #ifndef CVIMAGE_H #define CVIMAGE_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #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& image , int* hist); void egalizhist3(const std::vector& imSrc, std::vector& 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