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];

results matching ""

    No results matching ""