如何将信用卡号码数字拆分为单独的块以进一步识别?

时间:2013-06-06 10:51:32

标签: ios ocr

目前,我公司的研发部门正在开发一款iOS应用程序,可以使用移动设备的相机识别信用卡号和有效期。我们已经成功完成了大部分项目,现在正在将卡号数字分成不同的块进行进一步识别。阅读更多内容以查找详细信息:http://rnd.azoft.com/optical-recognition-ios-application/ 如果您已经完成了类似的任务,我们将非常感谢您分享您的方法和您收到的结果。

2 个答案:

答案 0 :(得分:0)

我所知道的所有信用卡都使用Luhn方案,类似于校验和,因此您应该使用它来验证数字。最关键的数字在左侧,因为它们对品牌进行编码,然后通知您长度。也就是说,有些例外情况会使绝对假设变得困难。 Luhn代码将是你最好的朋友。

有一个iOS Credit Card Entry project,其代码中包含Luhn代码和品牌标识,应该会有所帮助。

答案 1 :(得分:0)

1)图像质量判断,只将质量好的图像发送到下一阶段。质量差的图像会给你不正确的结果。这将是一个非常糟糕的智能手机用户体验。许多智能手机的相机具有自动对焦功能,您只能在相机完成自动对焦时使用图像。

2)卡检测。检测整张卡。这个阶段非常重要,许多算法都失败了。您可以通过形态学操作员或其他图像操作员检测卡片。但这款运营商在智能手机上的速度有点慢。或者您可以训练级联分类器进行卡检测。这种检测比最后一种方法更快。但是处理普通卡非常困难,我的意思是,这种方法只能检测一种卡。

3)提取字符区域,很容易获得字符区域,因为数字位于指定卡片的固定位置。

4)字符分割,使用垂直投影做分割,可以获得每个人的数字图像

5)字符识别。在每个数字图像中查找连接的组件,裁剪图像以便仅包含连接的组件。将裁剪的图像发送到信号数字分类器。我试过tesseact,结果不是很糟糕。也许你可以使用其他伟大的数字分类器。

6)数字验证。有些卡号有验证规则。你可以利用它。