银行卡卡号识别技术研究与实现文献综述

 2022-11-25 16:47:11

一 研究背景及介绍

随着移动支付的逐渐兴起和快速发展,提供移动支付功能的APP迅速增多,支持移动支付功能的APP都会涉及到个人银行卡账户的绑定,输入银行卡号成了必不可少的步骤。银行卡号数字较多,很难记忆,而且大多数人也不止一张银行卡,人们很少会记住所有银行卡的卡号,大多数人都是边看卡号边输入。在实际的测试中发现,手动输入16-19位银行卡号码,速度慢,易出错,用户体验非常差。为了提高银行卡号输入的速度和准确性,需要通过移动设备捕捉银行卡的图像,并根据银行卡图像识别卡号直接将卡号输入到移动设备中。
生活中的银行卡卡号可以分成平面和凸起两种形式,卡号为平面字符的银行卡,其卡号字符的颜色基本为黑色,背景花纹对卡号区域没有影响,人眼通过色差来完成对卡号的识别。卡号为凹凸字符的银行卡,其凹凸字符是通过机器压印而成的,人眼主要通过深度和亮度信息来进行卡号的识别。凹凸字符的银行卡因为卡号字符的颜色与背景区域差别不大,导致卡面.上的背景花纹很难与卡号字符分离,这就会给卡号的分割和识别带来很大的困难。

二 相关实现

通过对课题相关论文的了解与学习,可以将该课题设计大致分成三个部分。

  1. 对银行卡图像的预处理

首先,在实际应用中,获取银行卡图像的页面会显示--个矩形框,拍照时尽量使银行卡的四个边缘与矩形框重合。但是使用移动设备拍照时会存在手部抖动的情况,这就可能导致矩形框与银行卡的四个边框不能完全重合,得到的图像存在一定的倾斜,因此需要考虑到对获得的图像进行倾斜校正。

然后需要进行灰度化,通常拍摄或保存的银行卡图像都是彩色图像,处理图像时,要分别对RGB三种颜色分量进行处理,计算量较大,计算时间较长.灰度图像即可表示卡号的形态特征,并且比彩色图像所占存储空间小.为了优化系统,需要将原银行卡图像转换成8位的灰度值图像。

下来进行二值化,获取的灰度化图像需进行二值化处理.二值化就是将彩色图像转换为只包含两种像素值的图像,分别用255和0表示白色和黑色,二值化处理需要通过函数计算出阈值T,分割所有像素点,大于该阈值的像素点变为255(白色),小于该阈值的像素点变为0(黑色)。

最后需要获取银行卡的卡号区域,由于银行卡种类众多,这就导致:1)卡号字符的位置有所不同;2)卡号字符的排列方式有所不同;3)卡号字符的个数有所不同。因此对于拍摄的银行卡图像需要处理,才能得到相应的卡号区域。

使用边缘检测,利用银行卡号与背景像素点有跳跃性的差别,确定卡号的具体位置,通常卡号位于梯度值最大处.将卡号的位置确定,可有针对性地对数字进行识别,所以这是很重要的一步。边缘检测总会受到各种因素所干扰,例如:焦距有限造成聚焦模糊; 光源产生的阴影带来的半影模糊; 因物体呈现的反射或者漫反射而造成模糊; 光滑物体边缘的阴影。

然后对于处理后得到的银行卡的二值化处理过的图像,需要将卡号区域与背景分离出来。首先需要确定卡号位置,轮廓提取就是一种很好的确定卡号区域的方法。OpenCV 中 cvFindContours 就是提取目标轮廓的函数,输入二值图像,输出的图像只是卡号的连续区域。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。