Newer
Older
CasicBioRecNew / casic / iris / CasicIrisInterface.h
#ifndef CASICIRISINTERFACE_H
#define CASICIRISINTERFACE_H

#include "CasicIrisInfo.h"
#include "utils/UtilInclude.h"

namespace casic {
    namespace iris {
        class CasicIrisInterface
        {
        public:
            ~CasicIrisInterface();
            CasicIrisInterface(const CasicIrisInterface&)=delete;
            CasicIrisInterface& operator=(const CasicIrisInterface&)=delete;

            static CasicIrisInterface& getInstance() {
                static CasicIrisInterface instance;
                return instance;
            }

            CasicIrisInfo findEye(CasicIrisInfo irisInfo);
            CasicIrisInfo irisQualityAssess(CasicIrisInfo irisInfo);
            CasicIrisInfo irisCodeExtract(CasicIrisInfo irisInfo);
            CasicIrisInfo irisMatch(CasicIrisInfo irisInfo);

            void setCascadeFile(QString filename);
            void setMinEyeSize(int minEyeSize);
            void setMaxEyeSize(int maxEyeSize);

        private:
            CasicIrisInterface();

            std::string cascadeName = "./model/haarcascade_eye.xml";
            int minEyeSize = 320;
            int maxEyeSize = 480;
            float cutRatio = 0.8;

            cv::CascadeClassifier * cascade;
        };
    }
}


#endif // CASICIRISINTERFACE_H