You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.1 KiB
C

#pragma once
#include <string>
#include "LibEasyOCR-CPP-Export.h"
namespace uns
{
namespace easyocr
{
enum class LIBEASYOCRCPP_API GPUUsage
{
ForceGPU, // ǿ<><C7BF>ʹ<EFBFBD><CAB9>GPU<50><55>ʧ<EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD><EFBFBD><EFBFBD>
PreferGPU, // <20><><EFBFBD><EFBFBD>GPU<50><55>ʧ<EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD>
CPUOnly // <20><>ʹ<EFBFBD><CAB9>CPU
};
enum class LIBEASYOCRCPP_API CharsetType
{
EN, //Ӣ<><D3A2>
EN_CH //Ӣ<><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
}
class LIBEASYOCRCPP_API OCRConfig
{
private:
easyocr::GPUUsage gpu_usage;
easyocr::CharsetType language;
public:
OCRConfig();
OCRConfig(const OCRConfig& obj) = delete;
OCRConfig(const std::wstring& detect_model, const std::wstring& reco_model, easyocr::CharsetType language, easyocr::GPUUsage gpu = easyocr::GPUUsage::PreferGPU);
public:
easyocr::GPUUsage GetGPUUsage() const;
easyocr::CharsetType GetLanguage() const;
std::wstring GetDetectModelPath() const;
std::wstring GetRecognizeModelPath() const;
public:
void SetGPUUsage(easyocr::GPUUsage usage);
void SetLanguage(easyocr::CharsetType type);
void SetDetectModelPath(const std::wstring& path);
void SetRecognizeModelPath(const std::wstring& path);
};
extern OCRConfig G_OCRConfig;
}