#include "opencv2/core.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/imgproc.hpp" #include #include #include #include #include #include #include #include #include #include #include #include namespace PaddleOCR { class Classifier { public: explicit Classifier(std::string model_path); void Run(std::vector img_list, std::vector& ocr_results); void SetParameters(int cls_batch_num, double cls_thresh); void GetParameters(int& cls_batch_num, double& cls_thresh); private: ov::InferRequest infer_request; std::string model_path; std::shared_ptr model; ov::CompiledModel compiled_model; std::recursive_mutex _mutex; double e = 1.0 / 255.0; std::vector mean_ = { 0.5f, 0.5f, 0.5f }; std::vector scale_ = { 0.5f, 0.5f, 0.5f }; int cls_batch_num_ = 1; double cls_thresh = 0.9; std::vector cls_image_shape = { 3, 48, 192 }; std::string GetOpenVINODevice(); // resize ClsResizeImg resize_op_; }; }