CN109685074B - 一种基于Scharr算子的银行卡卡号行定位方法 - Google Patents

一种基于Scharr算子的银行卡卡号行定位方法 Download PDF

Info

Publication number
CN109685074B
CN109685074B CN201811211384.6A CN201811211384A CN109685074B CN 109685074 B CN109685074 B CN 109685074B CN 201811211384 A CN201811211384 A CN 201811211384A CN 109685074 B CN109685074 B CN 109685074B
Authority
CN
China
Prior art keywords
bank card
line
image
card surface
card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811211384.6A
Other languages
English (en)
Other versions
CN109685074A (zh
Inventor
柯逍
刘诗勤
牛玉贞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201811211384.6A priority Critical patent/CN109685074B/zh
Publication of CN109685074A publication Critical patent/CN109685074A/zh
Application granted granted Critical
Publication of CN109685074B publication Critical patent/CN109685074B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Character Input (AREA)
  • Credit Cards Or The Like (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明涉及一种基于Scharr算子的银行卡卡号行定位方法,包括以下步骤:步骤S1:使用CANNYLINES直线检测方法检测输入银行卡卡面图像中存在的线段;步骤S2:对CANNLINES直线检测得到的直线进行判断,找出银行卡卡面的4条边,并由此得到银行卡卡面的4个顶点;步骤S3:使用透视变换对银行卡卡面进行矫正,得到归一化的标准银行卡卡面图像;步骤S4:利用Scharr算子检测银行卡面的垂直边缘,并按行累加,定位其中累加值最大的固定高度横向区域,得到银行卡卡号行区域。本发明能够有效地对待检测图像中的银行卡卡号行进行定位。

Description

一种基于Scharr算子的银行卡卡号行定位方法
技术领域
本发明涉及深度学习与计算机视觉领域,特别是一种基于Scharr算子的银行卡卡号行定位方法。
背景技术
自然场景中出现的文本是我们一个重要的信息来源。例如广告牌、交通标识、各类证件上的文字等,这些文本包含着明确的语义信息,为人们提供必要的指示和提醒。如果能够实现对这些文本的检测和识别就可以实现对这些场景内容的理解和分析。伴随着人类科技进步,使用机器检测并理解场景中的文本成为了一个必然的趋势。随着带有摄像头的移动设备的广泛使用以及移动支付的不断发展,人们已经开始习惯使用手机应用进行支付,如支付宝、微信支付等。银行卡卡号检测和识别技术能帮助这些支付平台的用户自动输入卡号。与人工录入卡号相比,银行卡自动检测与识别技术速度更快,精度更高,体验更好。
使用传统方法定位自然场景下银行卡卡号行面临一些问题,例如:银行卡卡面矫正率不高,无法在水平方向上定位卡号行;银行卡卡号和背景相似,利用传统水平投影方法进行卡号行定位会产生误差;投影方法定位卡号行的依据是假设银行卡图像二值化后黑色部分是卡号行,但卡号的颜色、银行卡的背景多种多样,上述假设对很多银行卡图像都是错误的;拍摄的银行卡卡面倾斜变形,使用传统矩形检测方法无法确保银行卡卡面定位的准确性。
自然场景下的银行卡卡号行定位在生产生活中扮演着重要的角色,但其研究进展缓慢,其原因可以归结为三点:属于隐私数据的银行卡数据集难以收集、银行卡类别繁多和银行卡拍摄场景复杂。
发明内容
有鉴于此,本发明的目的是提出一种基于Scharr算子的银行卡卡号行定位方法,能够有效地对待检测图像中的银行卡卡号行进行定位。
本发明采用以下方案实现:一种基于Scharr算子的银行卡卡号行定位方法,包括以下步骤:
步骤S1:使用CANNYLINES直线检测方法检测输入银行卡卡面图像中存在的线段;
步骤S2:对CANNLINES直线检测得到的直线进行判断,找出银行卡卡面的4 条边,并由此得到银行卡卡面的4个顶点;
步骤S3:使用透视变换对银行卡卡面进行矫正,得到归一化的标准银行卡卡面图像;
步骤S4:利用Scharr算子检测银行卡面的垂直边缘,并按行累加,定位其中累加值最大的固定高度横向区域,得到银行卡卡号行区域。
进一步地,步骤S1具体包括以下步骤:
步骤S11:使用的一个无参数Canny边缘检测器,即CannyPF,从输入图像中提取边缘图,根据输入图像的梯度大小自适应地调整Canny算子的阈值,用以保证图像结构信息的完整性;
步骤S12:从梯度最大的边缘像素点开始,将边缘图中方向相同的相邻像素点连接起来,完成边缘连接;对连接形成的过长线段进行拆分,用以得到短的初始线段;
步骤S13:将初始线段在两端的方向上同时延伸,以将更多的边缘像素点加入线段,并且和周围共线的线段合并;
步骤S14:使用一种基于Helmholtz原理的直线验证方法,同时使用梯度方向和梯度大小验证每一条线段。
进一步地,步骤S2具体包括以下步骤:
步骤S21:对步骤S1得到的所有线段进行计算,得到图像最上侧、最下侧的近水平线段Ltop、Lbottom,且线段长度必须大于图像长度的0.07倍;得到图像最左侧、最右侧的近垂直线段Lleft、Lright,且线段长度必须大于图像宽度的0.07倍;近水平线段的定义是线段的斜率ki满足:
Figure RE-GDA0001991751000000021
i为线段序号;近垂直线段的定义是线段的斜率ki满足:
Figure RE-GDA0001991751000000022
步骤S22:通过Ltop、Lbottom、Lleft、Lright四条银行卡卡面边缘直线的交点获得银行卡卡面的4个顶点c1,c2,c3,c4,其中,c1是左上角顶点,c2是右上角顶点,c3是左下角顶点,c4是右下角顶点。
进一步地,步骤S3具体包括以下步骤:
步骤S31:对步骤S2所得到的银行卡卡面4个顶点c1,c2,c3,c4进行透视变换,变换公式如下:
Figure RE-GDA0001991751000000031
式中,u,v是原始图片坐标,对应变换后得到的图片坐标x,y,w表示映射到三维空间中后第三维的坐标,x',y',w'表示映射到另一个三维空间后的三个坐标,其中x=x′/w′,y=y′/w′,w=1;变换矩阵
Figure RE-GDA0001991751000000032
中a11,a12,…,a33为变换参数;
步骤S32:将通过透视变换矫正后的图片归一化到856×540;得到归一化的标准银行卡卡面图像。
进一步地,步骤S31中,所述变换矩阵分为四个部分,
Figure RE-GDA0001991751000000033
表示线性变换,包括缩放、翻转在内的操作,[a31 a32]用于平移,[a13 a23]T产生透视变换,坐标的变换公式如下所示:
Figure RE-GDA0001991751000000034
Figure RE-GDA0001991751000000035
进一步地,步骤S4具体包括以下步骤:
步骤S41:对步骤S3得到的归一化的标准银行卡卡面图像使用Scharr算子中的垂直边缘检测算子Gx,其中I代表原始图像矩阵,其计算公式为:
Figure RE-GDA0001991751000000041
步骤S42:对Gx的每一行进行累加,得到
Figure RE-GDA0001991751000000042
其中k为标准银行卡卡面图像的行序号;
步骤S43:逐行扫描整张标准银行卡卡面图像,计算区域最大分数Maxscore,计算公式如下:
Figure RE-GDA0001991751000000043
式中,Pheight是标准化银行卡卡面的高度,从Pheight/3开始计算是为了去除上半部分区域文字的干扰;Maxscore取最大值时,第k行就是银行卡卡号行区域的起始行,第k+53行就是银行卡卡号行区域的截止行。
与现有技术相比,本发明有以下有益效果:本发明构建的银行卡卡号行定位方法能够提高银行卡卡号行定位的准确率。在银行卡卡面矫正步骤中,能将大部分自然场景下的银行卡矫正成归一化的标准银行卡,以便于进行银行卡卡号行定位。而在卡号行定位步骤中,对于标准银行卡图像,Scharr算子能够提取银行卡卡号的垂直边缘特征,去除银行卡背景的干扰,得到100%准确定位的结果。
附图说明
图1为本发明实施例的基于Scharr算子的银行卡卡号行定位方法的原理图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和 /或它们的组合。
如图1所示,本实施例提供了一种基于Scharr算子的银行卡卡号行定位方法,包括以下步骤:
步骤S1:使用CANNYLINES直线检测方法检测输入银行卡卡面图像中存在的线段;
步骤S2:对CANNLINES直线检测得到的直线进行判断,找出银行卡卡面的4 条边,并由此得到银行卡卡面的4个顶点;
步骤S3:使用透视变换对银行卡卡面进行矫正,得到归一化的标准银行卡卡面图像;
步骤S4:利用Scharr算子检测银行卡面的垂直边缘,并按行累加,定位其中累加值最大的固定高度横向区域,得到银行卡卡号行区域。
在本实施例中,步骤S1具体包括以下步骤:
步骤S11:使用的一个无参数Canny边缘检测器,即CannyPF,从输入图像中提取边缘图,根据输入图像的梯度大小自适应地调整Canny算子的阈值,用以保证图像结构信息的完整性;
步骤S12:从梯度最大的边缘像素点开始,将边缘图中方向相同的相邻像素点连接起来,完成边缘连接;对连接形成的过长线段进行拆分,用以得到短的初始线段;
步骤S13:将初始线段在两端的方向上同时延伸,以将更多的边缘像素点加入线段,并且和周围共线的线段合并;
步骤S14:使用一种基于Helmholtz原理的直线验证方法,同时使用梯度方向和梯度大小验证每一条线段。
在本实施例中,步骤S2具体包括以下步骤:
步骤S21:对步骤S1得到的所有线段进行计算,得到图像最上侧、最下侧的近水平线段Ltop、Lbottom,且线段长度必须大于图像长度的0.07倍;得到图像最左侧、最右侧的近垂直线段Lleft、Lright,且线段长度必须大于图像宽度的0.07倍;近水平线段的定义是线段的斜率ki满足:
Figure RE-GDA0001991751000000061
i为线段序号;近垂直线段的定义是线段的斜率ki满足:
Figure RE-GDA0001991751000000062
步骤S22:通过Ltop、Lbottom、Lleft、Lright四条银行卡卡面边缘直线的交点获得银行卡卡面的4个顶点c1,c2,c3,c4,其中,c1是左上角顶点,c2是右上角顶点,c3是左下角顶点,c4是右下角顶点。
在本实施例中,步骤S3具体包括以下步骤:
步骤S31:对步骤S2所得到的银行卡卡面4个顶点c1,c2,c3,c4进行透视变换,变换公式如下:
Figure RE-GDA0001991751000000063
式中,u,v是原始图片坐标,对应变换后得到的图片坐标x,y,w表示映射到三维空间中后第三维的坐标,x',y',w'表示映射到另一个三维空间后的三个坐标,其中x=x′/w′,y=y′/w′,w=1;变换矩阵
Figure RE-GDA0001991751000000064
中a11,a12,…,a33为变换参数;
步骤S32:将通过透视变换矫正后的图片归一化到856×540;得到归一化的标准银行卡卡面图像。
在本实施例中,步骤S31中,所述变换矩阵分为四个部分,
Figure RE-GDA0001991751000000065
表示线性变换,包括缩放、翻转在内的操作,[a31 a32]用于平移,[a13 a23]T产生透视变换,坐标的变换公式如下所示:
Figure RE-GDA0001991751000000066
Figure RE-GDA0001991751000000071
在本实施例中,步骤S4具体包括以下步骤:
步骤S41:对步骤S3得到的归一化的标准银行卡卡面图像使用Scharr算子中的垂直边缘检测算子Gx,其中I代表原始图像矩阵,其计算公式为:
Figure RE-GDA0001991751000000072
步骤S42:对Gx的每一行进行累加,得到
Figure RE-GDA0001991751000000073
其中k为标准银行卡卡面图像的行序号;
步骤S43:逐行扫描整张标准银行卡卡面图像,计算区域最大分数Maxscore,计算公式如下:
Figure RE-GDA0001991751000000074
式中,Pheight是标准化银行卡卡面的高度,从Pheight/3开始计算是为了去除上半部分区域文字的干扰;Maxscore取最大值时,第k行就是银行卡卡号行区域的起始行,第k+53行就是银行卡卡号行区域的截止行。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (1)

1.一种基于Scharr算子的银行卡卡号行定位方法,其特征在于:包括以下步骤:
步骤S1:使用CANNYLINES直线检测方法检测输入银行卡卡面图像中存在的线段;
步骤S2:对CANNYLINES 直线检测得到的直线进行判断,找出银行卡卡面的4条边,并由此得到银行卡卡面的4个顶点;
步骤S3:使用透视变换对银行卡卡面进行矫正,得到归一化的标准银行卡卡面图像;
步骤S4:利用Scharr算子检测银行卡面的垂直边缘,并按行累加,定位其中累加值最大的固定高度横向区域,得到银行卡卡号行区域;
步骤S1具体包括以下步骤:
步骤S11:使用的一个无参数Canny边缘检测器,即CannyPF,从输入图像中提取边缘图,根据输入图像的梯度大小自适应地调整Canny算子的阈值,用以保证图像结构信息的完整性;
步骤S12:从梯度最大的边缘像素点开始,将边缘图中方向相同的相邻像素点连接起来,完成边缘连接;对连接形成的过长线段进行拆分,用以得到短的初始线段;
步骤S13:将初始线段在两端的方向上同时延伸,以将更多的边缘像素点加入线段,并且和周围共线的线段合并;
步骤S14:使用一种基于Helmholtz原理的直线验证方法,同时使用梯度方向和梯度大小验证每一条线段;
步骤S2具体包括以下步骤:
步骤S21:对步骤S1得到的所有线段进行计算,得到图像最上侧、最下侧的近水平线段Ltop、Lbottom,且线段长度必须大于图像长度的0.07倍;得到图像最左侧、最右侧的近垂直线段Lleft、Lright,且线段长度必须大于图像宽度的0.07倍;近水平线段的定义是线段的斜率ki满足:
Figure FDA0003546707040000011
i为线段序号;近垂直线段的定义是线段的斜率ki满足:
Figure FDA0003546707040000012
步骤S22:通过Ltop、Lbottom、Lleft、Lright四条银行卡卡面边缘直线的交点获得银行卡卡面的4个顶点c1,c2,c3,c4,其中,c1是左上角顶点,c2是右上角顶点,c3是左下角顶点,c4是右下角顶点;
步骤S3具体包括以下步骤:
步骤S31:对步骤S2所得到的银行卡卡面4个顶点c1,c2,c3,c4进行透视变换,变换公式如下:
Figure FDA0003546707040000021
式中,u,v是原始图片坐标,对应变换后得到的图片坐标x,y,w表示映射到三维空间中后第三维的坐标,x',y',w'表示映射到另一个三维空间后的三个坐标,其中x=x′/w′,y=y′/w′,w=1;变换矩阵
Figure FDA0003546707040000022
中a11,a12,…,a33为变换参数;
步骤S32:将通过透视变换矫正后的图片归一化到856×540;得到归一化的标准银行卡卡面图像;
步骤S31中,所述变换矩阵分为四个部分,
Figure FDA0003546707040000023
表示线性变换,包括缩放、翻转在内的操作,[a31 a32]用于平移,[a13 a23]T产生透视变换,坐标的变换公式如下所示:
Figure FDA0003546707040000024
Figure FDA0003546707040000025
步骤S4具体包括以下步骤:
步骤S41:对步骤S3得到的归一化的标准银行卡卡面图像使用Scharr算子中的垂直边缘检测算子Gx,其中I代表原始图像矩阵,其计算公式为:
Figure FDA0003546707040000026
步骤S42:对Gx的每一行进行累加,得到
Figure FDA0003546707040000027
其中k为标准银行卡卡面图像的行序号;
步骤S43:逐行扫描整张标准银行卡卡面图像,计算区域最大分数Maxscore,计算公式如下:
Figure FDA0003546707040000031
式中,Pheight是标准化银行卡卡面的高度,从Pheight/3开始计算是为了去除上半部分区域文字的干扰;Maxscore取最大值时,第k行是银行卡卡号行区域的起始行,第k+53行是银行卡卡号行区域的截止行。
CN201811211384.6A 2018-10-17 2018-10-17 一种基于Scharr算子的银行卡卡号行定位方法 Active CN109685074B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811211384.6A CN109685074B (zh) 2018-10-17 2018-10-17 一种基于Scharr算子的银行卡卡号行定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811211384.6A CN109685074B (zh) 2018-10-17 2018-10-17 一种基于Scharr算子的银行卡卡号行定位方法

Publications (2)

Publication Number Publication Date
CN109685074A CN109685074A (zh) 2019-04-26
CN109685074B true CN109685074B (zh) 2022-05-10

Family

ID=66185701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811211384.6A Active CN109685074B (zh) 2018-10-17 2018-10-17 一种基于Scharr算子的银行卡卡号行定位方法

Country Status (1)

Country Link
CN (1) CN109685074B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507759A (zh) * 2019-09-16 2021-03-16 中国银联股份有限公司 用于识别银行卡的图像处理方法以及图像处理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407980A (zh) * 2016-11-03 2017-02-15 贺江涛 一种基于图像处理的银行卡号码识别方法
CN106504263A (zh) * 2016-11-04 2017-03-15 辽宁工程技术大学 一种图像的快速连续边缘提取方法
CN107742120A (zh) * 2017-10-17 2018-02-27 北京小米移动软件有限公司 银行卡卡号的识别方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223584B2 (en) * 2016-11-01 2019-03-05 Ncr Corporation Document detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407980A (zh) * 2016-11-03 2017-02-15 贺江涛 一种基于图像处理的银行卡号码识别方法
CN106504263A (zh) * 2016-11-04 2017-03-15 辽宁工程技术大学 一种图像的快速连续边缘提取方法
CN107742120A (zh) * 2017-10-17 2018-02-27 北京小米移动软件有限公司 银行卡卡号的识别方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于opencv图像边缘检测技术;李华琛;《万方数据知识服务平台期刊库》;20161220;第40-42页 *

Also Published As

Publication number Publication date
CN109685074A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN106156761B (zh) 面向移动终端拍摄的图像表格检测与识别方法
CN111507251B (zh) 试题图像中作答区域的定位方法、装置、电子设备及计算机存储介质
US10885644B2 (en) Detecting specified image identifiers on objects
US10713528B2 (en) System for determining alignment of a user-marked document and method thereof
CN109657665B (zh) 一种基于深度学习的发票批量自动识别系统
US9171204B2 (en) Method of perspective correction for devanagari text
Tian et al. Rectification and 3D reconstruction of curved document images
CN103745104B (zh) 一种基于增强现实技术的评卷方法
US8755595B1 (en) Automatic extraction of character ground truth data from images
EP3940589B1 (en) Layout analysis method, electronic device and computer program product
CN106778996A (zh) 嵌入有视觉图像的二维码的生成系统和方法以及读取系统
CN104794479B (zh) 基于局部笔画宽度变换的自然场景图片中文本检测方法
CN111783757A (zh) 一种基于ocr技术的复杂场景下身份证识别方法
CN112926469B (zh) 基于深度学习ocr与版面结构的证件识别方法
CN111353961B (zh) 一种文档曲面校正方法及装置
CN107679442A (zh) 单证信息录入的方法、装置、计算机设备及存储介质
CN109409356A (zh) 一种基于swt的多方向中文印刷体文字检测方法
JP4904330B2 (ja) 画像からテキストを抽出する方法及び装置
CN109685074B (zh) 一种基于Scharr算子的银行卡卡号行定位方法
Cambra et al. Towards robust and efficient text sign reading from a mobile phone
CN115063279B (zh) 一种文本水印图像的预处理方法和装置
KR20110087620A (ko) 레이아웃 기반의 인쇄매체 페이지 인식방법
KR100603618B1 (ko) 어파인 변환을 이용한 문서 영상의 기하학적 왜곡 보정장치 및 방법
CN111507991B (zh) 特征区域的遥感图像分割方法及装置
CN104462111A (zh) 图像检索数据库建立方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant