OCR识别(iOS)接入

概述

iOS MTA-OCR SDK(下文简称OCR)主要提供以下API:

银行卡、身份证的扫描和识别

注意:OCR SDK依赖MTA SDK,在使用OCR SDK之前必须使用MTA SDK上报一次统计事件!( 详细请参照Demo)


SDK的使用步骤如下:

注册应用

腾讯内部用户:http://mta.oa.com

腾讯外部用户:http://mta.qq.com

按照页面中步骤提示,注册应用,获得AppID和SecretKey

导入SDK

  1. 下载SDK压缩包,解压至本地目录
  2. 将解压后的文件夹拖拽到工程中
  3. 添加SDK依赖的系统框架:

AssetsLibrary.framework

SystemConfigyration.framework

CoreTelephony.framework

QuartzCore.framework

CoreImage.framework

CoreVideo.framework

CoreMedia.framework

Accelerate.framework

AVFonundation.framework

CoreMotion.framework

libsqlite3.tbd

opencv2.framework


关于opencv2.framework的特别说明


1.如果使用opencv官网3.0的版本,此版本不支持bitcode,所以,需要需要将Xcode工程中的bitcode选项关闭,才能顺利编译通过,如下:



2.如果使用opencv官网3.1的版本,此版本虽然支持bitcode,但可能会出现如下错误:


解决办法:

下载opencv源码,编译出替换版本。编译步骤如下:

Step1:cd ~/ <my_working_directory>

Step2: python opencv/platforms/ios/build_framework.py ios

注意:(Step2之前,请确定本地安装了cmake,如果没有安装,可以在命令行使用命令:brew install cmake 自动下载安装。)


SDK API调用

由于SDK使用C++实现的,如果使用SDK API的地方是使用Objective-C实现的,请将后缀名为“.m”文件修改为 “.mm”,如果是使用Swift实现的,需要使用Objective-C封装然后使用。


启动扫描的代码示例

// SDK提供的识别接口
TOCRParseCamera *parseCamera= [[TOCRParseCamera alloc] initWithParentI-mageView:self.imageView sidesRect:@[upRectValue,downRectValue,leftRectValue,rightRectValue]];
parseCamera.delegate =self;
[parseCamera startWithAppID:@"12345" secretKey:@"skey" itemType:self.itemType completion:^(int *p) {}];


具体参数说明请查看TOCRParseCamera.h头文件中的API注释。

获取识别结果

SDK的识别结果返回是使用delegate的回调方法实现的:

- (void)receiveOCRResult:(id)result;


返回的结果是一个NSDictionary对象,其中的键值对针对不同的识别类型有不同的键值对:

当识别银行卡返回如下:

{@"code":[NSNumber], @"BankCardInfo":[BankInfo], @"image":[UIImage]}


Code: 识别码

0是可以识别;-1是未能识别

BankCardInfo:识别结果信息

如果可以识别,返回BankInfo实例;

Image:识别图片

提交到SDK 识别的图片


当识别身份证时返回如下:

{@"code":[NSNumber],@"IDCardInfo":[IdInfo], @"image":[UIImage]}


Code: 识别码

0是可以识别;-1是未能识别

IDCardInfo:识别结果信息

如果可以识别,返回IdInfo实例;

Image:识别图片

提交到SDK 识别的图片


停止扫描,清理占用资源

-(void)stopParse;

如果完成了扫描操作,调用此接口进行一些必要的资源清理工作


以上仅为开发指导文档,详细的API使用情况,请参照官网Demo,如有疑问请到官网BBS上反馈。



目录

回到顶部