[iOS]OCR光学识别信用卡

转载 2016年08月28日 17:00:34

看到一个光学识别信用卡的文章,根据文章测试了下,识别信用卡还算灵敏,但是可惜的是识别不了储蓄卡,这里记录一下:

原文cocoachina微信公共号链接

所用框架github地址:https://github.com/AllLuckly/card.io-iOS-SDK

具体的使用,demo中有介绍,这里只记录一下集成:

将demo里的CardIO文件夹拖进工程,然后在TARGETS---Build Phases---Link Binary With Libraries里边加入系统框架框架:

Accelerate.framework
MobileCoreServices.framework
CoreMedia.framework
AudioToolbox.framework
AVFoundation.framework

最后,在TARGETS---Build Settings---Other Linker Flags中添加-ObjC和-lc++即可;

接下来就可以使用相关的API了:

首先导入头文件:

#import "CardIO.h"
#import "CardIOPaymentViewControllerDelegate.h"

并实现代理CardIOPaymentViewControllerDelegate

实现代理方法:

Objective-C:

 (void)viewWillAppear {
[super viewWillAppear];
[CardIOUtilities preload];
}
//开始调用扫描
- (IBAction)begin:(id)sender {
CardIOPaymentViewController *scanViewController = [[CardIOPaymentViewController alloc] initWithPaymentDelegate:self];
[self presentViewController:scanViewController animated:YES completion:nil];
}
//取消扫描
- (void)userDidCancelPaymentViewController:(CardIOPaymentViewController *)scanViewController
{
[scanViewController dismissViewControllerAnimated:YES completion:nil];
}
//扫描完成
-(void)userDidProvideCreditCardInfo:(CardIOCreditCardInfo *)info inPaymentViewController:(CardIOPaymentViewController *)scanViewController
{
//扫描结果
NSLog(@"Received card info. Number: %@, expiry: %02i/%i, cvv: %@.", info.redactedCardNumber, info.expiryMonth, info.expiryYear, info.cvv);
[scanViewController dismissViewControllerAnimated:YES completion:nil];
}

Swift:

import UIKit
class ViewController: UIViewController, CardIOPaymentViewControllerDelegate {
@IBOutlet weak var resultLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
CardIOUtilities.preload()
}
//开始调用扫描
@IBAction func scanCard(sender: AnyObject) {
let cardIOVC = CardIOPaymentViewController(paymentDelegate: self)
cardIOVC.modalPresentationStyle = .FormSheet
presentViewController(cardIOVC, animated: true, completion: nil)
}
//取消扫描
func userDidCancelPaymentViewController(paymentViewController: CardIOPaymentViewController!) {
resultLabel.text = "user canceled"
paymentViewController?.dismissViewControllerAnimated(true, completion: nil)
}
//扫描完成
func userDidProvideCreditCardInfo(cardInfo: CardIOCreditCardInfo!, inPaymentViewController paymentViewController: CardIOPaymentViewController!) {
if let info = cardInfo {
let str = NSString(format: "Received card info.\\\\n Number: %@\\\\n expiry: %02lu/%lu\\\\n cvv: %@.", info.redactedCardNumber, info.expiryMonth, info.expiryYear, info.cvv)
resultLabel.text = str as String
}
paymentViewController?.dismissViewControllerAnimated(true, completion: nil)
}
}

到此,基本就完成了,尝试一下吧!!!

ajax跨域请求简单实现Java后台

ajax跨域结合java实现 因为官网有一个合作加盟的功能,需要一个表单录入,但是官网除了这个功能,都是静态页面,所以就准备写一个ajax跨域,保存到之前公司项目的后台管理系统去,第一次用ajax跨域...
  • ytTea
  • ytTea
  • 2016年05月31日 22:23
  • 3950

json字符串与对象的相互转换-javascript/jQuery

前言        我们知道,如果在java中json对象与java对象的转换很简单就能实现,利用阿里巴巴的fastjson或者jackjson轻松实现,或者利用json包中的net包中的工具也可以实...

iOS开发之OCR光学识别储蓄卡以及信用卡

最近由于公司需要一个扫描银行卡获取卡号的功能,网上找了很多相关的资料,完全扫描银行卡 获取卡号信息的都是价格贵的不得了的,而且仅仅只是授权而已,在此咱退而求次,找到一个可 以扫描信用卡的第三方框架,给...

iOS开发之OCR光学识别储蓄卡以及信用卡

免责声明:这个第三方的SDK并没有公开源码,亲测在断网情况下,能扫描卡号和有效期数据,涉及到到信用卡的安全,请谨慎使用,造成的任何损失概不负责哦。 有兴趣的小伙伴可以用抓包软件尝试在联网情况下S...

iOS开发之OCR光学识别储蓄卡以及信用卡

最近由于公司需要一个扫描银行卡获取卡号的功能,网上找了很多相关的资料,完全扫描银行卡 获取卡号信息的都是价格贵的不得了的,而且仅仅只是授权而已,在此咱退而求次,找到一个可 以扫描信用卡的第三方框架...

iOS开发之OCR光学识别储蓄卡以及信用卡

最近由于公司需要一个扫描银行卡获取卡号的功能,网上找了很多相关的资料,完全扫描银行卡获取卡号信息的都是价格贵的不得了的,而且仅仅只是授权而已,在此咱退而求次,找到一个可以扫描信用卡的第三方框架,给大家...

6 个优秀的开源 OCR 光学字符识别工具

纸张在许多地方已日益失宠,无纸化办公谈论40多年,办公环境正限制纸山的生成。而过去几年,无纸化办公的概念发生了显着的转变。在计算机软件的帮助 下,包含大量重要管理数据和资讯的文档可以更方便的以电子形式...

OCR手机证件扫描光学字符识别

OCR手机证件扫描光学字符识别   一、OCR手机证件扫描光学字符识别应用背景   这些年,随着互联网金融的极速发展,第三方支付、理财、P2P网贷、征信等APP应用成爆发式的增长,在众多APP中都...

OCR光学字符识别(一)

         所谓OCR (Optical Character Recognition光学字符识别)技术,是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形...
  • lff1208
  • lff1208
  • 2017年08月07日 16:23
  • 232

[译]OpenCV的基础光学字符识别(Basic OCR in OpenCV)

Github源码 From:http://blog.damiles.com/2008/11/basic-ocr-in-opencv/ 在这个教程当中我们将完成一个基础的数字光学字符识别。这包括...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[iOS]OCR光学识别信用卡
举报原因:
原因补充:

(最多只允许输入30个字)