diff --git a/modules/imgproc/HGImgProcErr.h b/modules/imgproc/HGImgProcErr.h index 197b6d9c..cd6818b4 100644 --- a/modules/imgproc/HGImgProcErr.h +++ b/modules/imgproc/HGImgProcErr.h @@ -4,4 +4,10 @@ /* 一般错误 */ #define HGIMGPROC_ERR_FAIL 0x00003001L +/* OCR初始化错误 */ +#define HGIMGPROC_ERR_OCRINIT 0x00003002L + +/* OCR错误 */ +#define HGIMGPROC_ERR_OCR 0x00003003L + #endif /* __HGIMGPROCERR_H__ */ \ No newline at end of file diff --git a/modules/imgproc/HGOCRHanvon.cpp b/modules/imgproc/HGOCRHanvon.cpp index a2a1a894..112aabab 100644 --- a/modules/imgproc/HGOCRHanvon.cpp +++ b/modules/imgproc/HGOCRHanvon.cpp @@ -53,7 +53,7 @@ HGResult HGOCRHanvon::Init() HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::Init: HWOCR_SDKInitialize fail"); HGBase_DestroyDll(m_dll); m_dll = NULL; - return HGIMGPROC_ERR_FAIL; + return HGIMGPROC_ERR_OCRINIT; } //if (0 == m_refCount) @@ -112,7 +112,7 @@ HGResult HGOCRHanvon::ImageOCR(HGImage image, class HGOCRRetImpl **ocrRet) if (0 != rc) { HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageOCR: HWOCR_RecognizeFile2Str fail in=%s", tmpFileName); - return HGIMGPROC_ERR_FAIL; + return HGIMGPROC_ERR_OCR; } assert(NULL != rst && len > 0); @@ -177,7 +177,7 @@ HGResult HGOCRHanvon::ImageOCRToFile(HGImage image, HGUInt outType, const HGChar { HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageOCR: HWOCR_RecognizeFile fail in=%s, out=%s, tmpdir=%s", tmpFileName, outFileName, tmpDir); - return HGIMGPROC_ERR_FAIL; + return HGIMGPROC_ERR_OCR; } return HGBASE_ERR_OK; @@ -204,7 +204,7 @@ HGResult HGOCRHanvon::ImageTextDirectOCR(HGImage image, HGUInt* direct) HGBase_DeleteFile(tmpFileName); if (0 != rc) { - return HGIMGPROC_ERR_FAIL; + return HGIMGPROC_ERR_OCR; } if (ROT0 == dire) @@ -304,7 +304,7 @@ HGResult HGOCRHanvon::ImageListOCRToFile(HGUInt outType, const HGChar* outFileNa { HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageListOCRToFile: HWOCR_RecognizeFileBatch fail out=%s, tmpdir=%s", outFileName, tmpDir); - ret = HGIMGPROC_ERR_FAIL; + ret = HGIMGPROC_ERR_OCR; } HGBase_DeleteDir(tmpDir); diff --git a/modules/imgproc/HGOCRTesseract.cpp b/modules/imgproc/HGOCRTesseract.cpp index c1c4bdfc..b8f14b3b 100644 --- a/modules/imgproc/HGOCRTesseract.cpp +++ b/modules/imgproc/HGOCRTesseract.cpp @@ -31,7 +31,7 @@ HGResult HGOCRTesseract::Init() if (NULL == m_baseApi) { HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRTesseract::Init: TessBaseAPICreate fail"); - return HGIMGPROC_ERR_FAIL; + return HGIMGPROC_ERR_OCRINIT; } HGChar moduleName[256]; @@ -46,7 +46,7 @@ HGResult HGOCRTesseract::Init() HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRTesseract::Init: TessBaseAPIInit3 fail"); TessBaseAPIDelete(m_baseApi); m_baseApi = NULL; - return HGIMGPROC_ERR_FAIL; + return HGIMGPROC_ERR_OCRINIT; } TessBaseAPISetPageSegMode(m_baseApi, TessPageSegMode::PSM_AUTO_OSD); @@ -103,7 +103,7 @@ HGResult HGOCRTesseract::ImageOCR(HGImage image, class HGOCRRetImpl** ocrRet) { if (image2 != image) HGBase_DestroyImage(image2); - return HGIMGPROC_ERR_FAIL; + return HGIMGPROC_ERR_OCR; } std::vector blockInfo; @@ -176,7 +176,7 @@ HGResult HGOCRTesseract::ImageTextDirectOCR(HGImage image, HGUInt* direct) { if (image2 != image) HGBase_DestroyImage(image2); - return HGIMGPROC_ERR_FAIL; + return HGIMGPROC_ERR_OCR; } TessOrientation orientation; @@ -242,7 +242,7 @@ HGResult HGOCRTesseract::ImageListOCRToFile(HGUInt outType, const HGChar* outFil { if (NULL == m_tiffWriter) { - return HGIMGPROC_ERR_FAIL; + return HGBASE_ERR_FAIL; } if (outType > HGIMGPROC_OCROUTTYPE_OFD || NULL == outFileName) @@ -282,7 +282,7 @@ HGResult HGOCRTesseract::OCRToFile(const HGChar* inFileName, HGUInt outType, con else strcpy(outputbase, outFileName); - ret = HGIMGPROC_ERR_FAIL; + ret = HGIMGPROC_ERR_OCR; TessResultRenderer* pdfRender = TessPDFRendererCreate(outputbase, TessBaseAPIGetDatapath(m_baseApi), FALSE); if (NULL != pdfRender) { @@ -311,7 +311,7 @@ HGResult HGOCRTesseract::OCRToFile(const HGChar* inFileName, HGUInt outType, con else strcpy(outputbase, outFileName); - ret = HGIMGPROC_ERR_FAIL; + ret = HGIMGPROC_ERR_OCR; TessResultRenderer* txtRender = TessTextRendererCreate(outputbase); if (NULL != txtRender) {