Newer
Older
AppendIrisCodeUtils / casic / iris / CasicSegPostProcess.h
TAN YUE on 14 Dec 2023 984 bytes 20231214 选择文件进行特征值编码
#ifndef CASIC_SEG_POST_PROCESS
#define CASIC_SEG_POST_PROCESS

#include <opencv2/opencv.hpp>
#include "CasicSegResult.h"

namespace iristrt
{

class CasicSegPostProcess
{

public:

    bool postProcess(cv::Mat & mask, cv::Mat & iris, cv::Mat & pupil, std::vector<int> & irisCircle, std::vector<int> & pupilCircle);

private:

    std::vector<cv::Mat> getConnections(cv::Mat input, int connectivity);

    void showConnections(std::vector<cv::Mat> conns);

    std::vector<CasicTriplet> getTripleSet(std::vector<cv::Mat> maskConns, std::vector<cv::Mat> irisConns, std:: vector<cv::Mat> pupilConns, int chessboardDistance);

    void showTriple(CasicTriplet triple);

    int getChessboardDistance(cv::Mat con1, cv::Mat con2, int chessboardDistance);

    CasicTriplet getMaxTriple(std::vector<CasicTriplet> tripleSet);

    std::vector<int> leastSquareCircleFitting(std::vector<cv::Point> counter);

}; // end of class CasicSegPostProcess
    
} // end of namespace iristrt

#endif