This commit is contained in:
gb 2022-07-28 17:39:12 +08:00
commit cf7676650e
2 changed files with 30 additions and 35 deletions

View File

@ -772,9 +772,7 @@ namespace hg_imgproc
#if ((!defined x86_64) && (!defined WIN32))
//linux x86_64 暂时没有OCR三方
#ifndef test
ret = HWOCR_SDKInitialize(&pHanld);
ret = HWOCR_SDKInitialize(&pHanld);
for (size_t i = 0; i < mats.size(); i++)
{
ret = HWOCR_GetFileDirectImage(const_cast<uchar*>(mats[i].data),mats[i].cols,mats[i].rows,mats[i].channels()== 1 ? TColorType::EGray256:TColorType::EColor16M,pHanld,&pDirect);
@ -791,50 +789,47 @@ namespace hg_imgproc
CImageApplyRotation(CImageApplyRotation::RotationType(pDirect)).apply(mats[i],false);
mats_.push_back(mats[i]);
}
HWOCR_SDKExit(pHanld);
HWOCR_SDKExit(pHanld);
#else
typedef int (*sdkinit)(void *);
typedef int (*sdkinit)(void *);
typedef int (*sdkgetfiledirectimage)(unsigned char*pbImage, int nWidth, int nHeight, TColorType nColorType, void *pstHandle, int *pDirect);
typedef int (*sdkexit)(void *);
void *hanlde = dlopen("/home/hg/sane/release/kylin/mips64/libhwocrdetect.so",RTLD_LAZY);
if(!hanlde)
void *hanlde = dlopen("/home/hg/sane/release/kylin/mips64/libhwocrdetect.so",RTLD_LAZY);
if(!hanlde)
{
return -1;
}
sdkinit init = (sdkinit)dlsym(hanlde , "HWOCR_SDKInitialize");
sdkgetfiledirectimage d = (sdkgetfiledirectimage)dlsym(hanlde , "HWOCR_GetFileDirectImage");
sdkexit e= (sdkexit)dlsym(hanlde , "HWOCR_SDKExit");
sdkinit init = (sdkinit)dlsym(hanlde , "HWOCR_SDKInitialize");
sdkgetfiledirectimage d = (sdkgetfiledirectimage)dlsym(hanlde , "HWOCR_GetFileDirectImage");
sdkexit e= (sdkexit)dlsym(hanlde , "HWOCR_SDKExit");
printf("init :%x d:%x e:%x\r\n",init,d,e);
printf("init :%x d:%x e:%x\r\n",init,d,e);
if (init && d && e)
{
ret = init(&pHanld);
if(ret != 0)
{
return SCANNER_ERR_ACCESS_DENIED;
}
for (size_t i = 0; i < mats.size(); i++)
ret = init(&pHanld);
if(ret != 0)
return SCANNER_ERR_ACCESS_DENIED;
for (size_t i = 0; i < mats.size(); i++)
{
ret = d(const_cast<uchar*>(mats[i].data),mats[i].cols,mats[i].rows,mats[i].channels()== 1 ? TColorType::EGray256:TColorType::EColor16M,pHanld,&pDirect);
if(ret != 0)
{
return SCANNER_ERR_NO_DATA;
}
ret = d(const_cast<uchar*>(mats[i].data),mats[i].cols,mats[i].rows,mats[i].channels()== 1 ? TColorType::EGray256:TColorType::EColor16M,pHanld,&pDirect);
if(ret != 0)
return SCANNER_ERR_NO_DATA;
if(pDirect == 1)
pDirect = 3;
else if(pDirect == 3)
pDirect = 1;
if(pDirect == 1)
pDirect = 3;
else if(pDirect == 3)
pDirect = 1;
CImageApplyRotation(CImageApplyRotation::RotationType(pDirect)).apply(mats[i],false);
mats_.push_back(mats[i]);
}
CImageApplyRotation(CImageApplyRotation::RotationType(pDirect)).apply(mats[i],false);
mats_.push_back(mats[i]);
}
}
e(pHanld) ;
e(pHanld) ;
dlclose(hanlde);
#endif
#endif
dlclose(hanlde);
return ret;
}
int size_detection()

View File

@ -15,10 +15,10 @@ file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp")
set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS})
add_library(${PROJECT_NAME} SHARED ${DIR_SRCS})
link_directories(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../../release/kylin/${CMAKE_SYSTEM_PROCESSOR}
${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}
)
target_link_libraries(${PROJECT_NAME} PRIVATE hgdriver
${PROJECT_SOURCE_DIR}/../../release/kylin/${CMAKE_SYSTEM_PROCESSOR}/libhgdriver.so
${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhgdriver.so
)
@ -28,7 +28,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../../sdk/include
)
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../release/kylin/${CMAKE_SYSTEM_PROCESSOR})
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR})