#ifndef __HGOCRHANVON_HPP__ #define __HGOCRHANVON_HPP__ #include "HGOCRBase.hpp" #include "../base/HGDef.h" #include "../base/HGInc.h" #include "../base/HGImage.h" #include "../base/HGDll.h" #include "hanwangOCRdetect.h" #include #include class HGOCRHanvon : public HGOCRBase { public: HGOCRHanvon(); virtual ~HGOCRHanvon(); HGResult Init(); HGResult Deinit(); HGResult ImageOCR(HGImage image, class HGOCRRetImpl **ocrRet); HGResult ImageOCRToFile(HGImage image, HGUInt outType, const HGChar *outFileName); HGResult ImageTextDirectOCR(HGImage image, HGUInt* direct); HGResult AddToImageList(HGImage image); HGResult ClearImageList(); HGResult ImageListOCRToFile(HGUInt outType, const HGChar* outFileName, HGImageListOcrFunc func, HGPointer param); private: int HWOCR_SDKInitialize(void** ppstOcrHandle); void HWOCR_SDKExit(void* pstOcrHandle); void HWOCR_InitPdf(); void HWOCR_ExitPdf(); int HWOCR_RecognizeFile2Str(unsigned char* ImgFile, void* pstHandle, char** ppRst, int* pnLen); void HWOCR_FreeStrRst(char** ppRst); int HWOCR_RecognizeFile(unsigned char* ImgFile, unsigned char* OutFile, int nFileType, void* pstHandle, char* pLibDir, char* pTmpDir); int HWOCR_GetFileDirect(unsigned char* ImgFile, void* pstHandle, int* pDirect); #if defined(HG_CMP_MSC) int HWOCR_RecognizeFileBatch(char** ppImageFiles, unsigned char* OutFile, int nFileType, void* pstHandle, char* pLibDir, char* pTmpDir, HWOCR_RecogProgress aFuncRecogProgress, HWOCR_IsCanceled aFuncIsCanceled); #else int HWOCR_RecognizeFileBatch(char** ppImageFiles, unsigned char* OutFile, int nFileType, void* pstHandle, char* pLibDir, char* pTmpDir); #endif #if defined(HG_CMP_MSC) static int RecogProgress(int nPercent); static int IsCanceled(); #endif private: //static HGUInt m_refCount; //static HGOCRHanvon* m_OCR; HGDll m_dll; void* m_ocrHandle; std::vector m_imageList; HGImageListOcrFunc m_func; HGPointer m_param; //HGInt m_FuncRet; }; #endif /* __HGOCRHANVON_HPP__ */