用于识别银行卡的图像处理方法以及图像处理装置
文献发布时间:2023-06-19 10:16:30
技术领域
本发明涉及图像处理技术,具体地涉及一种用于识别银行卡的图像处理方法以及图像处理方法。
背景技术
现阶段电子支付得到了越来越广泛的应用,其中的首要环节就是用户进行银行卡绑定操作。目前,除了传统的手动输入银行卡卡号的方式外,大部分的用户应用(APP)都已支持通过摄像头采集图像进行银行卡识别的方式。
图1的(a)、(b)、(c)、(d)分别表示了支付宝、微信、招商银行以及云闪付的APP绑卡操作界面。现有技术方案的基本流程为:
(1)APP打开手机摄像头;
(2)在摄像头取景框内自定义一块矩形的扫描区;
(3)等待用户把银行卡对齐扫描框边缘;
(4)截取银行卡对齐扫描框边缘后的图片,在固定位置进行卡号识别。
如图1所示,现有技术存在的缺点如下:
(1)银行卡面要与摄像头处于平行的位置;
(2)银行卡与摄像头间的距离要合适,且正好与拍摄扫描框的边缘重合。
也就是说,在这些操作界面上进行操作时必须是的银行卡四边对齐扫描框边缘,这就使得用户需要进行比较精细的操作,导致用户体验较差。这种通过增加用户操作难度以方便APP自身进行扫描的方式从用户体验的角度来说是不合理的。
发明内容
鉴于上述问题,本发明旨在提出一种能够简化用户操作难度并且能够适应非对正场景的用于识别银行卡的图像处理方法以及图像处理方法。
本发明的用于识别银行卡的图像处理方法,其特征在于,包括下述步骤:
图像采集步骤,采集银行卡的初始图像;
边缘检测步骤,检测所述初始图像的边缘像素点,以使得从所述初始图像中分离出银行卡图像;
外框定位步骤,从所述银行卡图像的边缘像素点中标记出若干线段,根据所述若干线段确定出一个四边形区域作为银行卡外框;以及姿态变换步骤,基于预先设定的银行卡的尺寸比例,对所述银行卡外框进行姿态变换获得正对状态下的银行卡图像。
可选地,在所述边缘检测步骤中采用Prewitt算法。
可选地,在所述边缘检测步骤中采用高低阈值的Prewitt算法。
可选地,所述边缘检测步骤包括:
(a)设定高阈值M和低阈值N,其中,0
(b)利用所述高阈值M和所述低阈值N分别对所述初始图像进行检测,从而分别检测出强边缘图和弱边缘图;
(c)以强边缘图作为主干,如果弱边缘与该主干相连则保留,反之则舍弃;以及
(d)进行形态学去噪,以使得最终从所述初始图像中分离出银行卡图像。
可选地,设定所述低阈值N为高阈值M的一半。
可选地,在所述外框定位步骤中,采用Hough直线检测算法从边缘点中标记出若干线段。
可选地,在所述外框定位步骤包括下述步骤:
采用Hough直线检测算法从边缘点中标记出若干线段;
对线段进行分类与合并;
确定两对可以围成四边形的平行线段;以及
计算围成的四边形的面积,若四边形的面积与整体图像总面积之比大于预设的规定值,则认为该四边形区域就是银行卡的所在位置。
可选地,在所述外框定位步骤包括下述步骤:
采用Hough直线检测算法从边缘点中标记出若干线段;
对线段进行分类与合并;
对分类合并后的线段在两端进行延长,以获得确定两对可以围成四边形的平行线段,并组成四边形;以及
计算围成的四边形的面积,若四边形的面积与整体图像总面积之比大于预设的规定值,则认为该四边形区域就是银行卡的所在位置。
可选地,对线段进行分类与合并包括:把在同一条直线上的线段归为一类,合并距离接近的同类线段,舍弃孤立且较短的线段。
可选地,所述预设的规定值为20-80%。
可选地,所述姿态变换步骤包括:
按照85.60:53.98的比例对所述银行卡外框进行拉伸;以及
将所述银行卡外框旋转所述银行卡外框中的长边与水平的夹角的度数。
本发明的用于识别银行卡的图像处理装置,其特征在于,具备:
图像采集模块,用于采集银行卡的初始图像;
边缘检测模块,用于检测所述初始图像的边缘像素点,基于所述边缘像素点从所述初始图像中分离出银行卡图像;
外框定位模块,用于从所述银行卡图像的边缘像素点中标记出若干线段,根据所述若干线段确定出一个四边形区域作为银行卡外框;以及
姿态变换模块,用于基于预先设定的银行卡的尺寸比例,对所述银行卡外框进行姿态变换获得正对状态下的银行卡图像。
可选地,所述边缘检测模块采用Prewitt算法。
可选地,所述边缘检测模块采用高低阈值的Prewitt算法。
可选地,所述边缘检测模块中设定高阈值M和低阈值N,其中,0
可选地,所述外框定位模块采用Hough直线检测算法从边缘点中标记出若干线段。
可选地,所述外框定位模块采用Hough直线检测算法从边缘点中标记出若干线段,对线段进行分类与合并确定两对可以围成四边形的平行线段,计算围成的四边形的面积,若四边形的面积与整体图像总面积之比大于预设的规定值,则认为该四边形区域就是银行卡的所在位置。
可选地,所述外框定位模块采用Hough直线检测算法从边缘点中标记出若干线段,对线段进行分类与合并,对分类合并后的线段在两端进行延长,以获得确定两对可以围成四边形的平行线段,并组成四边形,并且计算围成的四边形的面积,若四边形的面积与整体图像总面积之比大于预设的规定值,则认为该四边形区域就是银行卡的所在位置。
可选地,所述姿态变换模块按照85.60:53.98的比例对所述银行卡外框进行拉伸并且将所述银行卡外框旋转所述银行卡外框中的长边与水平的夹角的度数。
本发明的一方面的移动终端,其特征在于,具备上述用于识别银行卡的图像处理装置。
本发明的一方面的计算机可读介质,其上存储有计算机程序,其特征在于,
该计算机程序被处理器执行时实现上述的用于识别银行卡的图像处理方法。
本发明一方面的计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述的用于识别银行卡的图像处理方法。
如上所述,根据本发明的用于识别银行卡的图像处理方法以及用于识别银行卡的图像处理装置,能够降低用户操作难度,实现便捷绑卡,具体地能够具有以下技术特点:
(1)银行卡面与摄像头不平行的情况下可以进行识别;
(2)不需要银行卡边缘与扫描框重合,只要银行卡整体处于扫描框内,且面积占比超过预设的规定值即可;
(3)算法复杂度小,可以在嵌入式前端实时运行,所谓嵌入式前端指具有嵌入式处理器的终端设备,主要例如有手机、平板和其他带有摄像头的智能设备(而不包括电脑或服务器),由于本发明的用于识别银行卡的图像处理方法的算法复杂度小,因此可以嵌入式终端设备运行,即直接在手机等设备上运行,而不需要把图像传到云端后台处理,避免了网络延时,从而提升用户体验。
附图说明
图1(a)、(b)、(c)、(d)分别表示了支付宝、微信、招商银行以及云闪付的APP绑卡操作界面。
图2是表示本发明一实施方式的用于识别银行卡的图像处理方法的流程示意图。
图3(a)、(b)、(c)、(d)是分别表示了采用改进的高低阈值方式的Prewitt算子进行边缘检测的检测效果图。
图4是表示外框定位步骤中采用Hough变换检测出的原始直线段的示意图。
图5是表示外框定位步骤中将直线段归纳组成四边形外框的示意图。
图6是表示通过姿态变换步骤将银行卡区域拉伸旋转为正对状态的示意图。
图7是表示手持银行卡的实施方式下的原始直线段检测结果的示意图。
图8是手持银行卡的实施方式下的表示延长平行直线段后获取银行卡区域的示意图。
图9是表示本发明的一实施方式的用于识别银行卡的图像处理装置的结构框图。
具体实施方式
下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。
出于简洁和说明性目的,本文主要参考其示范实施例来描述本发明的原理。但是,本领域技术人员将容易地认识到,相同的原理可等效地应用于所有类型的用于识别银行卡的图像处理方法以及图像处理方法,并且可以在其中实施这些相同的原理,以及任何此类变化不背离本专利申请的真实精神和范围。
而且,在下文描述中,参考了附图,这些附图图示特定的示范实施例。在不背离本发明的精神和范围的前提下可以对这些实施例进行电、机械、逻辑和结构上的更改。此外,虽然本发明的特征是结合若干实施/实施例的仅其中之一来公开的,但是如针对任何给定或可识别的功能可能是期望和/或有利的,可以将此特征与其他实施/实施例的一个或多个其他特征进行组合。因此,下文描述不应视为在限制意义上的,并且本发明的范围由所附权利要求及其等效物来定义。
诸如“具备”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。
图2是表示本发明一实施方式的用于识别银行卡的图像处理方法的流程示意图。
如图2所示,本发明一实施方式的用于识别银行卡的图像处理方法,其特征在于,包括下述步骤:
图像采集步骤S100:采集银行卡的初始图像;
边缘检测步骤S200:检测所述初始图像的边缘像素点,以使得从所述初始图像中分离出银行卡图像;
外框定位步骤S300:从所述银行卡图像的边缘像素点中确定出一个四边形区域作为银行卡外框,如果定位银行卡外框成功则继续步骤S400,否则该方法流程失败;以及
姿态变换步骤S400:基于预先设定的银行卡的尺寸比例,对所述银行卡外框进行姿态变换获得正对状态下的银行卡图像。
在姿态变换步骤S400中获得正对状态下的银行卡图像,接着在步骤S500中对正对状态下的银行卡图像识别银行卡卡号,如果卡号识别成功则结束银行卡卡号识别流程,如果卡号识别失败,则该方法流程失败。这里的步骤S500不包含在本发明申请的用于识别银行卡的图像处理方法中,该步骤表示的是在利用本发明的用于识别银行卡的图像处理方法完成了银行卡姿态变换后一般会继续进行的动作。
接着,对于各个步骤进行具体说明。
在图像采集步骤S100中,采集银行卡的初始图像,例如通过摄像头拍摄或者摄像头扫码银行卡采集到银行卡的初始图像,不需要像现有技术中那样必须使得银行卡对准预先设置的银行卡框中,而是只要将银行卡放置在桌面上卡面不存在遮挡即可。
接着,说明边缘检测步骤S200。
在边缘检测步骤S200中,进行边缘检测,检测初始图像的边缘像素点,以使得从初始图像中分离出银行卡图像。
边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括:深度上的不连续、表面方向不连续、物质属性变化和场景照明变化。
边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。
人类视觉系统认识目标的过程分为两步:首先,把图像边缘与背景分离出来;然后,才能知觉到图像的细节,辨认出图像的轮廓。计算机视觉正是模仿人类视觉的这个过程。因此在检测物体边缘时,先对其轮廓点进行粗略检测,然后通过链接规则把原来检测到的轮廓点连接起来,同时也检测和连接遗漏的边界点及去除虚假的边界点。图像的边缘是图像的重要特征,是计算机视觉、模式识别等的基础,因此边缘检测是图象处理中一个重要的环节。然而,边缘检测又是图象处理中的一个难题,由于实际景物图像的边缘往往是各种类型的边缘及它们模糊化后结果的组合,且实际图像信号存在着噪声。噪声和边缘都属于高频信号,很难用频带做取舍。
这就需要边缘检测来进行解决的问题了。边缘检测的基本方法有很多,例如:一阶的有RobertsCross算子,Prewitt算子,Sobel算子,Canny算子,Krisch算子,罗盘算子;而二阶的还有Marr-Hildreth,在梯度方向的二阶导数过零点。
接下来简单比较这些边缘检测方法:Robert算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图像边缘可能大于2个像素,这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。LOG滤波器方法通过检测二阶导数过零点来判断边缘点。LOG滤波器中的a正比于低通滤波器的宽度,a越大,平滑作用越显著,去除噪声越好,但图像的细节也损失越大,边缘精度也就越低。所以在边缘定位精度和消除噪声级间存在着矛盾,应该根据具体问题对噪声水平和边缘点定位精度要求适当选取。梯度算子计算简单,但精度不高,只能检测出图像大致的轮廓,而对于比较细的边缘可能会忽略。Prewitt和Sobel算子比Roberts效果要好一些。LOG滤波器和Canny算子的检测效果优于梯度算子,能够检测出图像较细的边缘部分。因此,对于不同的系统,需要针对不同的环境条件和要求,选择合适的算子来对图像进行边缘检测。
这里,在本发明中,要实现从图像中分离出银行卡的目的,首先就是找出银行卡与背景的分界,作为一个优选方式,采用Prewitt算子边缘检测方法来分离出图像中的边缘点与非边缘点。这是因为用Prewitt算子检测效果比较好并且算法不复杂,可以直接在手机等设备上运行而不需要把图像传到云端后台进行处理。
接着,对于Prewitt算子边缘检测方法进行具体说明。
Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测垂直边缘,一个检测水平边缘,取两者的最大值作为输出值。以下表格即分别表示垂直和水平方向的Prewitt模板:
经典Prewitt算子认为:凡灰度新值大于或等于阈值的像素点都是边缘点,即经典Prewitt算子采用单一阈值,无法适应复杂变化的场景,阈值过高会出现某些边缘检测不到,阈值过低则会误识别很多非边缘。因此,在本发明中优选地是采用改进的高低阈值方式的Prewitt算子。
作为采用了改进的高低阈值方式的Prewitt算子进行边缘检测的的一个具体实施方式,边缘检测步骤S200包括以下子步骤:
(a)首先设定高阈值和低阈值,以边缘像素点占比为M来确定高阈值并且设定低阈值为N,其中M>N,这里高阈值的取值标准是:当阈值取为该值时,被认定为边缘像素点的数量/整幅图像所有像素点数量=M,因此0 (b)用所确定的高阈值和低阈值分别对图像进行检测,从而相应地检测出强边缘图与弱边缘图; (c)以强边缘图作为主干,如果弱边缘与该主干相连则保留,反之则舍弃;(d)进行形态学去噪作为最终结果,其中,形态学去噪是利用形态学方法滤除图像中的噪声点,此处主要是使用了形态学“开操作”,平滑物体边界,消除小物体,使得图像轮廓更突出。 图3(a)、(b)、(c)、(d)分别表示了采用改进的高低阈值方式的Prewitt算子进行边缘检测的检测效果图。 这里图3所示的检测效果是M取值10%、N取值5%时的检测效果。 图3(a)表示了采集到的原始图像。图3(b)表示用高阈值对原始图像进行检测,从而检测出的强边缘图。图3(c)表示用低阈值对原始图像进行检测,从而检测出的弱边缘图。图3(d)表示以强边缘图作为主干,如果弱边缘与该主干相连则保留,反之则舍弃,并且进行形态学去噪得到的最终边缘图。 本发明的特征在于采用了高低阈值的Prewitt算子,采用两个阈值的原因在于:经过Prewitt算子处理后,图像中的每个像素点都会的到一个计算值,而阈值就是判断该像素是否是边缘点的门槛值,计算值高于阈值则认为是边缘点,低于阈值则认为是非边缘点。显然,阈值定的越高,则被认定为边缘像素点的数量越少。因此,阈值过高,会导致很多真正的像素点被忽略,而阈值过低会导致很多背景点被误认为边缘点。因此,为了解决这样的问题在本发明中采用了高低阈值的Prewitt算子。 接着,说明外框定位步骤S300。 在外框定位步骤S300中,对于由上述边缘检测步骤S200检测出的边缘像素点,从这些边缘像素点中确定出一个四边形区域作为银行卡外框。 图4是表示外框定位步骤中采用Hough变换检测出的原始直线段的示意图。图5是表示外框定位步骤中将直线段归纳组成四边形外框的示意图。 接着,在外框定位步骤S300中采用Hough直线检测算法进行外框定位,参考图4和图5,具体步骤如下: 首先,利用Hough直线检测算法从边缘点中标记出若干线段,如图4所示,检测出5条线段,5条线段具体为:银行卡的四条外框的线段以及“招商银行”四个汉字下面的一条线段; 然后,对线段进行分类与合并,即把在同一条直线上的线段归为一类,合并距离接近的同类线段,舍弃孤立且较短的线段(即,这里舍弃了“招商银行”四个汉字下面的一条线段); 接着,确定两对可以围成四边形的平行线段,例如可以这样进行判断线段是否平行:线段的角度相差在一定范围以内,如≤10°就可以认为是平行的,另一方面,这两对平行线段应该是接近互相垂直且线段端点彼此接近的,这样,如图5所示,将直线归纳组成四边形外框; 最后,计算此四边形的面积,若该四边形的面积与整个图像总面积之比在规定比值以上时,则认为该四边形区域就是银行卡的所在位置,例如,可以设定该规定比值为20%-80%中的任意数值,当设定该规定比值为50%的情况下,则当四边形的面积与整个图像总面积之比大于等于50%时,认为获得的四边形有效,若小于50%,则认为获得的四边形无效,舍弃该四边形。设定上述规定比值才有效的是目的在于,一方面是为了排除背景中可能存在的小四边形的干扰,另一方面是使得银行卡区域足够大,保证后续卡号识别的可行性和准确性。 再者,对于姿态变换步骤S400进行说明。图6是表示通过姿态变换步骤将银行卡区域拉伸旋转为正对状态的示意图。 在姿态变换步骤S400中,基于预先设定的银行卡的尺寸比例,对利用外框定位步骤S300所得到的银行卡外框进行姿态变换获得正对状态下的银行卡图像。 银行卡的规格按照国际标准ISO/IEC7810中ID-1标准定义为85.60×53.98mm。参照这一标准的比例,对外框定位步骤S300获取的银行卡区域进行拉伸、旋转变换,从而最终得到正对姿态下的银行卡区域,用于后续的卡号识别。这是由于,受拍摄角度和距离的影响,外框定位步骤S300获取的银行卡外框可能不是标准的长方形,且长方形的长宽比例也不是85.60:53.98这样的比例,因此需要进行拉伸,把外框定位步骤S300处理得到的四边形外框拉伸成长宽比为85.60:53.98的长方形。 另外,拍摄的银行卡可能不是正对的,为了方便后续卡号识别,因此需要旋转成图6所示的正对状态,旋转的角度为:银行卡外框中的长边与水平的夹角。 接着,对于本发明的用于识别银行卡的图像处理方法的其他变形实施方式进行说明。 在上面说明的实施方式中说明的将银行卡放置在桌面上进行扫描或者拍摄的情况,接着对于手持银行卡进行扫描或者拍摄的情况下的实施方式进行说明。 图7是表示手持银行卡的实施方式下的原始直线段检测结果的示意图。图8是手持银行卡的实施方式下的表示延长平行直线段后获取银行卡区域的示意图。当用户采用手持银行卡的方式时,银行卡的一部分就会被手指遮挡。在进行银行卡定位时,提取的原始直线段就可能存在长度较短或者有中断的情况,此时进行线段的分类与合并后,需要在两端进行更多且适当的延长,只要能组合成合适的四边形就认为是可能的银行卡外框。 该实施方式的用于识别银行卡的图像处理方法,包括下述步骤: 图像采集步骤:采集银行卡的初始图像(该步骤同上述实施方式中的图像采集步骤S100); 边缘检测步骤:检测所述初始图像的边缘像素点,以使得从所述初始图像中分离出银行卡图像(该步骤同上述实施方式中的边缘检测步骤S200); 外框定位步骤:从所述银行卡图像的边缘像素点中标记出若干个线段,对线段进行分类与合并,即把在同一条直线上的线段归为一类,合并距离接近的同类线段,舍弃孤立且较短的线段,然后在两端进行更多且适当的延长,确定两对可以围成四边形的平行线段,以使得组成合适的四边形;以及 姿态变换步骤:基于预先设定的银行卡的尺寸比例,对所述银行卡外框进行姿态变换获得正对状态下的银行卡图像(该步骤同上述实施方式中的姿态变换步骤S400)。 该实施方式中的外框定位步骤包括以下具体子步骤: 首先,利用Hough直线检测算法从边缘点中标记出若干线段,如图7所示,检测出5条线段,5条线段具体为:银行卡的四条外框的线段以及“招商银行”四个汉字下面的一条线段,其中,外框中的2边的线段存在被手指遮挡的部分; 然后,对线段进行分类与合并,即把在同一条直线上的线段归为一类,合并距离接近的同类线段,舍弃孤立且较短的线段,然后,如图9所示在两边(即外框中的2边的线段存在被手指遮挡的部分)进行更多且适当的延长,确定两对可以围成四边形的平行线段,以使得组成合适的四边形; 接着,确定两对可以围成四边形的平行线段,例如可以这样进行判断线段是否平行:线段的角度相差在一定范围以内,如≤10°就可以认为是平行的,另一方面,这两对平行线段应该是接近互相垂直且线段端点彼此接近的,这样,如图5所示,将直线归纳组成四边形外框; 最后,计算此四边形的面积,若该四边形的面积与整个图像总面积之比在规定比值以上时,则认为该四边形区域就是银行卡的所在位置,例如,可以设定该规定比值为20%-80%中的任意数值,当设定该规定比值为50%的情况下,则当四边形的面积与整个图像总面积之比大于等于50%时,认为获得的四边形有效,若小于50%,则认为获得的四边形无效,舍弃该四边形。设定上述规定比值才有效的是目的在于,一方面是为了排除背景中可能存在的小四边形的干扰,另一方面是使得银行卡区域足够大,保证后续卡号识别的可行性和准确性。 以上本发明的用于识别银行卡的图像处理方法进行了说明,接着对于本发明的本发明的用于识别银行卡的图像处理装置进行 图9是表示本发明的一实施方式的用于识别银行卡的图像处理装置的结构框图。 如图9所示,本发明的一实施方式的用于识别银行卡的图像处理装置具备: 图像采集模块100,用于采集银行卡的初始图像; 边缘检测模块200,用于检测所述初始图像的边缘像素点,基于所述边缘像素点从所述初始图像中分离出银行卡图像; 外框定位模块300,用于从所述银行卡图像的边缘像素点中标记出若干线段,根据所述若干线段确定出一个四边形区域作为银行卡外框;以及 姿态变换模块400,用于基于预先设定的银行卡的尺寸比例,对所述银行卡外框进行姿态变换获得正对状态下的银行卡图像。 其中,图像采集模块100例如可以由摄像头实现,由摄像头通过扫描或者拍摄采集银行卡的初始图像,但是,在本发明中不需要像现有技术中那样必须使得银行卡对准预先设置的银行卡框中,而是只要将银行卡放置在桌面上卡面不存在遮挡即可。 其中,边缘检测模块200采用Prewitt算法。优选地是边缘检测模块200采用高低阈值的Prewitt算法。采用采用高低阈值的Prewitt算法的具体内容如下: (a)首先设定高阈值和低阈值,以边缘像素点占比为M来确定高阈值并且设定低阈值为N,其中M>N,这里高阈值的取值标准是:当阈值取为该值时,被认定为边缘像素点的数量/整幅图像所有像素点数量=M,因此0 (b)用所确定的高阈值和低阈值分别对图像进行检测,从而相应地检测出强边缘图与弱边缘图; (c)以强边缘图作为主干,如果弱边缘与该主干相连则保留,反之则舍弃;以及 (d)进行形态学去噪作为最终结果。 外框定位模块300采用Hough直线检测算法从边缘点中标记出若干线段。 当将银行卡放置在桌面上进行扫描或者拍摄的情况下,外框定位模块300如下构成: 利用Hough直线检测算法从边缘点中标记出若干线段; 对线段进行分类与合并,即把在同一条直线上的线段归为一类,合并距离接近的同类线段,舍弃孤立且较短的线段; 确定两对可以围成四边形的平行线段,例如可以这样进行判断线段是否平行:线段的角度相差在一定范围以内,如≤10°就可以认为是平行的,另一方面,这两对平行线段应该是接近互相垂直且线段端点彼此接近的,这样,将直线归纳组成四边形外框; 计算此四边形的面积,若该四边形的面积与整个图像总面积之比在规定比值以上时,则认为该四边形区域就是银行卡的所在位置,例如,可以设定该规定比值为20%-80%中的任意数值,当设定该规定比值为50%的情况下,这样,当四边形的面积与整个图像总面积之比大于等于50%时,认为获得的四边形有效,若小于50%,则认为获得的四边形无效,舍弃该四边形。设定上述规定比值才有效的是目的在于,一方面是为了排除背景中可能存在的小四边形的干扰,另一方面是使得银行卡区域足够大,保证后续卡号识别的可行性和准确性。 作为另一个变换方式,对于手持银行卡进行扫描或者拍摄的情况下,外框定位模块300如下构成: 利用Hough直线检测算法从边缘点中标记出若干线段,其中,外框中的2边的线段存在被手指遮挡的部分; 对线段进行分类与合并,即把在同一条直线上的线段归为一类,合并距离接近的同类线段,舍弃孤立且较短的线段,然后,在两边(即外框中的2边的线段存在被手指遮挡的部分)进行更多且适当的延长,确定两对可以围成四边形的平行线段,以使得组成合适的四边形; 确定两对可以围成四边形的平行线段,例如可以这样进行判断线段是否平行:线段的角度相差在一定范围以内,如≤10°就可以认为是平行的,另一方面,这两对平行线段应该是接近互相垂直且线段端点彼此接近的,这样,将直线归纳组成四边形外框; 计算此四边形的面积,若该四边形的面积与整个图像总面积之比在规定比值以上时,则认为该四边形区域就是银行卡的所在位置,例如,可以设定该规定比值为20%-80%中的任意数值,例如当设置为50%的情况下,当四边形的面积与整个图像总面积之比大于等于50%时,认为获得的四边形有效,若小于50%,则认为获得的四边形无效,舍弃该四边形。设定上述规定比值才有效的是目的在于,一方面是为了排除背景中可能存在的小四边形的干扰,另一方面是使得银行卡区域足够大,保证后续卡号识别的可行性和准确性。 姿态变换模块400按照85.60:53.98的比例对所述银行卡外框进行拉伸并且将所述银行卡外框旋转所述银行卡外框中的长边与水平的夹角的度数。 基于上述内容,根据本发明的用于识别银行卡的图像处理方法以及用于识别银行卡的图像处理装置,能够降低用户操作难度,实现便捷绑卡,具体地能够具有以下技术特点: (1)银行卡面与摄像头不平行的情况下可以进行识别; (2)不需要银行卡边缘与扫描框重合,只要银行卡整体处于扫描框内,且面积占比超过预设的规定值即可; (3)算法复杂度小,可以在嵌入式前端实时运行,所谓嵌入式前端指具有嵌入式处理器的终端设备,主要例如有手机、平板和其他带有摄像头的智能设备(而不包括电脑或服务器),由于本发明的用于识别银行卡的图像处理方法的算法复杂度小,因此可以嵌入式终端设备运行,即直接在手机等设备上运行,而不需要把图像传到云端后台处理,避免了网络延时,从而提升用户体验。 因此,如上所述,可以将本发明的用于识别银行卡的图像处理方法以及用于识别银行卡的图像处理装置应用于更广泛的图像绑卡场景,实现用户绑卡操作的便捷化,且因为该算法的复杂度小,可以实现在嵌入式设备端实时运行的需求。 另外,本发明还提供一种移动终端,该移动终端具备上述的用于识别银行卡的图像处理装置。 本发明还提供一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述的用于识别银行卡的图像处理方法。 本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述的用于识别银行卡的图像处理方法。 以上例子主要说明了本发明的用于识别银行卡的图像处理方法以及图像处理方法。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。
- 用于识别银行卡的图像处理方法以及图像处理装置
- 信息信号处理装置、信息信号处理方法、图像信号处理装置、包含图像信号处理装置的图像显示器、系数类型数据生成装置及用于系数类型数据生成装置的方法,以及信息提供媒体