调整汉王算法
This commit is contained in:
parent
6d7488d5d8
commit
b7d8fed9f6
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue