首页> 中国专利> 一种检测图像中信息卡的方法、装置和系统

一种检测图像中信息卡的方法、装置和系统

摘要

本发明公开了一种检测图像中信息卡的方法、装置及系统。其中,方法包括:在一信息卡图像中进行直线检测,根据检测到的四条边各自所对应的线段的两个端点,生成直线方程,并计算得到四个交点坐标;将所述四个交点坐标映射到信息卡的标准矩形框的四个角点上,得到透视变换矩阵,对四个直线方程表示的四条直线所包围的图像内容进行透视变换。利用根据信息卡上的信息内容布局制作的梯度模板,对透视变换后的图像内容进行梯度模板匹配,根据匹配结果,确定所述图像内容是否为正确的信息卡。本发明中的技术方案能够降低对用户配合度的要求,并提高信息卡的检测速度。

著录项

  • 公开/公告号CN106845508A

    专利类型发明专利

  • 公开/公告日2017-06-13

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN201510890003.1

  • 发明设计人 汪铖杰;倪辉;李季檩;

    申请日2015-12-07

  • 分类号G06K9/62(20060101);G06F21/36(20130101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人李莉丽;王琦

  • 地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2023-06-19 02:31:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-17

    授权

    授权

  • 2018-01-09

    实质审查的生效 IPC(主分类):G06K9/62 申请日:20151207

    实质审查的生效

  • 2017-06-13

    公开

    公开

说明书

技术领域

本发明涉及图像处理技术,特别是一种检测图像中信息卡的方法、装置和系统。

背景技术

随着互联网应用的普及,需要进行身份验证或信息交互的场合也越来越多。例如,在互联网金融应用中,有时需要上传用户的身份证图像以备身份检验或留存。又如,在有些生活类应用中,可能需要上传用户的社保卡、医保卡或驾驶证等图像以进行验证或留存等。

对于这些身份证、社保卡、医保卡或驾驶证等信息卡图像的检测,目前尚没有一种较好的识别方案,最多只能由人工来进行检测。目前对于图像中的身份证检测,有一种方法是:制作一身份证图像模板,使用模板匹配的方式搜索图像,以检测图像中的身份证。

但上述模板匹配的方法一方面对用户的配合度要求较高,即在与用户交互过程中需要用户高度配合,使得身份证在图像中和预设的大小、角度基本无偏差;另一方面,需要扫描整个图像内容进行匹配,速度慢,且容易出现无匹配。

发明内容

有鉴于此,本发明实施例中一方面提供一种检测图像中信息卡的方法,另一方面提供一种检测图像中信息卡的装置和系统,用以降低对用户配合度的要求,并提高处理速度。

本发明实施例中提供的一种检测图像中信息卡的方法,包括:

在一信息卡图像中进行直线检测,得到信息卡四条边各自所对应的一线段的两个端点;

根据每条边所对应的线段的两个端点,生成该条边对应的直线方程;

根据信息卡四条边对应的直线方程,得到四个交点坐标;

将所述四个交点坐标映射到信息卡的标准矩形框的四个角点上,得到透视变换矩阵;

根据所述透视变换矩阵,对四个直线方程表示的四条直线所包围的图像内容进行透视变换;

利用根据信息卡上的信息内容布局制作的梯度模板,对透视变换后的图像内容进行梯度模板匹配,根据匹配结果,确定所述图像内容是否为正确的信息卡。

本发明实施例中提供的一种检测图像中信息卡的装置,包括:

直线检测模块,用于在一信息卡图像中进行直线检测,得到信息卡四条边各自所对应的一线段的两个端点;

交点计算模块,用于根据每条边所对应的线段的两个端点,生成该条边对应的直线方程;根据信息卡四条边对应的直线方程,得到四个交点坐标;

变换矩阵计算模块,用于将所述四个交点坐标映射到信息卡的标准矩形框的四个角点上,得到透视变换矩阵;

透视变换模块,用于根据所述透视变换矩阵,对四个直线方程表示的四条直线所包围的图像内容进行透视变换;

模板匹配模块,用于利用根据信息卡上的信息内容布局制作的梯度模板,对透视变换后的图像内容进行梯度模板匹配,根据匹配结果,确定所述图像内容是否为正确的信息卡。

本发明实施例中提供的一种检测图像中信息卡的系统,包括:客户端和服务器;其中,

所述客户端用于将一信息卡图像提供给所述服务器;

所述服务器用于在所述信息卡图像中进行直线检测,得到信息卡四条边各自所对应的一线段的两个端点;根据每条边所对应的线段的两个端点,生成该条边对应的直线方程;根据信息卡四条边对应的直线方程,得到四个交点坐标;将所述四个交点坐标映射到信息卡的标准矩形框的四个角点上,得到透视变换矩阵;根据所述透视变换矩阵,对四个直线方程表示的四条直线所包围的图像内容进行透视变换;利用根据信息卡上的信息内容布局制作的梯度模板,对透视变换后的图像内容进行梯度模板匹配,根据匹配结果,确定所述图像内容是否为正确的信息卡。

可见,本发明实施例中,通过在一信息卡图像中进行直线检测可得到拍摄变形的信息卡四条边中每条边对应的线段的两个端点,根据每条边对应的线段的两个端点可得到该条边对应的直线方程,进而可根据四条边对应的直线方程得到四个交点坐标。通过将四个交点坐标映射到信息卡的标准矩形框的四个角点上,可得到一透视变换矩阵;进而可根据该透视变换矩阵,对四个直线方程表示的四条直线所包围的图像内容进行透视变换,至此,拍摄变形的信息卡的图像内容被转换为标准信息卡的图像内容。 可见,本发明实施例中的技术方案由于可实现变形图像的自动校正,因此可降低对用户配合度的要求。之后再利用根据信息卡上的信息内容布局制作的梯度模板,对透视变换后的图像内容进行梯度模板匹配,从而可根据匹配结果确定所述图像内容是否为正确的信息卡。可见,本发明实施例中的技术方案仅对进行梯度匹配,因此无需扫描整个图像内容进行匹配,速度较快。

附图说明

为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,

图1为本发明实施例中一种检测图像中信息卡的方法的示例性流程图;

图2为本发明实施例中一种身份证的信息内容布局示意图;

图3为本发明实施例中一种信息卡放置区域框的指示示意图;

图4为本发明实施例中一种检测图像中信息卡的装置的示例性结构图;

图5为本发明实施例中一种检测图像中信息卡的系统的示例性结构图;

图6为本发明实施例中一种客户端设备的结构示意图;

图7为本发明实施例中一种服务器设备的结构示意图。

具体实施方式

本发明实施例中,为了降低对用户的配合度要求,则需考虑信息卡在拍摄得到的信息卡图像中有可能会产生变形,例如,矩形的信息卡在信息卡图像中变为梯形等,为此在检测信息卡的图像内容之前,应首先对其进行尺寸进行校准,之后再对图像内容进行检测。

为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。

为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不 限于仅根据……”。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。

图1为本发明实施例中一种检测图像中信息卡的方法的示例性流程图。如图1所示,该方法可包括如下处理。

步骤101,在一信息卡图像中进行直线检测,得到信息卡四条边各自所对应的一线段的两个端点。

本步骤中,考虑到信息卡图像的分辨率或拍摄时光线等的影响,在信息卡图像中进行直线检测时,不一定都能得到信息卡四条边中每条边的完整线段,对应某条边,也许只能检测到该条边的一部分线段,或者检测到的线段的某一端超出该条边一部分等,但不管怎样,其至少有一部分是与该条边相重合的。

本实施例中,对于检测到的每条线段可记录该线段的两个端点。

步骤102,根据每条边所对应的线段的两个端点,生成该条边对应的直线方程,根据信息卡四条边对应的直线方程,得到四个交点坐标。

本步骤中,正是考虑到步骤101中检测到的线段有可能比信息卡的边短,因此首先根据线段端点计算出直线方程,再根据四个直线方程计算出信息卡图像中卡片的四个交点坐标。

步骤103,将所述四个交点坐标映射到设定的信息卡的标准矩形框的四个角点上,得到透视变换矩阵。

本实施例中,可首先设定信息卡的一个标准矩形框,该标准矩形框与实际信息卡的尺寸具有设定的比例关系。则本步骤中,可利用透视变换方法,将步骤102中得到的四个交点坐标映射到该标准矩形框的四个角点上,从而得到透视变换矩阵。

步骤104,根据所述透视变换矩阵,对四个直线方程表示的四条直线所包围的图像内容进行透视变换。

本步骤中,通过将四个直线方程表示的四条直线所包围的图像内容利用步骤103中得到的透视变换矩阵进行透视变换,可实现对变形的信息卡图像的尺寸校准。本实施例中通过采用尺寸校准,可降低对用户配合度的要求。

步骤105,利用根据信息卡上的信息内容布局制作的梯度模板,对透视变换后的图像内容进行梯度模板匹配,根据匹配结果,确定所述图像内容是否为正确的信息卡。

本实施例中,制作梯度模板的方法可有多种,下面列举其中一种:

考虑到对应某一类型的信息卡,其上的信息内容通常是固定布局的。例如, 图2示出了一身份证的信息内容布局。如图2所示,该身份证上显示姓名、性别、民族、出生年月日、住址以及公民身份号码等的区域为信息内容区域,身份证上不显示任何信息的区域为非信息内容区域。

因此,本实施例中,在制作梯度模板时,考虑将信息卡中信息内容区域的部分或全部作为第一梯度区域,将信息卡中非信息内容区域的部分或全部作为第二梯度区域。例如,图2中,可将标号1指示的区域确定为第一梯度区域,将标号2指示的区域确定为第二梯度区域。之后,可根据第一梯度区域的平均梯度以及第二梯度区域的平均梯度分别确定一个用于检测图像中的信息卡的梯度阈值,即根据信息卡上设定的信息内容区域(即第一梯度区域)确定第一梯度阈值,根据信息卡上设定的非信息内容区域(即第二梯度区域)确定第二梯度阈值。至此,梯度模板制作完毕。

相应地,本步骤中,可首先根据信息卡上的信息内容布局,在透视变换后的图像内容中按比例确定出对应第一梯度区域的第一区域和对应第二梯度区域的第二区域。

然后,对第一区域内的图像内容进行平均梯度值计算,得到第一平均梯度值;对第二区域内的图像内容进行平均梯度值计算,得到第二平均梯度值。最后,判断所述第一平均梯度值是否大于所述第一梯度阈值,且所述第二平均梯度值是否小于所述第二梯度阈值,如果所述第一平均梯度值大于所述第一梯度阈值,且所述第二平均梯度值小于所述第二梯度阈值,则可确定所述变换后的图像内容为正确的信息卡;否则,确定所述变换后的图像内容不是正确的信息卡。

在一个应用例子中,发现上述梯度匹配的方法相较模板匹配的方法,其处理速度可提高10倍,且不会出现误检。

本实施例中,为了进一步提高检测的速度,可在步骤101之前进一步执行如下步骤100:在用户界面上生成一信息卡放置区域框,用于指示用户将一信息卡置于所述区域框内进行拍摄,并在该信息卡放置区域框的引导下获取所述信息卡图像。

图3为本发明实施例中一种信息卡放置区域框的指示示意图。如图3所示,标号3指示的矩形框为本发明一个例子中的信息卡放置区域框。

相应地,步骤101中可在对应所述信息卡放置区域框的位置附近进行直线检测。考虑到用户放置卡片时的抖动或误差,本实施例中,对应信息卡放置区域框的每条边分别设置一个检测范围,如图3中所示的标号31、32、33、34所指示的区域,即步骤101中可在对应所述信息卡放置区域框的每条边的预定范围内,对 所述信息卡图像中进行直线检测,从而进一步提高了检测的速度。

在一个应用例子中,采用本实施例中的技术方案,能够处理信息卡在图像中出现与预定直线正负5度以内的偏差,并能够处理与预定大小10%以内的尺寸误差。

实际应用中,上述方法可以全部在客户端侧完成,例如,可生成一个客户端侧的应用程序(APP),则该客户端执行步骤101至步骤105。如果还包括步骤100,则该客户端执行步骤100至步骤105。或者,上述方法也可以主要在服务器侧完成,此时客户端可主要负责将用户的信息卡图像上传给服务器侧,由服务器侧执行步骤101至步骤105。当然,如果还包括步骤100的话,则步骤100也在客户端侧完成。此时,对于服务器侧来说,所述信息卡图像为在一信息卡放置区域框的引导下获取的信息卡图像;所述服务器可在对应所述信息卡放置区域框的每条边的预定范围内,对所述信息卡图像中进行直线检测。

下述为本发明装置实施例,可以用于执行本发明对应的方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例中的描述。

图4为本发明实施例中一种检测图像中信息卡的装置的示例性结构图。如图4中的实线部分所示,该装置可包括:直线检测模块401、交点计算模块402、变换矩阵计算模块403、透视变换模块404和模板匹配模块405。

其中,直线检测模块401用于在一信息卡图像中进行直线检测,得到信息卡四条边各自所对应的一线段的两个端点。

交点计算模块402用于根据每条边所对应的线段的两个端点,生成该条边对应的直线方程;根据信息卡四条边对应的直线方程,得到四个交点坐标。

变换矩阵计算模块403用于将所述四个交点坐标映射到信息卡的标准矩形框的四个角点上,得到透视变换矩阵。

透视变换模块404用于根据所述透视变换矩阵,对四个直线方程表示的四条直线所包围的图像内容进行透视变换。

模板匹配模块405用于利用根据信息卡上的信息内容布局制作的梯度模板,对透视变换后的图像内容进行梯度模板匹配,根据匹配结果,确定所述图像内容是否为正确的信息卡。

在一个实施方式中,根据信息卡上的信息内容布局制作的梯度模板可包括:根据信息卡上的信息内容布局确定的对应设定的信息内容区域的第一梯度区域和对应设定的非信息内容区域的第二梯度区域,以及根据第一梯度区域的平均梯度确定的第一梯度阈值和根据第二梯度区域的平均梯度确定的第二梯度阈值。相应 地,该模板匹配模块405可包括:区域确定子模块4051、平均梯度值计算子模块4052和结果判断子模块4053。

其中,区域确定子模块4051用于根据信息卡上的信息内容布局,在透视变换后的图像内容中按比例确定出对应第一梯度区域的第一区域和对应第二梯度区域的第二区域。

平均梯度值计算子模块4052用于对第一区域内的图像内容进行平均梯度值计算,得到第一平均梯度值;对第二区域内的图像内容进行平均梯度值计算,得到第二平均梯度值。

结果判断子模块4053用于在所述第一平均梯度值大于所述第一梯度阈值,且所述第二平均梯度值小于所述第二梯度阈值时,确定所述变换后的图像内容为正确的信息卡;否则,确定所述变换后的图像内容不是正确的信息卡。

图4实线部分所示装置可在客户端侧实现,也可在服务器侧实现。如果在服务器侧实现,则客户端可将获取的用户的信息卡图像上传给所述服务器侧。

进一步地,该装置可进一步如虚线部分所示包括:用户界面模块406和图像获取模块407。

其中,用户界面模块406用于生成一信息卡放置区域框,用于指示用户将一信息卡置于所述区域框内进行拍摄。

图像获取模块407用于获取一信息卡图像。

其中,对于图4中的虚线部分所示的用户界面模块406和图像获取模块407在客户端侧实现。

相应地,对于图4实线部分所示装置在服务器侧实现的情况,客户端侧将在一信息卡放置区域框的引导下获取的信息卡图像上传给服务器侧,服务器侧可相应地在对应所述信息卡放置区域框的每条边的预定范围内,对所述信息卡图像中进行直线检测,以提高检测速度。此时,客户端侧可进一步包括一发送模块(图中未示出),用于将所述图像获取模块407获取的信息卡图像发送给所述服务器;相应地,服务器侧可进一步包括一接收模块(图中未示出),用于接收所述信息卡图像,并将所述信息卡图像提供给所述直线检测模块401。

图5为本发明实施例中一种检测图像中信息卡的系统的示例性结构图。如图5所示,该系统包括:客户端501和服务器502。

其中,客户端501用于将一信息卡图像提供给所述服务器502。

服务器502用于在所述信息卡图像中进行直线检测,得到信息卡四条边各自所对应的一线段的两个端点;根据每条边所对应的线段的两个端点,生成该条边 对应的直线方程;根据信息卡四条边对应的直线方程,得到四个交点坐标;将所述四个交点坐标映射到信息卡的标准矩形框的四个角点上,得到透视变换矩阵;根据所述透视变换矩阵,对四个直线方程表示的四条直线所包围的图像内容进行透视变换;利用根据信息卡上的信息内容布局制作的梯度模板,对透视变换后的图像内容进行梯度模板匹配,根据匹配结果,确定所述图像内容是否为正确的信息卡。

在一个实施方式中,根据信息卡上的信息内容布局制作的梯度模板可包括:根据信息卡上的信息内容布局确定的对应设定信息内容区域的第一梯度区域和对应设定非信息内容区域的第二梯度区域,以及根据第一梯度区域的平均梯度确定的第一梯度阈值和根据第二梯度区域的平均梯度确定的第二梯度阈值;

相应地,服务器502可用于根据信息卡上的信息内容布局,在透视变换后的图像内容中按比例确定出对应第一梯度区域的第一区域和对应第二梯度区域的第二区域;对第一区域内的图像内容进行平均梯度值计算,得到第一平均梯度值;对第二区域内的图像内容进行平均梯度值计算,得到第二平均梯度值;在所述第一平均梯度值大于所述第一梯度阈值,且所述第二平均梯度值小于所述第二梯度阈值时,确定所述变换后的图像内容为正确的信息卡;否则,确定所述变换后的图像内容不是正确的信息卡。

在一个实施方式中,客户端501可用于在用户界面上生成一信息卡放置区域框,用于指示用户将一信息卡置于所述区域框内进行拍摄;并在所述信息卡放置区域框的引导下获取所述信息卡图像,将获取的信息卡图像上传给服务器502。相应地,服务器502可用于在对应所述信息卡放置区域框的每条边的预定范围内,对所述信息卡图像中进行直线检测。

另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。

例如,图6为本发明实施例中一种客户端设备的结构示意图。如图6所示,该客户端设备可用于实现图1所示方法以及图4所示装置。如图6所示,该客户端设备可包括:处理器601、非易失性计算机可读存储器602、显示单元603、网络通信接口604、I/O接口605和摄像头606。这些组件通过总线607进行通信。

本实施例中,存储器602中存储有多个程序模块,例如:操作系统608、I/O模块609、网络通信模块610和应用程序611。

处理器601可以读取存储器602中的应用程序611所包括的各种模块来执行终端设备的各种功能应用以及数据处理。本实施例中的处理器601可以为一个,也可以为多个,其可以为CPU,处理单元/模块,ASIC,逻辑模块或可编程门阵列等。

其中,操作系统608包括但不限于:Android操作系统、Windows操作系统、苹果iOS操作系统、苹果Mac OS操作系统等等。

应用程序611可包括图4所示装置中的各个功能模块,并形成对应的计算机可执行指令集612及对应的元数据和启发式算法613。这些计算机可执行指令集可以由所述处理器601执行并完成图1所示方法或图4所示装置的功能。

在本实施例中,网络通信接口604与网络通信模块610相配合完成终端设备各种网络信号的收发,包括与服务器之间的信息卡图像数据传输及网络数据交互等。

显示单元603具有一显示面板,用于完成相关信息的输入及显示,包括显示信息卡放置区域框以及获取的信息卡图像。

在本发明实施例中,I/O接口605与摄像头606相连。此外,还可以有其它的I/O接口,用于与其它输入/输出设备,如触控面板(如触摸屏)等连接。I/O接口605将从摄像头606接收到的信息卡图像数据发送给I/O模块609进行处理。

应用程序611可包括图4所示装置中的虚线部分的各个功能模块。或者,也可包括图4所示装置中的实线部分的各个功能模块。又或者,还可同时包括图4所示装置中虚线部分和实线部分的各个功能模块。这些功能模块可以为由所述处理器601来执行的计算机可执行指令。其中,图像获取模块407可用于通过I/O模块609获取摄像头606采集的信息卡图像数据。

图7为本发明实施例中一种服务器设备的结构示意图。如图7所示,该服务器设备可包括:处理器701、非易失性计算机可读存储器702、输入输出控制器703、网络通信接口704。这些组件通过总线705进行通信。

本实施例中,存储器702中存储有多个程序模块,如操作系统706、网络通信模块707和应用程序708。

处理器701可以读取存储器702中的应用程序中的各种模块(图中未示出)来执行服务器设备的各种功能应用以及数据处理。本实施例中的处理器701可以为一个,也可以为多个,其可以为CPU,处理单元/模块,ASIC,逻辑模块或可编程门阵列等。

输入输出控制器703具有显示器和输入设备,用于完成相关数据的输入、输出及显示等。

操作系统706包括但不限于:Android操作系统、Symbian操作系统、Windows操作系统、Linux操作系统等等。

应用程序708可包括图4所示装置中的实线部分的各个功能模块。这些功能模块可以为由所述处理器701来执行的计算机可执行指令集709及对应的元数据和启发式算法710。

本实施例中,网络通信接口704与网络通信模块706相配合完成服务器设备各种网络信号的收发,包括与客户端设备之间的信息卡图像数据传输及网络数据交互等。

本发明还提供了一种存储介质,如非易失性计算机可读存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号