JP6563084B1 - カード番号認識装置およびカード番号認識方法 - Google Patents

カード番号認識装置およびカード番号認識方法 Download PDF

Info

Publication number
JP6563084B1
JP6563084B1 JP2018118816A JP2018118816A JP6563084B1 JP 6563084 B1 JP6563084 B1 JP 6563084B1 JP 2018118816 A JP2018118816 A JP 2018118816A JP 2018118816 A JP2018118816 A JP 2018118816A JP 6563084 B1 JP6563084 B1 JP 6563084B1
Authority
JP
Japan
Prior art keywords
card number
character
card
area
unit
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
JP2018118816A
Other languages
English (en)
Other versions
JP2019220069A (ja
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
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 Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2018118816A priority Critical patent/JP6563084B1/ja
Application granted granted Critical
Publication of JP6563084B1 publication Critical patent/JP6563084B1/ja
Publication of JP2019220069A publication Critical patent/JP2019220069A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

【課題】カード番号の背景に模様が入っているカードであっても、カード番号を容易かつ高精度かつ高速に認識することができるカード番号認識装置を提供する。【解決手段】実施形態によれば、カード番号認識装置は、線分群検出部と、第1文字認識部と、第2文字認識部とを具備する。線分群検出部は、第1方向に連続する画素群を含む線形の領域ごとに、第1画素値の画素と第2画素値の画素とが第1方向に所定の比率で出現する領域を検出して、第1方向と直交する第2方向の所定数の線分群を検出する。第1文字認識部は、所定数の線分群の位置に基づき、特定の数字を検出するための領域を設定して文字認識し、カード番号中の特定の数字を検出する。第2文字認識部は、特定の数字の位置に基づき、特定の数字の前後に位置する特定の数字以外の数字を検出するための領域を設定して文字認識し、カード番号中の特定の数字以外の数字を検出する。【選択図】図2

Description

本発明の実施形態は、カード番号認識装置およびカード番号認識方法に関する。
近年、スマートフォンやタブレットコンピュータなどといったバッテリ駆動可能で携行容易な電子機器が広く普及している。たとえばスマートフォンは、カメラをいまや標準装備品として備えている。また、スマートフォンには、アプリなどと称される、様々なプログラムをインストールすることができる。
たとえば、クレジットカードを撮像した画像からクレジットカード番号を読み取る機能を提供するプログラムがインストールされたスマートフォンのユーザは、スマートフォンのカメラでクレジットカードを撮影することで、そのカード番号をスマートフォンへ入力することができる。
OCR(Optical Character Reader)などにおいて採用される画像から文字を読み取る手法として、画像を2値化して文字を認識する手法が存在する。この手法は、白地の紙面上に黒色で表記された文字を認識するといった、画像内に色彩的に対照的な2色のみ存在する場合には有用である。しかしながら、画像内に多数の色が存在する場合、文字が表記されている箇所か否かを判別するための画像の2値化は簡単ではなく、文字の認識の精度は著しく低下する。
また、画像の2値化によらない他の手法として、画像の中から画素値が急激に変化している画素(エッジ)を検出し、そのエッジの連続する範囲を手掛かりに、文字の範囲を見つけて認識する手法が存在する。この手法は、情景文字認識と称される、写真の中から文字を認識する処理に用いられている。
特許第3291873号公報 特許第4309881号公報
しかしながら、情景文字認識においても、エッジとして検出され得る模様などが入った紙面上に表記された文字を認識するような場合、その認識の精度は著しく低下する。したがって、この情景文字認識を採用するプログラムがインストールされたスマートフォンの場合、たとえばカード番号が表記される面に絵柄が入っているなど、カード番号の背景に模様が入っているクレジットカードからカード番号を読み取ることは困難となる。
本発明が解決しようとする課題は、カード番号の背景に模様が入っているカードであっても、カード番号を容易かつ高精度かつ高速に認識することができるカード番号認識装置およびカード番号認識方法を提供することである。
実施形態によれば、カード番号認識装置は、画像取得部と、2値化部と、線分群検出部と、第1文字認識部と、第2文字認識部とを具備する。画像取得部は、カード番号が表記された面が撮像されたカードの画像を取得する。2値化部は、前記取得された画像を構成する画素の画素値を2値化する。線分群検出部は、第1方向に連続する画素群を含む線形の領域ごとに、前記取得された画像を前記2値化部によって2値化し、第1画素値の画素と第2画素値の画素とが前記第1方向に所定の比率で出現する領域を検出して、前記取得された画像の中から所定の間隔で並列する前記第1方向と直交する第2方向の所定数の線分群を検出する。第1文字認識部は、前記検出された所定数の線分群の位置に基づき、特定の数字を検出するための矩形の領域を前記取得された画像上に設定し、前記設定した領域内の部分画像を前記2値化部によって2値化し、前記第1画素値の画素で表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字を検出する。第2文字認識部は、前記検出された特定の数字の位置に基づき、前記特定の数字の前記第2方向上の前後に位置する前記特定の数字以外の数字を検出するための矩形の領域を前記取得された画像上に設定し、前記設定した領域内の部分画像を前記2値化部によって2値化し、前記第1画素値の画素で表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字以外の数字を検出する。
第1実施形態のカード番号認識装置のハードウェア構成例を示す図。 第1実施形態のカード番号認識装置の機能ブロック例を示す図。 情景文字認識によってクレジットカード番号を認識する場合における問題点について簡単に説明するための図。 第1実施形態のカード番号認識装置による特定線分群の検出処理を説明するための図。 第1実施形態のカード番号認識装置による特定線分群の検出結果の一例を示す図。 第1実施形態のカード番号認識装置による文字認識範囲の決定処理を説明するための第1図。 第1実施形態のカード番号認識装置による文字認識範囲の決定処理を説明するための第2図。 第1実施形態のカード番号認識装置による特定文字の検出結果の一例を示す図。 第1実施形態のカード番号認識装置による特定文字以外の文字の検出処理を説明するための第1図。 第1実施形態のカード番号認識装置による特定文字以外の文字の検出処理を説明するための第2図。 第1実施形態のカード番号認識装置による特定文字以外の文字の検出処理を説明するための第3図。 第1実施形態のカード番号認識装置による特定文字以外の文字の検出処理を説明するための第4図。 第1実施形態のカード番号認識装置によるカード番号の検出結果の一例を示す図。 第1実施形態のカード番号認識装置による特定線分群の検出処理の手順を示すフローチャート。 第1実施形態のカード番号認識装置による特定文字の検出処理の手順を示すフローチャート。 第1実施形態のカード番号認識装置による特定文字以外の文字の検出処理の手順を示すフローチャート。 第2実施形態のカード番号認識装置の機能ブロック例を示す図。 第2実施形態のカード番号認識装置による特定線分群に対応するエッジの検出処理を説明するための図。 第2実施形態のカード番号認識装置による特定文字の検出処理を説明するための図。 第1および第2実施形態のカード番号認識装置の一応用例を説明するための図。
以下、実施形態について図面を参照して説明する。
(第1実施形態)
まず、第1実施形態について説明する。
図1は、本実施形態のカード番号認識装置1のハードウェア構成例を示す図である。カード番号認識装置1は、たとえばクレジットカードが撮像された画像からカード番号を読み取る装置である。ここでは、カード番号認識装置1が、カメラ12を備えるスマートフォンとして実現されていることを想定する。カード番号認識装置1は、カード番号が表記された面が撮像されたカードの画像を取得することのできる電子機器であれば、スマートフォンに限らず、様々な電子機器として実現され得る。画像の取得は、自らが画像を撮像することに限らず、たとえば、外部のカメラを含む他の機器から受信することであってもよいし、外部の記憶媒体から読み出すことであってもよい。カード番号認識装置1は、たとえばネットワークを介してクライアント機器と通信するサーバ、より詳しくは、クライアント機器からの画像のアップロードを受け付けるサーバなどとしても実現され得る。つまり、カード番号認識装置1において、カメラ12を備えることは必須ではない。
図1に示されるように、カード番号認識装置1は、コントローラ11、カメラ12、揮発性メモリ13、不揮発性メモリ14、タッチスクリーンディスプレイ15、通信デバイス16、USBコネクタ17、スピーカ18、マイクロフォン19などを有している。
コントローラ11は、カード番号認識装置1内の各コンポーネントを制御するデバイスである。コントローラ11は、不揮発性メモリ14に格納される各種プログラムを揮発性メモリ13へロードして実行するプロセッサを備える。各種プログラムの中には、カード番号認識プログラム100が含まれている。このカード番号認識プログラム100がコントローラ11によって不揮発性メモリ14から揮発性メモリ13へロードされて実行されることによって、スマートフォンがカード番号認識装置1として動作する。スマートフォンをカード番号認識装置1として動作させる操作、つまり、カード番号認識プログラム100を起動させる操作としては、たとえば、タッチスクリーンディスプレイ15上においてカード番号認識プログラム100を表すアイコンを選択指示するタッチ操作を行うことなどが考えられる。
カメラ12は、光を電気信号に変換する撮像素子を用いてデジタル画像を生成するデバイスである。カメラ12は、たとえば、カード番号認識装置1の筐体周壁のタッチスクリーンディスプレイ15の配置面と対向する面に配置される。カメラ12による画像の撮像時、タッチスクリーンディスプレイ15は、被写体像を確認するためのビューファインダーとして機能し得る。撮像された画像は、揮発性メモリ13へ格納された後、必要に応じて、不揮発性メモリ14へ格納される。
揮発性メモリ13は、たとえばDRAMであり、不揮発性メモリ14は、たとえばフラッシュメモリである。揮発性メモリ13は、コントローラ11によって実行される各種プログラムの作業領域としても利用される。なお、この揮発性メモリ13の役割を、不揮発性メモリ14が兼ね備えてもよい。あるいは、揮発性メモリ13に相当するメモリデバイスをコントローラ11内に設けてもよい。つまり、カード番号認識装置1のハードウェア構成として、揮発性メモリ13が存在しない構成も考えられ得る。
タッチスクリーンディスプレイ15は、カード番号認識装置1のユーザインタフェースを司るデバイスであり、たとえば液晶パネルとタッチパネルとが重なり合った状態で形成されている。
通信デバイス16は、たとえば、電気通信事業者が設置する基地局との間の通信を実行するデバイスである。なお、図1には、1つの通信デバイス16のみを示しているが、電気通信事業者が設置する基地局との間の通信を実行するもののほか、たとえば、無線LAN規格(IEEE 802.11規格)に準拠した、周辺機器との間の通信を実行するものなどがさらに搭載され得る。
USBコネクタ17は、USBデバイスを接続するための端子である。USBデバイスの中には、ACアダプタが含まれる。カード番号認識装置1は、USBコネクタ17経由でACアダプタから電力の供給を受けることができ、かつ、その電力によって、図1には示されないバッテリを充電することができる。コントローラ11には、USBデバイスとの間の通信を実行するUSB制御回路が内蔵されている。
スピーカ18は、たとえば通話時の相手側の音声を出力するデバイスであり、マイクロフォン19は、たとえば通話時のユーザ側の音声を入力するデバイスである。なお、スピーカ18やマイクロフォン19による音声の出入力は、通話時に限らず、たとえば各種プログラムによって様々なユースケースにおいて発生し得る。
また、図1には示されないが、カード番号認識装置1は、たとえば位置を取得するためのGPSや傾きを取得するための加速度センサなどを有していてもよい。
図2は、以上のような構成を有するカード番号認識装置1上で動作するカード番号認識プログラム100の機能ブロック例を示す図である。
図2に示されるように、カード番号認識プログラム100は、画像取得部101、2値化部102、特定線分群(3線)検出部103、特定文字(数字)認識部104、前後文字(数字)認識部105などを有している。なお、ここでは、各処理部101〜105がカード番号認識プログラム100内のモジュール(ソフトウェア)であることを想定しているが、たとえばその一部を、カード番号認識プログラム100の指示の下、つまりコントローラ11の制御下において動作させることのできる電子回路(ハードウェア)として設けるようにしてもよい。
画像取得部101は、カード番号が表記された面が撮像されたカードの画像を取得するモジュールである。前述のように、ここでは、カード番号認識装置1が、カメラ12を備えるスマートフォンとして実現されることを想定しているので、画像取得部101は、カメラ12によって撮像された画像を取得する。より詳しくは、画像取得部101は、たとえばタッチスクリーンディスプレイ15上においてレリーズに相当するタッチ操作が行われたタイミングでカメラ12に画像を撮像させる。画像取得部101は、通信デバイス16またはUSBコネクタ17経由で画像を取得してもよい。画像取得部101によって取得された画像は、カード番号認識プログラム100の作業領域として確保される揮発性メモリ13上の記憶領域に格納される。
2値化部102は、画像取得部101によって取得された画像を構成する画素の画素値を2値化するモジュールである。詳細については後述するが、2値化部102は、画像内のすべての画素の画素値から単純に2値化のための閾値を算出するのではなく、特定線分群検出部103から指定される画像内の部分画像の画素の画素値のみを対象として2値化のための閾値を算出するなど、特定線分群検出部103、特定文字認識部104、前後文字認識部105からの指示に基づいた、本実施形態のカード番号認識装置1独自の2値化を実行する。
ここで、図3を参照して、本実施形態のカード番号認識装置1について、より理解をしやすくするために、情景文字認識によってクレジットカード番号を認識する場合における問題点について簡単に説明する。
図3中、(A)は、認識しやすいクレジットカード番号の一例を示し、(B)は、認識が難しいクレジットカード番号の一例を示している。
前述のように、情景文字認識は、エッジを検出し、そのエッジの連続する範囲を手掛かりに、文字の範囲を見つけて認識する手法である。図3(A)に示されるように、クレジットカード番号の背景がほぼ単色のクレジットカードの場合、そのクレジットカード番号を高精度で認識することができる。一方、図3(B)に示されるように、クレジットカード番号の背景に模様があるクレジットカードの場合、この背景の模様もエッジとして検出されてしまうため、エッジの連続する範囲を手掛かりとして、文字の範囲を見つけることができなくなってしまう。
本実施形態のカード番号認識装置1は、図3(B)に示されるような、カード番号の背景に模様が入っているカードであっても、カード番号を容易かつ高精度かつ高速に認識することができるものであり、以下、この点について詳述する。
図2に戻り、カード番号認識プログラム100の各処理部についての説明を続ける。
特定線分群検出部103は、2値化部102と協働して、画像取得部101によって取得された画像の中から特定のパターンの線分群を検出するモジュールである。より詳しくは、クレジットカード番号中の「2」、「3」、「5」の横線(横方向[第2方向]の線分)である可能性がある横線3本を検出する。
クレジットカードのフォントは、JIS X 6302で厳格に定められている。このフォントでは、「2」、「3」、「5」の文字(数字)について、横線3本が等間隔で現れる独特な字体が定義されている。一方、クレジットカード上におけるカード番号の表記位置については、大まかな範囲が定められているのみで、厳格には定められていない。そこで、まず、特定線分群検出部103が、画像取得部101によって取得された画像の中からクレジットカード番号中の「2」、「3」、「5」の横線である可能性がある等間隔の3本の横線を検出する。図4を参照して、特定線分群検出部103による特定線分群(3線)の検出処理について説明する。
特定線分群検出部103は、図4(A)に示されるように、画像取得部101によって取得された画像を1次元的に走査する。より詳しくは、検出対象の横線と直交する縦方向(第1方向)に走査する。図4(A)中、a1は、画像取得部101によって取得された画像を示す。a2は、画像a1上のクレジットカードの撮像領域を示す。a3は、クレジットカード上のカード番号の表記領域を示す。a4は、特定線分群検出部103による画像a1の走査方向を示す。画像a1上におけるクレジットカードの撮像領域a2の位置は不定であり、また、クレジットカードの撮像領域a2上におけるカード番号の表記領域a3の位置も不定である。さらには、クレジットカードの撮像領域a2のサイズが不定であることから、カード番号の表記領域a3のサイズも不定となる。特定線分群検出部103は、画像取得部101から、画像の解像度と撮像時の焦点距離とを取得し、これらの値から画像a1をa4の方向に走査していくにあたっての一走査単位とする画素数を決定する。この画素数は、画像a1において、カード番号の各文字(数字)を囲む矩形の縦方向の幅を若干上回る程度の値であることが好ましい。クレジットカードの場合、文字(数字)の縦幅は4.32mmと定められているので、画像の解像度と撮像時の焦点距離とが分かれば、被写体像の4.32mmに対応する画素数を算出することができる。なお、画像の解像度と撮像時の焦点距離とを取得することは必須ではなく、その一方だけ取得するようにしてもよいし、両方とも取得しないようにしてもよい。たとえば、クレジットカードを撮像する際、解像度を所定の値に設定し、または、クレジットカードの撮像領域a2の画像上に占める割合を所定の範囲に収まるように、つまり、撮像時の焦点距離がほぼ所定値となるように取り決めることによって、画像の解像度または撮像時の焦点距離の一方から画素数を算出することができるし、あるいは、画素数を固定値とすることができる。なお、画像a1の長手方向と、クレジットカードの撮像領域a2の長手方向とが、ほぼ一致するように撮像することは必須の条件である。
特定線分群検出部103は、画素数を決定すると、たとえば画像a1の左上端から当該決定した画素数の画素群を含む線形の領域ごとに、画像a1の2値化を2値化部102に指示する。たとえば画素数として50画素が算出されたとすると、特定線分群検出部103は、たとえば画像a1の左上端に位置する画素を基点として、そこから縦に連続する50画素に着目し、この50画素の部分画像を対象として2値化部102に2値化を行わせる。以降、この線形の部分画像を、着目範囲と称することがある。2値化部102は、たとえば、この着目範囲の画素の画素値の平均値を閾値として、それらの画素を黒(第1画素値の画素)と白(第2画素値の画素)とに分ける。2値化については、この手法に限らず、既知の様々な手法を適用可能である。2値化の結果は、たとえば、カード番号認識プログラム100の作業領域として確保される揮発性メモリ13上の記憶領域を介して特定線分群検出部103に引き渡される。
特定線分群検出部103は、2値化部102による2値化の結果を受け取ると、着目範囲に黒と白とが特定の比率で出現するか否かを調べる。より詳しくは、前述のように、クレジットカードのフォントでは、「2」、「3」、「5」の文字(数字)の場合、横線3本が等間隔で現れることから、着目範囲が、「2」、「3」、「5」のいずれかを縦に貫く場合、「黒、白、黒、白、黒」の画素が特定の比率で出現する。ここでは、この比率を「a:b:a:b:a」と表記する。特定線分群検出部103は、黒と白とが「a:b:a:b:a」の比率で出現することを検出した場合、最上部の黒の画素から最下部の黒の画素までの位置を記録する。また、特定線分群検出部103は、その着目範囲について用いた閾値を記録する。これらの情報は、たとえば、カード番号認識プログラム100の作業領域として確保される揮発性メモリ13上の記憶領域に格納される。その着目範囲の処理を終えると、特定線分群検出部103は、着目範囲を移動させる。
より詳しくは、特定線分群検出部103は、基点を1画素分だけ下にずらし、そこから縦に連続する50画素を着目範囲とする。基点から縦に連続する50画素目が画像a1の左下端に位置する画素に達するまで処理を繰り返したら、特定線分群検出部103は、基点を置く列を1画素分だけ右にずらし、その列の上端から処理を繰り返す。特定線分群検出部103は、この処理を、基点を置く列が画像a1の右端に達するまで繰り返す。
図4(B)は、着目範囲の例を示し、図4(C)は、図4(B)で示される着目範囲の2値化の結果の例を示している。
図4(B)中、符号b1で示される着目範囲は、「2」、「3」、「5」のいずれにも該当しない。そのため、図4(C)に示されるように、2値化の結果、黒と白とが「a:b:a:b:a」の比率で出現しない。一方、符号b2で示される着目範囲は、「2」を縦に貫くので、図4(C)に示されるように、2値化の結果、黒と白とが「a:b:a:b:a」の比率で出現する。当該符号b2で示される着目範囲については、この「2」の最上部の画素から最下部の画素までの位置が記録されることになる。つまり、横線3本の1番目の線の黒画素の中の最上部の画素から3番目の線の黒画素の中の最下部の画素までの位置が記録されることになる。「3」、「5」の場合も同様である。なお、この時点では、縦方向の線形の着目範囲を個々に調べているので、実は横線3本の一部ではなく、たまたま黒と白とが「a:b:a:b:a」の比率で出現する箇所も検出され得るが、このような箇所に関する情報を除去する手法については後述する。
また、着目範囲を1画素分ずつ移動させながら、黒と白とが「a:b:a:b:a」の比率で出現する箇所を検出していくと、同一の箇所が複数回検出され得るが、このような箇所に関する情報は、1つに纏めることが好ましい。たとえば、最初に検出された時の情報を残すようにしてもよいし、閾値については、各回の検出時に用いられた閾値の平均値を算出して記録するようにしてもよい。
特定線分群検出部103は、着目範囲ごとに2値化部102に2値化を実行させることによって、多数の色が用いられたクレジットカードの場合であっても、たとえば局所的に用いられる色の影響を受けない適切な結果を得ることができる。クレジットカードの撮像領域a2以外の画像a1上の領域に、2値化に悪影響を及ぼすおそれのある色が存在していたとしても、その影響を排除することができる。
なお、ここでは、着目範囲を1画素分ずつ下に移動させているが、これに限らず、複数画素分ずつ下に移動させていくようにしてもよい。この場合、移動前の着目範囲と移動後の着目範囲との一部が重複することが好ましい。また、ここでは、着目範囲を上から下および左から右へ移動させているが、これに限らず、たとえば各列ごとに並行して処理を行うようにしてもよい。
特定線分群検出部103は、画像a1全体について処理を終えると、自身が記録した情報を参照して、横方向に一定の幅、たとえば20〜40画素以上連続していない箇所に関する情報については削除する。この幅は、画像の解像度や撮像時の焦点距離などに応じて決定される。これにより、実は横線3本の一部ではなく、たまたま黒と白とが「a:b:a:b:a」の比率で出現することによって検出されてしまった箇所に関する情報を除去することができる。
図5は、特定線分群検出部103による特定線分群(3線)の検出結果の一例を示す図である。
図5に示される例では、黒と白とが「a:b:a:b:a」の比率で出現するという検出条件を満たす横線3本(c1〜c3:斜めのハッチングが施された箇所)が、検出対象とする「2」、「3」、「5」の横線3本のほか、「E」の横線3本や、クレジットカードの地紋の一部などの横線3本が検出されている。また、クレジットカードの撮像領域a2以外の領域においても、たまたま存在した横線3本が検出されている。これらは、黒と白とが「a:b:a:b:a」の比率で出現するという検出条件を満たす横線3本であったために、特定線分群検出部103によって検出されたものである。
以上が特定線分群検出部103による特定線分群の検出処理である。図2に戻り、カード番号認識プログラム100の各処理部についての説明を続ける。
特定線分群検出部103による特定線分群の検出処理が終了すると、続いて、特定文字認識部104による特定文字(数字)、より詳しくは、「2」、「3」、「5」の検出処理が開始される。
特定文字認識部104は、2値化部102と協働して、特定線分群検出部103によって検出された3線の位置に基づき、カード番号中の「2」、「3」、「5」を検出するモジュールである。
たとえば16桁のカード番号中に「2」が含まれている場合、その「2」の上下の範囲は特定線分群検出部103による横線3本の検出によって明らかになっている。一方、その「2」の左右の範囲は明らかになっていない。なぜなら、特定線分群検出部103によって検出された横線3本の左右の両端は、「2」の左右の範囲の両端と一致しているとは限らないからである。そこで、特定文字認識部104は、まず、文字認識を施すべき範囲を決定する処理を実行する。この文字認識範囲の決定処理について、図6および図7を参照して説明する。
図6中、符号d1で示される範囲は、特定線分群検出部103によって検出された横線3本の左右の範囲である。一方、符号d2で示される範囲は、特定文字認識部104が決定する文字認識範囲の左右の範囲である。
特定線分群検出部103は、符号d1−1〜d1−nで示される各箇所について、その位置と2値化に用いた閾値とを記録している。特定文字認識部104は、それらの閾値の平均値を用いた2値化を、符号d1−1の左側に隣接する領域や符号d1−nの右側に隣接する領域、さらに、これらに隣接する領域を範囲として2値化部102に実行させていきながら、符号d2で示される範囲を求める。
より詳しくは、特定文字認識部104は、第1に、図7(A)に示されるように、左辺がすべて白画素となるまで、特定線分群検出部103によって検出された横線3本を囲む矩形領域(3線矩形領域)を左側へ拡大していく。また、特定文字認識部104は、第2に、図7(B)に示されるように、右辺がすべて白画素となるまで、3線矩形領域を右側へ拡大していく。特定線分群検出部103は、拡大後の矩形範囲を文字認識範囲として決定する。なお、クレジットカードの場合、文字(数字)の間隔、より詳しくは、文字の中心間の距離は3.63mmと定められているので、文字の左右の幅は3.63mmを超えることがない。そこで、この値から拡大幅の上限を設定するようにしてもよい。この上限まで拡大しても白画素のみの辺を得られない場合、その時点で拡大を打ち切るようにしてもよい。
特定文字認識部104は、文字認識範囲を決定すると、改めて、その文字認識範囲を対象とした2値化を2値化部102に実行させて、その文字認識範囲を対象とした文字認識を実行する。この時、2値化部102は、文字認識範囲の全画素の画素値の平均値を閾値として使用する。文字認識については、既知の様々な手法を適用可能である。特定文字認識部104は、たとえば、「2」、「3」、「5」のみを認識可能な機能のみを備えてもよいし、数字のみを認識可能な機能のみを備えてもよいし、数字や記号を含む汎用的な文字全般を認識可能な機能を備えてもよい。また、特定文字認識部104は、文字認識機能を提供するモジュールを、後述する前後文字認識部105と共有してもよい。
特定文字認識部104は、文字認識の結果、「2」、「3」、「5」のいずれかが検出された場合、その結果(文字コード)と、文字認識範囲(位置)とを記録する。これらの情報は、たとえば、カード番号認識プログラム100の作業領域として確保される揮発性メモリ13上の記憶領域に格納される。一方、「2」、「3」、「5」以外の文字が検出された場合またはいずれの文字も検出されなかった場合、特定文字認識部104は、その結果を破棄し、また、文字認識範囲(位置)の記録も行わない。
図8は、特定文字認識部104による特定文字(「2」、「3」、「5」)の検出結果の一例を示す図である。
図8中、符号e1で示される領域は、特定線分群検出部103によって横線3本が検出され、特定文字認識部104によって文字認識が施された結果、「2」、「3」、「5」のいずれかが検出された領域を示している。また、符号e2で示される領域は、特定線分群検出部103によって横線3本が検出され、特定文字認識部104によって文字認識が施された結果、「2」、「3」、「5」以外の文字が検出され、または、いずれの文字も検出されなかった領域を示している。
このように、クレジット番号の「2」、「3」、「5」以外の横線3本が特定線分群検出部103によって検出されても、特定文字認識部104による文字認識の結果、それらを排除することができる。なお、「2」、「3」、「5」の横線3本が等間隔で現れるという独特の字体は、クレジットカードのフォントならではのものなので、クレジットカードの撮像領域外に「2」、「3」、「5」が写っていたとしても、そもそも特定線分群検出部103によって横線3本が検出されることがない。また、たとえば16桁のカード番号中に「2」、「3」、「5」のいずれも含まれていない確率は極めて低く、カード番号には「2」、「3」、「5」の少なくとも1つが含まれていると考えて差し支えない。
以上が特定文字認識部104による特定文字の検出処理である。図2に戻り、カード番号認識プログラム100の各処理部についての説明を続ける。
特定文字認識部104による特定文字の検出処理が終了すると、続いて、前後文字認識部105による特定文字以外の文字(数字)の検出処理が開始される。
前後文字認識部105は、2値化部102と協働して、特定文字認識部104によって検出された特定文字の位置に基づき、当該特定文字の前後に位置する文字(数字)を検出するモジュールである。
たとえば、図9に示されるように、特定文字認識部104によってクレジット番号中の「3」が検出されており、かつ、その前方には「1」と「4」とが存在し、また、その後方には「4」が存在するものと想定する。この場合、前後文字認識部105は、特定文字認識部104によって検出された「3」(f1)を着目文字として、まず、その1つ前に存在するかもしれない文字を検出するための文字認識範囲を設定する。
前述したように、クレジットカードの場合、文字(数字)の間隔は3.63mmと定められているので、着目文字が検出された文字認識範囲の位置に基づき、隣接する文字を検出するための文字認識範囲を設定することができる。より詳しくは、図10に示されるように、着目文字が検出された文字認識範囲の中心線から3.63mm前を中心線とする3.63mmの範囲を文字認識範囲とすればよい。前後文字認識部105は、当該新たに設定した文字認識範囲を対象とした2値化を2値化部102に実行させて、その文字認識範囲を対象とした文字認識を実行する。この時も、2値化部102は、文字認識範囲の全画素の画素値の平均値を閾値として使用する。また、特定文字認識部104と同様、文字認識については、既知の様々な手法を適用可能である。前後文字認識部105は、数字のみを認識可能な機能のみを備えてもよいし、数字や記号を含む汎用的な文字全般を認識可能な機能を備えてもよい。また、前後文字認識部105は、文字認識機能を提供するモジュールを、前述の特定文字認識部104と共有してもよい。
図9の例では、まず、「4」(f2)が検出されることになる。「4」(f2)が検出されたら、前後文字認識部105は、この「4」(f2)を着目文字として、さらに、その1つ前に存在するかもしれない文字を検出するための文字認識範囲を設定する。そうすると、今度は、「1」(f3)が検出されることになり、前後文字認識部105は、この「1」(f3)を着目文字として、さらに、その1つ前に存在するかもしれない文字を検出するための文字認識範囲を設定する。
「1」(f3)の前方には文字(数字)が存在しないため、設定した文字認識範囲からは文字(数字)は検出されない。ここでは、文字(数字)が検出されない場合、前後文字認識部105は、白画素の有無に関わらずに、その文字認識範囲は空白であると判定するものとする。この場合も、前後文字認識部105は、その文字認識範囲のさらに1つ前に文字認識範囲を設定し、当該設定した文字認識範囲を対象として文字認識を実行する。もし、何らかの文字(数字)が認識されたならば、前後文字認識部105は、前方への文字認識範囲の設定および文字認識を継続する。一方、文字(数字)が検出されない場合、つまり、2文字分の領域において文字が存在しない場合、前方への文字認識範囲の設定および文字認識を終了する。2文字分の領域において文字が存在しないことを、前方への文字認識範囲の設定および文字認識を終了する条件とする理由については後述する。
特定文字認識部104によって検出された「3」(f1)を起点した前方への文字認識範囲の設定および文字認識を終了すると、前後文字認識部105は、今度は、この「3」(f1)を着目文字として、逆に、その1つ後ろに存在するかもしれない文字を検出するための文字認識範囲を設定する。その結果、「4」(f4)が検出されることになる。後方への文字認識範囲の設定および文字認識も、前方への文字認識範囲の設定および文字認識と同様の処理であるため、その説明は省略する。前後文字認識部105は、このように検出した前後の文字(文字コード)と、その文字認識範囲(位置)とを記録する。これらの情報は、たとえば、カード番号認識プログラム100の作業領域として確保される揮発性メモリ13上の記憶領域に格納される。
ここでは、まず、前方への文字認識範囲の設定および文字認識を行い、次いで、後方への文字認識範囲の設定および文字認識を行うこととして説明したが、後方への文字認識範囲の設定および文字認識を行ってから、前方への文字認識範囲の設定および文字認識を行うようにしてもよいし、前方への文字認識範囲の設定および文字認識と、後方への文字認識範囲の設定および文字認識とを、並列的に行うようにしてもよい。
ここで、図11および図12を参照して、前後文字認識部105が、2文字分の領域において文字が存在しないことを、前方または後方への文字認識範囲の設定および文字認識を終了する条件とする理由について説明する。
クレジットカード番号は、目視での読み取りを容易にするために、4〜6文字ごとに、1文字分の空白を設けて、3〜4のブロックに分けて記載される。図11に示されるように、たとえばカード番号「1434238918493549」は、「1434」、「2389」、「1849」、「3549」といった具合にたとえば4つのブロックに分けて記載される。
このように記載されたカード番号「1434238918493549」の場合、1つ目のブロック、2つ目のブロック、4つ目のブロックには、「2」、「3」、「5」が存在するので(実線の枠内の文字)、その前後に隣接する文字が巡回的に検出される(破線の枠内の文字)。一方、3つ目のブロック(g1)には、「2」、「3」、「5」が存在しないので、仮に、「2」、「3」、「5」の前後に隣接する文字を巡回的に検出するものとした場合、当該3つ目のブロック(g1)の文字(数字)が欠落する。
そこで、前後文字認識部105は、ある文字認識範囲において文字が検出されなかった場合、1文字分飛ばして文字認識範囲を設定し、その文字認識範囲について文字認識を実行する。たとえば、図12に示されるように、「9」(h1)を着目文字として、その1つ後ろに存在するかもしれない文字を検出するための文字認識範囲を設定したとする。この「9」(h1)は、図11に示される2つ目のブロック「2389」の最後の文字(数字)である。この文字認識範囲は空白(h2)の領域に対応するので、文字(数字)は検出されないこととなる。この時、前後文字認識部105は、さらに、その文字認識範囲の1つ後ろに文字認識範囲を設定し、当該設定した文字認識範囲を対象として文字認識を実行する。そうすると、この空白(h2)に後続する「1」(h3)が検出されることになる。この「1」(h3)は、図11に示される、「2」、「3」、「5」が存在しない3つ目のブロック「1849」(g1)の最初の文字(数字)である。「1」(h3)を検出すると、前後文字認識部105は、着目文字を後ろに移動させながら文字認識を実行することによって、その他の「8」、「4」、「9」も検出することとなる。
このように、2文字分の領域において文字が存在しない場合に前方または後方への文字認識範囲の設定および文字認識を終了することによって、前後文字認識部105は、「1849」(g1)のような「2」、「3」、「5」が存在しないブロックの文字(数字)を欠落させることがない。
なお、前後文字認識部105は、特定文字認識部104によって、クレジット番号中の「2」、「3」、「5」が複数検出された場合、それらすべてについて処理を行ってもよいし、その中の1つについてのみ処理を行ってもよい。それらすべてについて処理を行う場合には、同一の箇所の文字について複数回処理が施され得るが、その文字についての情報が既に得られていたならば、処理結果を破棄するようにしてもよい。また、たとえば着目文字を前後に移動させた場合において、その着目文字に隣接する領域が、特定文字認識部104によって(起点の「2」、「3」、「5」とは別の)「2」、「3」、「5」が検出された領域であった場合、その方向についての処理を終了するようにしてもよい。または、着目文字に隣接する領域に設定した文字認識範囲から「2」、「3」、「5」が検出された場合に、その方向についての処理を終了するようにしてもよい。
この前後文字認識部105までの処理が終了すると、クレジットカードが取り決め通りに撮像されていたならば、たとえば図13に示されるように、15桁または16桁の文字(数字)である当該クレジットカードのカード番号(j1)が検出されることになる。15桁または16桁の文字(数字)が検出されない場合、カード番号認識装置1は、たとえば、ユーザにエラーを通知し、カード番号が表記された面を撮像したカードの画像を再度撮像することを促す。取り決め通りの撮像とは、前述したように、解像度を所定の値に設定したり、撮像時の焦点距離がほぼ所定値となるようにカードの撮像領域の画像上に占める割合を所定の範囲に収まるようにしたり、画像の長手方向とカードの撮像領域の長手方向とをほぼ一致させるようにしたりすることである。
また、クレジットカード番号には、チェックディジットが含まれているので、検出したカード番号の各文字(数字)を用いて所定の計算を行うことにより、カード番号を正しく検出できているか否かを調べることができる。チェックディジットによるチェックでカード番号が正しく検出できていないことが判明した場合も、カード番号認識装置1は、15桁または16桁の文字(数字)が検出されない場合と同様、たとえば、ユーザにエラーを通知し、カード番号が表示された面を撮像したカードの画像を再度撮像することを促す。
クレジットカード上には、たとえば有効期限などとして「2」、「3」、「5」が表記され得る。しかしながら、これらが15桁または16桁であることはないので、カード番号認識装置1は、これらをカード番号と区別することができる。また、有効期限は、一般にクレジットカード番号とは異なるフォントで印刷され、「2」、「3」、「5」に3本の横線がないことにより、特定文字認識部104で区別できる場合が多い。
図14は、特定線分群検出部103の処理手順を示すフローチャートである。
まず、特定線分群検出部103は、画像取得部101によって取得された画像中の縦方向に連続する50画素のすべての組み合わせについて、ステップA1〜ステップA4の処理を実行する。特定線分群検出部103は、着目する50画素を範囲とする2値化を2値化部102に実行させる(ステップA1〜ステップA2)。2値化部102は、指定された50画素の画素値の平均値を計算して閾値Tとし(ステップA1)、この閾値Tより上の画素値は白、閾値T以下の画素値は黒とする(ステップA2)。
この2値化の結果を受けて、特定線分群検出部103は、着目する50画素の範囲に黒白黒白黒がa:b:a:b:aの比率で出現する領域があるか否かを調べる(ステップA3)。該当する領域が存在した場合(ステップA3:Yes)、特定線分群検出部103は、その該当する領域を、「2」、「3」、「5」の横線3本の一部の候補として記録する(ステップA4)。該当する領域が存在しない場合には(ステップA3:No)、特定線分群検出部103は、特に何も行わない。
ステップA1〜ステップA4の処理が全通り終了すると、特定線分群検出部103は、記録した全領域の中から横方向に20〜40画素連続する領域群を検出する(ステップA5)。換言すれば、特定線分群検出部103は、横方向に20〜40画素連続していない領域を削除する。特定線分群検出部103は、検出した領域群全体を3線矩形領域として抽出して記録する(ステップA6)。また、特定線分群検出部103は、当該検出した領域群の2値化に用いられた閾値Tの平均値を計算し、抽出した3線矩形領域の閾値TMとして記録する(ステップA7)。
図15は、特定文字認識部104の処理手順を示すフローチャートである。
特定文字認識部104は、特定線分群検出部103によって抽出されたすべての3線矩形領域について、ステップB1〜ステップB10の処理を実行する。特定文字認識部104は、まず、3線矩形領域の左辺の左の縦1画素のラインに着目し(ステップB1)、そのラインの領域を閾値TMで2値化して、黒画素が1画素でもあれば、3線矩形領域を左辺側へ1画素分拡大する(ステップB2)。特定文字認識部104は、左辺がすべて白画素になるまで3線矩形領域の左辺側への拡大を続ける(ステップB3)。換言すれば、特定文字認識部104は、左辺がすべて白画素になったら、3線矩形領域の左辺側への拡大を終了する。
続いて、特定文字認識部104は、3線矩形領域の右辺の右の縦1画素のラインに着目し(ステップB4)、そのラインの領域を閾値TMで2値化して、黒画素が1画素でもあれば、3線矩形領域を右辺側へ1画素分拡大する(ステップB5)。特定文字認識部104は、右辺がすべて白画素になるまで3線矩形領域の右辺側への拡大を続ける(ステップB6)。換言すれば、特定文字認識部104は、右辺がすべて白画素になったら、3線矩形領域の右辺側への拡大を終了する。
3線矩形領域の左右への拡大が終了すると、特定文字認識部104は、拡大後の3線矩形領域である矩形範囲を文字認識する(ステップB7)。「2」、「3」、「5」のいずれかが認識された場合(ステップB8:Yes)、特定文字認識部104は、その矩形範囲と認識結果とを記録する(ステップB9)。一方、「2」、「3」、「5」のいずれも認識されなかった場合(ステップB8:No)、特定文字認識部104は、その認識結果を破棄する(ステップB10)。
図16は、前後文字認識部105の処理手順を示すフローチャートである。なお、前方への処理と後方への処理とは概念的には同じであるので、図16には、前方への処理についてのみ示すこととし、後方への処理についての説明を省略する。
前後文字認識部105は、特定文字認識部104によって記録されたすべての矩形範囲について、ステップC1〜ステップC6の処理を実行する。前後文字認識部105は、たとえばクレジットカードの場合は3.63mmと定められている1文字前に相当する位置に矩形範囲を設定し、文字認識する(ステップC1)。前後文字認識部105は、認識結果が空白か否かを調べ(ステップC2)、空白ではない場合(ステップC2:No)、続いて、その矩形範囲が未記録で、かつ、認識結果が0〜9(数字)か否かを調べる(ステップC3)。未記録かつ数字であった場合(ステップC3:Yes)、前後文字認識部105は、その矩形範囲と認識結果とを記録する(ステップC4)。そして、前後文字認識部105は、さらに1文字前に相当する位置に矩形範囲を設定して文字認識し(ステップC5)、ステップC2からの処理を繰り返す。一方、その矩形範囲が記録済みまたは0〜9(数字)以外であった場合(ステップC3:No)、前後文字認識部105は、認識結果を破棄し(ステップC6)。起点とする矩形範囲についての処理を終了する。
認識結果が空白であった場合(ステップC2:Yes)、前後文字認識部105は、さらに1文字前に相当する位置に矩形範囲を設定して文字認識する(ステップC8)。その認識結果も空白の場合(ステップC8:Yes)、前後文字認識部105は、起点とする矩形範囲についての処理を終了する。空白でない場合(ステップC8:No)、前後文字認識部105は、ステップC3へ進み、ステップC3からの処理を実行する。
このように、本実施形態のカード番号認識装置1は、特定線分群検出部103によって画像を縦方向に走査してカード番号中の「2」、「3」、「5」の横線3本を検出し、特定文字認識部104によって横線3本からカード番号中の「2」、「3」、「5」を検出し、前後文字認識部105によって「2」、「3」、「5」からカード番号中の「2」、「3」、「5」以外の文字(数字)を検出する。また、特定線分群検出部103による画像の縦方向への走査にあたっては、2値化部102による2値化をほぼ1文字分の縦幅に相当する画素数ずつ局所的に行っていくので、たとえばクレジットカードに多数の色が用いられていたり、下地に模様が入っていたりしても、適切な結果を得ることができる。
前述したように、クレジットカード上におけるカード番号の表記領域は厳密には定められていないし、画像上におけるクレジットカードの撮像領域は不定なので、画像上におけるクレジットカード番号の撮像領域も当然ながら不定である。本実施形態のカード番号認識装置1は、このような条件下においても、クレジットカードのフォントでは、「2」、「3」、「5」の文字(数字)について、横線3本が等間隔で現れる独特な字体が定義されている点に着目した特定線分群検出部103、特定文字認識部104および前後文字認識部105の働きにより、カード番号を適切に検出することができる。
ところで、前述したように、スマートフォンは、傾きを取得するための加速度センサなどを有していてもよい。たとえば、加速度センサを有するスマートフォンの中には、傾きに応じて、タッチスクリーンディスプレイ15へ表示させる画面の向きを自動的に切り替える機能を備えるものも存在する。このような機能を備えるスマートフォンの場合、たとえばテーブルの上などにクレジットカードを置いて撮影を行う際、ユーザが意図しない上下が反転した画像が撮像されてしまう可能性もある。
このような場合を考慮して、本実施形態のカード番号認識装置1は、特定文字認識部104および前後文字認識部105が、さらに文字認識範囲の画像を上下反転させて文字認識を実行するようにしてもよい。たとえば、想定する向きの処理で15桁または16桁の文字(数字)が検出されない場合に、上下反転させた向きの処理を実行するようにしてもよい。そうすれば、ユーザが意図しない上下が反転した画像が撮像されてしまった場合であっても、カード番号を検出することができるので、カードの画像を再度撮像することをユーザに促す必要がなくなる。
このように、本実施形態のカード番号認識装置1は、カード番号の背景に模様が入っているカードであっても、カード番号を容易かつ高精度かつ高速に認識することができる。
(第2実施形態)
次に、第2実施形態について説明する。本実施形態でも、第1実施形態と同様、カメラ12を備えるスマートフォンとして実現されるカード番号認識装置1−2を想定する。第1実施形態と同一の構成要素については同一の符号を使用し、また、第1実施形態との間で重複する説明については省略する。
図17は、本実施形態のカード番号認識装置1−2上で動作するカード番号認識プログラム100−2の機能ブロック例を示す図である。
図17に示されるように、本実施形態のカード番号認識プログラム100−2は、第1実施形態における2値化部102に代えて、エッジ検出部106を備える。エッジ検出部106は、画像取得部101によって取得された画像中の画素値が急激に変化している画素(エッジ)を検出するモジュールである。つまり、第1実施形態のカード番号認識装置1が、2値化によってカード番号を検出するのに対して、本実施形態のカード番号認識装置1−2は、エッジの検出によってカード番号を検出する。
本実施形態における特定線分群検出部103−2は、エッジ検出部106によって検出された画像中のエッジの中から、a:b:a:b:aの比率の間隔で出現する、たとえば横方向に20〜40画素以上連続するエッジを検出する。図18に、特定線分群検出部103−2による横線3本に対応するエッジの検出例を示す。
図18中、(A)は、画像取得部101によって取得された画像(原画像)の一部を示している。ここでは、クレジットカードの背景に、エッジとして検出され得る模様が入っていることを想定する。また、ここに示される「123」は、クレジットカード番号中の文字(数字)である。
(B)は、エッジ検出部106によって検出されたエッジがマッピングされたエッジマップの一部を示している。ここに示されるエッジは、(A)の部分画像から検出されたエッジである。特定線分群検出部103−2は、(C)に示されるように、このエッジマップの中から、「2」、「3」の横線3本に対応するエッジ(k1〜k6:斜めのハッチングが施された箇所)を検出する。
図17に戻り、カード番号認識プログラム100−2の各処理部についての説明を続ける。
特定線分群検出部103−2によって「2」、「3」、「5」の横線3本に対応するエッジの可能性があるエッジが検出されると、本実施形態における特定文字認識部104−2は、その横線3本に対応するエッジと一致させて、「2」、「3」、「5」の標準パターンを重ね合わせる。特定文字認識部104−2は、いずれかの標準パターンと一致するエッジの存在有無を調べることで、「2」、「3」、「5」を検出する。図19に、特定文字認識部104−2によるカード番号中の「2」の検出例を示す。図19に示されるように、特定線分群検出部103−2によって検出されたエッジk1〜k6と一致させて、「2」の標準パターンm1を重ね合わせたところ、この標準パターンm1と一致するエッジが存在することがわかると、特定文字認識部104−2は、この領域から「2」を検出する。
前後文字認識部105−2は、特定文字認識部104−2によって検出された「2」、「3」、「5」の位置を起点として、第1実施形態の前後文字認識部105と同様の方法で、前後に存在するかもしれない文字を検出するための文字認識範囲を設定する。文字認識範囲を設定したら、前後文字認識部105−2は、「0〜9」の標準パターンと一致するエッジの存在有無を調べることで、「2」、「3」、「5」以外の文字(数字)を検出する。
本実施形態のカード番号認識装置1−2は、カード番号の背景にエッジとして検出され得る模様が入っていたとしても、「2」、「3」、「5」の横線である可能性がある横線3本に対応するエッジを検出して、「2」、「3」、「5」を検出し、さらに、「2」、「3」、「5」を起点に、「2」、「3」、「5」以外の文字(数字)を検出するという手順を踏むことで、カード番号を検出することができる。
なお、本実施形態のカード番号認識装置1−2においても、第1実施形態のカード番号認識装置1と同様、特定文字認識部104−2および前後文字認識部105−2が、さらに文字認識範囲の画像を上下反転させて文字認識を実行するようにしてもよい。
また、本実施形態のカード番号認識装置1−2は、エッジの検出によってカード番号を検出するので、2値化によってカード番号を検出する第1実施形態のカード番号認識装置1よりも、エンボス加工された文字(数字)を認識する性能で優れている。
このように、本実施形態のカード番号認識装置1−2も、カード番号の背景に模様が入っているカードであっても、カード番号を容易かつ高精度かつ高速に認識することができる。
ところで、第1実施形態のカード番号認識装置1および第2実施形態のカード番号認識装置1−2は、画像取得部101によって取得された画像中のクレジットカード番号が撮像されている領域を検出することができる。そのため、クレジットカードのカードレイアウトを示す帳票定義を用いれば、クレジットカード上に表記されるカード番号以外の情報も検出することができる。そこで、第1実施形態のカード番号認識装置1(カード番号認識プログラム100)または第2実施形態のカード番号認識装置1−2(カード番号認識プログラム100−2)は、クレジットカード上に表記されるカード番号以外の情報を検出するためのモジュールをさらに有してもよい。図20に、クレジットカードのカードレイアウト(A)と、そのカードレイアウトを示す帳票定義(B)の一例を示す。
帳票定義によって、クレジットカード上における、クレジットカード番号(n1)と口座番号(n2)および氏名(n3)との相対的な位置関係が分かれば、クレジットカード番号の検出後、口座番号および氏名も検出することができる。
たとえば、クレジット番号中の所定の位置の3〜4桁の文字(数字)で複数のカードレイアウトの中から適用すべきカードレイアウトを特定することができる場合、複数の帳票定義を用意することで、複数の種類のクレジットカードに対応することができる。
また、帳票定義を用いることで、画像中におけるクレジットカード全体の撮像領域の位置を検出することができる。したがって、クレジットカードのみが撮像された画像を切り出すことも可能となる。そこで、第1実施形態のカード番号認識装置1(カード番号認識プログラム100)または第2実施形態のカード番号認識装置1−2(カード番号認識プログラム100−2)は、クレジットカードのみが撮像された画像を切り出すためのモジュールをさらに有してもよい。
クレジットカードの読み取りを行うアプリの中には、撮像したクレジットカードの画像を訂正画面に表示したり、エビデンスとして表示したりするものがあるが、このようなアプリによるクレジットカードの画像の表示時、クレジットカードと一緒に写り込んだ背景などの余分な部分を除いたクレジットカードだけの画像を表示することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1,1−2…カード番号認識装置、11…コントローラ、12…カメラ、13…揮発性メモリ、14…不揮発性メモリ、15…タッチスクリーンディスプレイ、16…通信デバイス、17…USBコネクタ、18…スピーカ、19…マイクロフォン、100,100−2…カード番号認識プログラム、101…画像取得部、102…2値化部、103,103−2…特定線分群検出部、104,104−2…特定文字認識部、105,105−2…前後文字認識部、106…エッジ検出部。

Claims (14)

  1. カード番号が表記された面が撮像されたカードの画像を取得する画像取得部と、
    前記取得された画像を構成する画素の画素値を2値化する2値化部と、
    第1方向に連続する画素群を含む線形の領域ごとに、前記取得された画像を前記2値化部によって2値化し、第1画素値の画素と第2画素値の画素とが前記第1方向に所定の比率で出現する領域を検出して、前記取得された画像の中から所定の間隔で並列する前記第1方向と直交する第2方向の所定数の線分群を検出する線分群検出部と、
    前記検出された所定数の線分群の位置に基づき、特定の数字を検出するための矩形の領域を前記取得された画像上に設定し、前記設定した領域内の部分画像を前記2値化部によって2値化し、前記第1画素値の画素で表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字を検出する第1文字認識部と、
    前記検出された特定の数字の位置に基づき、前記特定の数字の前記第2方向上の前後に位置する前記特定の数字以外の数字を検出するための矩形の領域を前記取得された画像上に設定し、前記設定した領域内の部分画像を前記2値化部によって2値化し、前記第1画素値の画素で表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字以外の数字を検出する第2文字認識部と、
    を具備するカード番号認識装置。
  2. 前記第2文字認識部は、前記設定した領域内から数字が検出された場合、その領域の位置に基づいて新たな領域を前記取得された画像上に設定し、かつ、前記設定した領域内から数字が検出されなかった場合であって、その領域が、検出された数字の位置に基づいて設定された領域であった場合、その領域の位置に基づいて新たな領域を前記取得された画像上に設定する請求項1に記載のカード番号認識装置。
  3. 前記線分群検出部は、前記取得された画像の解像度または撮像時の焦点距離の少なくとも一方に応じて前記線形の領域の画素数を決定し、前記取得された画像上の前記第1方向の一端から他端まで1画素ずつ基点を移動させながら前記決定した画素数の前記線形の領域を設定していくことを、前記取得された画像上の前記第2方向の一端から他端まで繰り返す請求項1または2に記載のカード番号認識装置。
  4. 前記第1文字認識部は、前記検出された所定数の線分群の位置に対応する複数の前記線形の領域の2値化にそれぞれ用いられた閾値の平均値を用いて、前記特定の数字を検出するための矩形の領域の前記第2方向の範囲を決定する請求項1乃至3のいずれか1項に記載のカード番号認識装置。
  5. 前記線分群検出部は、前記所定数の線分群として3本の線分を検出し、
    前記第1文字認識部は、前記特定の数字として2、3または5の少なくとも1つを検出する、
    請求項1乃至4のいずれか1項に記載のカード番号認識装置。
  6. 前記第1文字認識部および前記第2文字認識部は、前記設定した領域内の部分画像を上下反転させた画像について前記第1画素値の画素で表される文字をさらに認識する請求項1乃至5のいずれか1項に記載のカード番号認識装置。
  7. カード番号が表記された面が撮像されたカードの画像を取得する画像取得部と、
    前記取得された画像の中から画素値が閾値を超えて変化する画素をエッジとして検出するエッジ検出部と、
    前記検出されたエッジをマッピングしたマップ上を第1方向に走査して、前記取得された画像上の所定の間隔で並列する前記第1方向と直交する第2方向の所定数の線分群に対応するエッジを検出する線分群検出部と、
    前記検出された所定数の線分群に対応するエッジの位置に基づき、特定の数字を検出するための領域を前記マップ上に設定し、前記設定した領域内のエッジで表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字を検出する第1文字認識部と、
    前記検出された特定の数字の位置に基づき、前記特定の数字の前記第2方向上の前後に位置する前記特定の数字以外の数字を検出するための領域を前記マップ上に設定し、前記設定した領域内のエッジで表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字以外の数字を検出する第2文字認識部と、
    を具備するカード番号認識装置。
  8. 前記第2文字認識部は、前記設定した領域内から数字が検出された場合、その領域の位置に基づいて新たな領域を前記マップ上に設定し、かつ、前記設定した領域内から数字が検出されなかった場合であって、その領域が、検出された数字の位置に基づいて設定された領域であった場合、その領域の位置に基づいて新たな領域を前記マップ上に設定する請求項7に記載のカード番号認識装置。
  9. 前記線分群検出部は、前記所定数の線分群に対応するエッジ群として3本の線分に対応するエッジを検出し、
    前記第1文字認識部は、前記特定の数字として2、3または5の少なくとも1つを検出する、
    請求項7または8に記載のカード番号認識装置。
  10. 前記第1文字認識部および前記第2文字認識部は、前記設定した領域内のエッジを上下反転させたエッジで表される文字をさらに認識する請求項7乃至9のいずれか1項に記載のカード番号認識装置。
  11. 前記カードのレイアウト情報を用いて、前記第1文字認識部および前記第2文字認識部によって検出された前記カード番号の位置に基づき、前記カードに表記される前記カード番号以外の項目に関する文字を認識して検出する第3文字認識部をさらに具備する請求項1乃至10のいずれか1項に記載のカード番号認識装置。
  12. 前記カードのレイアウト情報を用いて、前記第1文字認識部および前記第2文字認識部によって検出された前記カード番号の位置に基づき、前記カードが撮像される領域の画像を前記取得された画像から切り出すカード画像切り出し部をさらに具備する請求項1乃至10のいずれか1項に記載のカード番号認識装置。
  13. カード番号が表記された面が撮像されたカードの画像を取得することと、
    第1方向に連続する画素群を含む線形の領域ごとに、前記取得された画像を2値化し、第1画素値の画素と第2画素値の画素とが前記第1方向に所定の比率で出現する領域を検出して、前記取得された画像の中から所定の間隔で並列する前記第1方向と直交する第2方向の所定数の線分群を検出することと、
    前記検出された所定数の線分群の位置に基づき、特定の数字を検出するための矩形の領域を前記取得された画像上に設定し、前記設定した領域内の部分画像を2値化し、前記第1画素値の画素で表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字を検出することと、
    前記検出された特定の数字の位置に基づき、前記特定の数字の前記第2方向上の前後に位置する前記特定の数字以外の数字を検出するための矩形の領域を前記取得された画像上に設定し、前記設定した領域内の部分画像を2値化し、前記第1画素値の画素で表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字以外の数字を検出することと、
    を具備するカード番号認識方法。
  14. カード番号が表記された面が撮像されたカードの画像を取得することと、
    前記取得された画像の中から画素値が閾値を超えて変化する画素をエッジとして検出することと、
    前記検出されたエッジをマッピングしたマップ上を第1方向に走査して、前記取得された画像上の所定の間隔で並列する前記第1方向と直交する第2方向の所定数の線分群に対応するエッジを検出することと、
    前記検出された所定数の線分群に対応するエッジの位置に基づき、特定の数字を検出するための領域を前記マップ上に設定し、前記設定した領域内のエッジで表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字を検出することと、
    前記検出された特定の数字の位置に基づき、前記特定の数字の前記第2方向上の前後に位置する前記特定の数字以外の数字を検出するための領域を前記マップ上に設定し、前記設定した領域内のエッジで表される文字を認識して、前記取得された画像の中から前記カード番号中の前記特定の数字以外の数字を検出することと、
    を具備するカード番号認識方法。
JP2018118816A 2018-06-22 2018-06-22 カード番号認識装置およびカード番号認識方法 Active JP6563084B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018118816A JP6563084B1 (ja) 2018-06-22 2018-06-22 カード番号認識装置およびカード番号認識方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018118816A JP6563084B1 (ja) 2018-06-22 2018-06-22 カード番号認識装置およびカード番号認識方法

Publications (2)

Publication Number Publication Date
JP6563084B1 true JP6563084B1 (ja) 2019-08-21
JP2019220069A JP2019220069A (ja) 2019-12-26

Family

ID=67692137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018118816A Active JP6563084B1 (ja) 2018-06-22 2018-06-22 カード番号認識装置およびカード番号認識方法

Country Status (1)

Country Link
JP (1) JP6563084B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882615A (zh) * 2020-07-30 2020-11-03 珠海市新德汇信息技术有限公司 基于特征色块的卡片方向识别方法、装置及自助设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7235995B2 (ja) * 2021-07-01 2023-03-09 ダイキン工業株式会社 文字認識装置、文字認識方法及び文字認識プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882615A (zh) * 2020-07-30 2020-11-03 珠海市新德汇信息技术有限公司 基于特征色块的卡片方向识别方法、装置及自助设备
CN111882615B (zh) * 2020-07-30 2024-03-12 珠海市新德汇信息技术有限公司 基于特征色块的卡片方向识别方法、装置及自助设备

Also Published As

Publication number Publication date
JP2019220069A (ja) 2019-12-26

Similar Documents

Publication Publication Date Title
JP4019063B2 (ja) 光学端末装置、画像処理方法およびシステム
KR101292916B1 (ko) 화상 처리 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체, 휴대 단말, 및 화상 처리 방법
JP5896245B2 (ja) テキスト画像のトリミング方法
JP5826081B2 (ja) 画像処理装置、文字認識方法及びコンピュータプログラム
JP5229050B2 (ja) 画像からの文書領域抽出装置、方法、及びプログラム
KR102236616B1 (ko) 정보 처리 장치, 그의 제어 방법, 및 기억 매체
JP2014195148A (ja) 画像処理装置、領域決定方法及びコンピュータプログラム
JP2018101852A (ja) 画像処理装置、矩形検出方法及びコンピュータプログラム
JP6563084B1 (ja) カード番号認識装置およびカード番号認識方法
JP2007081458A (ja) 画像処理装置および画像処理装置の制御方法
JP2019109624A (ja) 情報処理装置、プログラム及び情報処理方法
JP2018042273A (ja) 画像処理装置および画像処理方法
US10452943B2 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP4182937B2 (ja) 撮影装置、撮影装置の画像処理方法及びプログラム
JP6677412B2 (ja) 画像抽出装置、画像抽出装置の制御方法及びプログラム
JP6789410B2 (ja) 画像処理装置、制御方法及び制御プログラム
JP6851337B2 (ja) 撮像装置、制御方法及び制御プログラム
JP6639257B2 (ja) 情報処理装置及びその制御方法
JP2015102915A (ja) 情報処理装置、制御方法およびコンピュータプログラム
JP6915125B1 (ja) 電子装置およびプログラム
JP2018173839A (ja) 画像処理装置、処理方法、プログラム
JP2013131058A (ja) 二次元コード、記録装置、位置特定装置、識別装置及びプログラム
JP2007148612A (ja) 撮影装置、画像処理方法および画像処理プログラム
JP5453193B2 (ja) 傾き検出装置、撮像装置および方法
JP2016001823A (ja) 画像補正装置、画像補正方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190618

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190723

R150 Certificate of patent or registration of utility model

Ref document number: 6563084

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150