public class HciCloudOcr
extends java.lang.Object
灵云OCR能力API
| 构造器和说明 |
|---|
HciCloudOcr() |
| 限定符和类型 | 方法和说明 |
|---|---|
static int |
hciOcrDeskew(Session session,
java.lang.String ocrRecogConfig,
OcrRecogDeskewResult outDeskewResult)
图像的倾斜矫正函数
|
static int |
hciOcrGetAndroidBitmap(Session session,
OcrAndroidBitmap bitmap)
从引擎中获取Bitmap的对象,该方法返回Bitmap的对象,用户只需在参数bitmap处传入一个Bitmap的引用即可
|
static int |
hciOcrGetImage(Session session,
OcrImage ocrImage)
以对象OcrImage的形式向引擎中导入图片(目前支持bmp、jpg、png、tif)
|
static int |
hciOcrGetSharpnessScore(Session session,
OcrImageClearScore score)
获得清晰度分数
|
static int |
hciOcrInit(java.lang.String initParam)
灵云OCR能力 初始化
|
static int |
hciOcrIsEdgeExist(Session session,
int x,
int y,
int width,
int height)
判断边缘是否存在
|
static int |
hciOcrLayoutAnalysis(Session session,
java.lang.String ocrRecogConfig,
OcrRecogLayoutAnalysisResult outLayoutAnalysisResult)
进行版面分析
|
static int |
hciOcrLoadTemplate(java.lang.String loadConfig,
java.lang.String templatePath,
OcrTemplateId templateId)
载入一个模板文件,通过参数列表返回其ID
|
static int |
hciOcrRecog(Session session,
java.lang.String recogConfig,
java.util.ArrayList<OcrRecogRegion> recogRegion,
OcrRecogResult outRecogResult)
进行OCR识别
|
static int |
hciOcrRelease()
灵云OCR能力 反初始化
|
static int |
hciOcrSaveImageFile(java.lang.String imageFileName,
OcrImage image)
保存一个本地文件,文件格式由文件名后缀确定(目前支持bmp、jpg、png、tif)
|
static int |
hciOcrSessionStart(java.lang.String recogConfig,
Session outSession)
开始会话
|
static int |
hciOcrSessionStop(Session session)
结束会话
|
static int |
hciOcrSetImageBuffer(Session session,
byte[] imageDataArray)
以数据的形式向引擎中导入图片(目前支持bmp、jpg、png、tif)
|
static int |
hciOcrSetImageBufferEx(Session session,
byte[] imageDataArray,
int imageType,
int width,
int height)
以数据的形式向引擎中导入图片(目前仅支持NV21格式)
|
static int |
hciOcrSetImageByAndroidBitmap(Session session,
Bitmap bitmap)
以Android中Bitmap的形式向引擎中导入图片(目前支持bmp、jpg、png、tif)
|
static int |
hciOcrSetImageFile(Session session,
java.lang.String ImageFileName)
以文件名的方式向引擎中导入图片(目前支持bmp、jpg、png、tif)
|
static int |
hciOcrUnloadTemplate(OcrTemplateId templateId)
卸载一个已经载入的模板文件
|
public static final int hciOcrInit(java.lang.String initParam)
灵云OCR能力 初始化
initParam - 初始化引擎的配置参数,可以通过OcrInitParam类辅助生成| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_SYS_NOT_INIT | HCI SYS 尚未初始化 |
| HCI_ERR_OCR_ALREADY_INIT | OCR SDK多次初始化 |
| HCI_ERR_CONFIG_INVALID | 配置参数有误,如设定值非法或格式错误等 |
| HCI_ERR_CONFIG_DATAPATH_MISSING | 传入的不是OCR的capkey |
| HCI_ERR_CONFIG_CAPKEY_NOT_MATCH | 缺少必需的dataPath配置项 |
| HCI_ERR_CAPKEY_NOT_FOUND | 没有找到指定的能力 |
| HCI_ERR_LOCAL_LIB_MISSING | 本地能力引擎缺失必要的库资源 |
public static final int hciOcrSessionStart(java.lang.String recogConfig,
Session outSession)
开始会话
recogConfig - 识别配置参数,可由OcrConfig类辅助生成outSession - 成功时返回会话ID| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_CONFIG_CAPKEY_MISSING | 缺少必需的capKey配置项 |
| HCI_ERR_CONFIG_INVALID | 配置项非法 |
| HCI_ERR_CONFIG_CAPKEY_NOT_MATCH | 能力与key不匹配 |
| HCI_ERR_CAPKEY_NOT_FOUND | 传入的能力key未找到 |
| HCI_ERR_URL_MISSING | 未找到有效的云服务地址 |
| HCI_ERR_TOO_MANY_SESSION | 创建的Session数量超出限制(256) |
| HCI_ERR_CONFIG_UNSUPPORT | 传入的配置在总参数列表中,但此处不支持 |
| HCI_ERR_LOAD_FUNCTION_FROM_DLL | 要载入的模块不存在,或者需要的功能在该模块不存在 |
| HCI_ERR_OCR_ENGINE_INIT_FAILED | 本地识别时,OCR引擎初始化失败 |
| HCI_ERR_CONFIG_DATAPATH_MISSING | 缺少必需的dataPath配置项 |
public static final int hciOcrDeskew(Session session, java.lang.String ocrRecogConfig, OcrRecogDeskewResult outDeskewResult)
图像的倾斜矫正函数
session - 会话ocrRecogConfig - 识别配置串,可由OcrConfig类辅助生成,可为NULLoutDeskewResult - 输出的识别结果| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_CONFIG_INVALID | 配置参数有误,如设定值非法或格式错误等 |
| HCI_ERR_DATA_SIZE_TOO_LARGE | 传入的数据超过可处理的上限,云端识别数据发往云端时判断[0,5M] |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
| HCI_ERR_CAPKEY_NOT_FOUND | 能力key未找到 |
| HCI_ERR_URL_MISSING | 未找到有效的云服务地址 |
| HCI_ERR_SERVICE_CONNECT_FAILED | 连接服务器失败,服务器无响应 |
| HCI_ERR_SERVICE_TIMEOUT | 服务器访问超时 |
| HCI_ERR_SERVICE_DATA_INVALID | 服务器返回的数据格式不正确 |
| HCI_ERR_SERVICE_RESPONSE_FAILED | 服务器返回版面分析失败 |
| HCI_ERR_CONFIG_UNSUPPORT | 传入的配置在总参数列表中,但此处不支持 |
| HCI_ERR_OCR_ENGINE_FAILED | 本地引擎,版面分析过程失败,或者云端识别图像旋转、转换、二值化和压缩失败 |
public static final int hciOcrLayoutAnalysis(Session session, java.lang.String ocrRecogConfig, OcrRecogLayoutAnalysisResult outLayoutAnalysisResult)
进行版面分析
session - 会话ocrRecogConfig - 识别配置串,可由OcrConfig类辅助生成,可为NULLoutLayoutAnalysisResult - 输出的版面分析的结果对象| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_CONFIG_INVALID | 配置参数有误,如设定值非法或格式错误等 |
| HCI_ERR_DATA_SIZE_TOO_LARGE | 传入的数据超过可处理的上限,云端识别数据发往云端时判断[0,5M] |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
| HCI_ERR_CAPKEY_NOT_FOUND | 能力key未找到 |
| HCI_ERR_URL_MISSING | 未找到有效的云服务地址 |
| HCI_ERR_SERVICE_CONNECT_FAILED | 连接服务器失败,服务器无响应 |
| HCI_ERR_SERVICE_TIMEOUT | 服务器访问超时 |
| HCI_ERR_SERVICE_DATA_INVALID | 服务器返回的数据格式不正确 |
| HCI_ERR_SERVICE_RESPONSE_FAILED | 服务器返回版面分析失败 |
| HCI_ERR_CONFIG_UNSUPPORT | 传入的配置在总参数列表中,但此处不支持 |
| HCI_ERR_OCR_ENGINE_FAILED | 本地引擎,版面分析过程失败,或者云端识别图像旋转、转换、二值化和压缩失败 |
public static final int hciOcrRecog(Session session, java.lang.String recogConfig, java.util.ArrayList<OcrRecogRegion> recogRegion, OcrRecogResult outRecogResult)
进行OCR识别
session - 会话IDrecogConfig - 识别参数配置串,可为NULL或者’\0’recogRegion - 识别区域列表,outRecogResult - 识别结果的数据结构指针,使用完毕后,需使用 hci_ocr_free_recog_result() 函数进行释放| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_DATA_SIZE_TOO_LARGE | 传入的数据超过可处理的上限,云端识别数据发往云端时判断[0,5M] |
| HCI_ERR_CONFIG_INVALID | 配置项非法 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
| HCI_ERR_CAPKEY_NOT_FOUND | 能力key未找到 |
| HCI_ERR_URL_MISSING | 未找到有效的云服务地址 |
| HCI_ERR_SERVICE_CONNECT_FAILED | 连接服务器失败,服务器无响应 |
| HCI_ERR_SERVICE_TIMEOUT | 服务器访问超时 |
| HCI_ERR_SERVICE_DATA_INVALID | 服务器返回的数据格式不正确 |
| HCI_ERR_SERVICE_RESPONSE_FAILED | 服务器返回倾斜校正失败 |
| HCI_ERR_CONFIG_UNSUPPORT | 传入的配置在总参数列表中,但此处不支持 |
| HCI_ERR_OCR_ENGINE_FAILED | 本地引擎,识别过程失败,或者云端识别图像旋转、转换、二值化和压缩失败 |
| HCI_ERR_OCR_CONFIG_TEMPLATE_ID_MISSING | OCR本地模板 templateid参数缺失 |
| HCI_ERR_OCR_CONFIG_TEMPLATE_INDEX_MISSING | OCR模板 templateindex参数缺失 |
| HCI_ERR_OCR_CONFIG_TEMPLATE_PAGE_INDEX_MISSING | OCR模板 templatepageindex参数缺失 |
| HCI_ERR_OCR_CONFIG_PROPERTY_MISSING | OCR云端模板 property参数缺失 |
public static final int hciOcrSessionStop(Session session)
结束会话
session - 会话| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
public static final int hciOcrRelease()
灵云OCR能力 反初始化
| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_ACTIVE_SESSION_EXIST | 尚有未stop的Sesssion,无法结束 |
public static final int hciOcrSaveImageFile(java.lang.String imageFileName,
OcrImage image)
保存一个本地文件,文件格式由文件名后缀确定(目前支持bmp、jpg、png、tif)
imageFileName - 保存到的本地图像文件名image - 要保存的源图像数据对象| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_OCR_SAVE_IMAGE | 保存本地图像文件失败 |
iOS平台不支持此操作,调用此函数会返回 HCI_ERR_UNSUPPORT。如果希望在iOS存储图像数据,
请使用 hci_ocr_get_uiImage() 获取UIImage,然后使用UIImage的存储文件功能进行存储。
public static final int hciOcrSetImageFile(Session session, java.lang.String ImageFileName)
以文件名的方式向引擎中导入图片(目前支持bmp、jpg、png、tif)
session - 会话ImageFileName - 要设置的本地图片文件| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
public static final int hciOcrSetImageBuffer(Session session, byte[] imageDataArray)
以数据的形式向引擎中导入图片(目前支持bmp、jpg、png、tif)
session - 会话imageDataArray - 图像的数据uiImageDataSize - 要设置的本地内存缓冲的长度,字节为单位| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
public static final int hciOcrGetImage(Session session, OcrImage ocrImage)
以对象OcrImage的形式向引擎中导入图片(目前支持bmp、jpg、png、tif)
session - 会话ocrImage - 图片对象| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
| HCI_ERR_OCR_ENGINE_FAILED | 设置初始数据为图像缓冲时,本函数返回时转换为OCR_IMAGE结构失败 |
| HCI_ERR_OCR_IMAGE_NOT_SET | 本会话还未设置图像数据 |
public static final int hciOcrSetImageByAndroidBitmap(Session session, Bitmap bitmap)
以Android中Bitmap的形式向引擎中导入图片(目前支持bmp、jpg、png、tif)
session - 当前会话bitmap - bitmap图片对象| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
public static final int hciOcrGetAndroidBitmap(Session session, OcrAndroidBitmap bitmap)
从引擎中获取Bitmap的对象,该方法返回Bitmap的对象,用户只需在参数bitmap处传入一个Bitmap的引用即可
session - 当前会话bitmap - bitmap图片对象的引用,| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
| HCI_ERR_OCR_ENGINE_FAILED | 设置初始数据为图像缓冲时,本函数返回时转换为OCR_IMAGE结构失败 |
| HCI_ERR_OCR_IMAGE_NOT_SET | 本会话还未设置图像数据 |
public static final int hciOcrLoadTemplate(java.lang.String loadConfig,
java.lang.String templatePath,
OcrTemplateId templateId)
载入一个模板文件,通过参数列表返回其ID
loadConfig - 加载模板配置templatePath - 要载入的模板文件路径templateId - 用于返回载入成功获取的模板文件ID| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_OCR_LOAD_TEMPLATE_FAILED | 载入模板失败,可能是文件不存在、文件不可读、文件非法或者解码失败 |
| HCI_ERR_OCR_TEMPLATE_OVERLOAD | 加载模板数量已达上限(1024) |
| HCI_ERR_LOCAL_LIB_MISSING | 本地能力引擎缺失必要的库资源 |
public static final int hciOcrUnloadTemplate(OcrTemplateId templateId)
卸载一个已经载入的模板文件
templateId - 要卸载的模板文件的ID,由 hciOcrGetAndroidBitmap()得来| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_OCR_TEMPLATE_ID_INVALID | 传入的模板ID不在加载的模板列表中 |
| HCI_ERR_OCR_TEMPLATE_USING | 还有会话在使用要卸载的模板 |
ote 用户在卸载模板时,必须保证使用该模板的所有session都已经执行 hciOcrSessionStop()操作,否则返回错误。
public static final int hciOcrGetSharpnessScore(Session session, OcrImageClearScore score)
获得清晰度分数
session - 会话score - 清晰度得分| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_SESSION_INVALID | 无效的会话 |
| HCI_ERR_OCR_IMAGE_NOT_CLEAR | OCR识别图片不清晰 |
public static final int hciOcrIsEdgeExist(Session session, int x, int y, int width, int height)
判断边缘是否存在
session - 会话x - 传入图片左上角横坐标y - 传入图片左上角纵坐标width - 传入图片宽height - 传入图片高| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_SESSION_INVALID | 无效的会话 |
| HCI_ERR_OCR_EDGE_IS_NOT_EXIST | OCR识别图片边缘不存在 |
public static final int hciOcrSetImageBufferEx(Session session, byte[] imageDataArray, int imageType, int width, int height)
以数据的形式向引擎中导入图片(目前仅支持NV21格式)
session - 当前会话imageDataArray - 图像的数据imageType - 图像的格式,当前可用取值为2,即NV21格式width - 图像的宽度height - 图像的高度| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_OCR_NOT_INIT | HCI OCR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 传入的参数不合法 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |