调整汉王算法

This commit is contained in:
13038267101 2022-07-28 17:04:38 +08:00
parent 6d7488d5d8
commit b7d8fed9f6
1 changed files with 27 additions and 30 deletions

View File

@ -774,7 +774,7 @@ namespace hg_imgproc
#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 +791,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()