27 lines
609 B
C++
27 lines
609 B
C++
#ifndef __MobileFaceFeatureDnn_H
|
|
#define __MobileFaceFeatureDnn_H
|
|
|
|
#include <vector>
|
|
#include <opencv2/opencv.hpp>
|
|
|
|
class MobileFaceFeatureDnn
|
|
{
|
|
public:
|
|
static MobileFaceFeatureDnn* GetInstance();
|
|
|
|
int GetFaceFeature(cv::Mat& img, const float* landmarks, float* feature);
|
|
|
|
private:
|
|
MobileFaceFeatureDnn();
|
|
~MobileFaceFeatureDnn();
|
|
|
|
cv::Mat estimateTrans(std::vector<cv::Point2f>& srcLmks, std::vector<cv::Point2f>& dstLmks);
|
|
cv::Mat FaceAlign(const cv::Mat& inputImage, const float* landmarks);
|
|
|
|
private:
|
|
static MobileFaceFeatureDnn* m_instance;
|
|
cv::dnn::Net mobile_onnx;
|
|
std::mutex v6_mt;
|
|
};
|
|
|
|
#endif |