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.
|
|
|
|
#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;
|
|
|
|
|
}
|