// Description.h - Obsahuje deklarace funkcí sloužících k segmentaci a popisu objektů
// Autor:   Jan Benda
// Datum:   11.11.2020


#ifndef DESCRIPTION_H
#define DESCRIPTION_H

#include <String>
#include <vector>
#include <fstream>

#include "opencv2/core.hpp"
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>

#include "General.h"

namespace Description
    {
	int getImageInfo(std::string iFilename, std::string iValue);
	int percentile95(cv::Mat& iImage, int threshold);

	bool imageSegmentation(short& iID, const std::string iFilename, cv::Mat & oCroopedGrayscale, cv::Mat & oCroopedBinary);
	bool getFeatures(short& iID, const std::string iFilename, std::vector<std::string>& iFeatureNames, std::vector<float>& iFeatureValues);

	float glcm(const cv::Mat& img, cv::Mat& gl);
    }

#endif /*DESCRIPTION_H*/
