LFIDCard
LFIDCard 类主要作用是识别身份证的信息,包括正面和背面信息。
属性 | 说明 |
---|---|
imgOriginCaptured | 摄像头捕捉到的图(整图) |
imgCardDetected | 检测出的卡片图像(裁剪图) |
imgCardFace | 检测出的卡片人像 (人像图) |
imgOriginCroped | 扫描框内预览图(框内图) |
strVersion | SDK版本号 |
shouldFullCard | 是否整卡扫描 |
iMode | 控制识别身份证哪个面:0 - kIDCardFrontal表示正面 ,1 - kIDCardBack表示反面,2 - kIDCardBothSides表示双面识别,3 - kIDCardSmart表示智能检测 (default) |
side | 表示检测到的身份证是那个面 |
bFaceExist | 是否存在人像 |
strName,strSex,strNation,strYear,strMonth,strDay,strAddress,strID,strAuthority,strValidity,strDate | 姓名,性别,民族,出生年,出生月,出生日,住址,公民身份证号,签发机关,有效期,出生年月日 |
rectName,rectID | 从检测出的卡片图像获取的姓名位置,从检测出的卡片图像获取的身份证号位置 |
示例代码:
- (void)handleResult:(LFBankCard *)bankcard
{
UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] ;
LFViewController *resultVC = [mainStoryBoard instantiateViewControllerWithIdentifier:@"ResultViewController"];
resultVC.arrKeys = @[@"银行卡号",@"发卡行名称",@"发卡行标识代码",@"卡片名称",@"卡片类型"];
resultVC.dicRecogResult = @{@"银行卡号":bankcard.strNumber,@"发卡行名称":bankcard.strBankName, @"发卡行标识代码":bankcard.strBankIdentificationNumber,@"卡片名称":bankcard.strCardName, @"卡片类型": bankcard.strCardType};
[self.navigationController pushViewController:resultVC animated:NO];
[resultVC setResultImage: [bankcard imgCardDetected]];
[resultVC setResultCardNumberImage:[bankcard imgCardNumber]];
[resultVC setResultNumber: [bankcard strSpacedNumber]];
[resultVC setImgOriginCroped: [bankcard imgOriginCroped]];
[self dismissController];
}
+ (void)loadLicensePath:(NSString *)licensePath;
初始化之前传入license文件路径;
示例代码:
[LFIDCard loadLicensePath:self.cachePath];
- (instancetype)initWithModelPath:(NSString )modelPath extraPath:(NSString )extraPath;
在使用银行卡识别功能之前调用, 可以初始化一次,多次进行银行卡识别
参数 | 说明 |
---|---|
modelPath | modelPath bankcard路径 |
extraPath | extraPath bankextra路径 |
如果数据完整,初始化成功,返回 LFBankCard 对象;否则返回 nil
示例代码:
LFIDCard *idcard = [[LFIDCard alloc] initWithModelPath:modelPath extraPath:extraPath];
- (int) recognizeCard:(UIImage *)imageCard
该函数提供身份证检测和识别功能,用于图片输入。上传图片最大大小 5MB,图片分辨率最大支持 3000px*3000px,过小分辨率可能导致识别不出小的文字。
参数 | 说明 |
---|---|
imageCard | 上传的图片 |
返回值 | 检测识别结果的状态 -2 : 无图像。-1 : 检测不成功。-3 : 检测成功。 0 : 检测成功,识别不成功。1 : 识别有误,校验不成功。2 : 识别成功 |
- (int) recognizeCardWithBuffer:(unsigned char *) pImageCard width:(int) iWidth height:(int)iHeight
提供身份证检测和识别功能,用于视频帧数据输入。
参数 | 说明 |
---|---|
pImageCard | 视频帧数据,格式是BGRA格式 |
iHeight | 视频帧图像的高度 |
iWidth | 视频帧图像的宽度 |
返回值 | 检测识别结果的状态 -2 : 无图像。-1 : 检测不成功。-3 : 检测成功。 0 : 检测成功,识别不成功。1 : 识别有误,校验不成功。2 : 识别成功 |
示例代码:
iReturn = [self recognizeCardWithBuffer:pBGRBuffer width:iWidth height:iHeight ] ;
- (NSString *) getFrontalSideInfo
提供身份证识别结果的正面文字信息。(注:在getCardReult:中获取的加密数据解析后调用,参考sample)。
参数 | 说明 |
---|---|
返回值 | 身份证正面信息识别结果 参考: 姓名: 马某 性别: 男 民族: 回 出生: 1912 年3月5日 住址: 广东省深圳市南山区 号码: 610104123456788330 |
- (NSString *) getBackSideInfo
提供身份证识别结果的背面文字信息。(注:在getCardReult:中获取的加密数据解析后调用,参考sample)
参数 | 说明 |
---|---|
返回值 | 身份证背面信息识别结果 参考: 签发机关: 深圳市公安局南山分局 有效期限: 20041123-20241123 |
+ (NSString *)getSDKVersion;
获取版本号。 代码示例:
NSString *strVersion = [NSString stringWithFormat:@"OCR SDK-V%@ ", [LFIDCard getSDKVersion]];
+ (NSString *)getLicenseValidTime;
获取license文件的有效时间
代码示例:
[LFIDCard getLicenseValidTime];
+ (NSInteger)getRemainingTime;
获取license文件的剩余时间
参数 | 说明 |
---|---|
返回值 | 返回可用天数,在不可用时间内返会-1;即未到授权时间和已经超过授权时间 |
代码示例:
[LFIDCard getRemainingTime];
+ (BOOL)isLicenseValid;
license文件是否在有效期
参数 | 说明 |
---|---|
返回值 | 返会是否可用 |
代码示例:
[LFIDCard isLicenseValid];