#pragma once #include "ANSOCRBase.h" #include "ANSRTOCR/PaddleOCRV5RTEngine.h" #include #include namespace ANSCENTER { class ANSOCR_API ANSRTOCR : public ANSOCRBase { public: ANSRTOCR() : _engine(std::make_unique()) {} ~ANSRTOCR(); 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; bool Destroy() override; private: std::unique_ptr _engine; std::recursive_mutex _mutex; }; } // namespace ANSCENTER