#ifndef RATEPROCESSING_H #define RATEPROCESSING_H #include #include "processing.h" #include #include class RateProcessing : public Processing { Q_OBJECT public: RateProcessing(QObject *parent = 0); void init(Json::Value json_steps); void reset(); std::map getResults(); const std::vector>& getContours(); void setRateCurNut(bool val); // Processing methods public slots: cv::Mat _dilate(const cv::Mat& input , int kernel_size, int iterations); cv::Mat _threshold(const cv::Mat& input, int ignored, int ignored2); cv::Mat _thresh_otsu(const cv::Mat& input, int ignored, int ignored2); cv::Mat _thresh_color(const cv::Mat& input, int ignored, int ignored2); cv::Mat _erode(const cv::Mat& input , int kernel_size, int iterations); cv::Mat _invert(const cv::Mat& input, int iter, int ignored); cv::Mat _hough(const cv::Mat& input, int canny_1, int canny_2); cv::Mat _fit_ellipse(const cv::Mat& input, int ignored, int ignored2); cv::Mat _rate_spots(const cv::Mat& input, int ignored, int ignored2); cv::Mat _find_contours(const cv::Mat& input, int ignored, int ignored2); cv::Mat _find_contours_resized(const cv::Mat& input, int max_length, int ignored2); cv::Mat _mean_color(const cv::Mat& input, int ignored, int ignored2); private: const cv::Mat* getInput(); // Members private: bool rateCurNut = true; std::map results; std::vector> contours; }; #endif // RATEPROCESSING_H