#pragma once#include <vector>#include <string>#include <memory>#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>#include "utils/seg_conf_parser.h"namespacePaddleSolution{classImagePreProcessor{protected:ImagePreProcessor(){};public:virtual~ImagePreProcessor(){}virtualboolsingle_process(conststd::string&fname,float*data,int*ori_w,int*ori_h)=0;virtualboolbatch_process(conststd::vector<std::string>&imgs,float*data,int*ori_w,int*ori_h)=0;};// end of class ImagePreProcessorstd::shared_ptr<ImagePreProcessor>create_processor(conststd::string&config_file);}// end of namespace paddle_solution