#ifndef ANSOnnxOCR_H #define ANSOnnxOCR_H #pragma once #include "opencv2/core.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/imgproc.hpp" #include #include #include #include "ANSOCRBase.h" #include "ANSONNXOCR/PaddleOCRV5Engine.h" namespace ANSCENTER { class ANSOCR_API ANSONNXOCR : public ANSOCRBase { public: virtual bool Initialize(const std::string& licenseKey, OCRModelConfig modelConfig, const std::string& modelZipFilePath, const std::string& modelZipPassword, int engineMode) override; std::vector RunInference(const cv::Mat& input) override; std::vector RunInference(const cv::Mat& input, const std::string& cameraId) override; std::vector RunInference(const cv::Mat& input, const std::vector& Bbox) override; std::vector RunInference(const cv::Mat& input, const std::vector& Bbox, const std::string& cameraId) override; std::pair RecognizeText(const cv::Mat& croppedImage) override; std::vector> RecognizeTextBatch( const std::vector& croppedImages) override; ~ANSONNXOCR(); bool Destroy() override; private: std::unique_ptr _engine = std::make_unique(); std::recursive_mutex _mutex; }; } #endif