facelandmarks.h
984 Bytes
#ifndef FACELANDMARKS_H
#define FACELANDMARKS_H
#include <opencv2/opencv.hpp>
#include<MNN/Interpreter.hpp>
#include<MNN/ImageProcess.hpp>
#include<iostream>
#include<memory>
using namespace std;
using namespace cv;
using namespace MNN;
class FaceLandmarks{
public:
int num_thread = 2;
MNNForwardType forward_type = MNN_FORWARD_CPU;
public:
FaceLandmarks();
// ~FaceLandmarks();
FaceLandmarks(string model_path){
init_model(model_path);
};
bool init_model(string model_path);
vector<vector<float>> inference(string image_path);
vector<vector<float>> inference(Mat image);
private:
bool model_init;
float normal[3]={1.0f/256.f,1.0f/256.f,1.0f/256.f};
std::shared_ptr<MNN::Interpreter> pfld_interpreter = nullptr;
MNN::Session* session = nullptr;
MNN::Tensor* input_tensor = nullptr;
shared_ptr<MNN::CV::ImageProcess> pretreat;
};
#endif