#ifndef NORMALIZER_HPP #define NORMALIZER_HPP #include #include "data.hpp" namespace opengaze{ class Normalizer { public: Normalizer(); ~Normalizer(); void estimateHeadPose(const cv::Point2f *landmarks, opengaze::Sample &sample); void setCameraMatrix(cv::Mat input); void loadFaceModel(std::string path); void setParameters(int focal_length, int distance, int img_w, int img_h); cv::Mat normalizeFace(cv::Mat input_image, Sample &sample); std::vector normalizeEyes(cv::Mat input_image, Sample &sample); cv::Mat cvtToCamera(cv::Point3f input, const cv::Mat cnv_mat); private: cv::Mat camera_matrix_; std::vector face_model_; cv::Mat face_model_mat_, cam_norm_; float focal_norm_, distance_norm_; cv::Size roiSize_norm_; }; } #endif //NORMALIZER_HPP