JP2010099136A - 手書き点と線の認識処理方法及び装置 - Google Patents

手書き点と線の認識処理方法及び装置 Download PDF

Info

Publication number
JP2010099136A
JP2010099136A JP2008271198A JP2008271198A JP2010099136A JP 2010099136 A JP2010099136 A JP 2010099136A JP 2008271198 A JP2008271198 A JP 2008271198A JP 2008271198 A JP2008271198 A JP 2008271198A JP 2010099136 A JP2010099136 A JP 2010099136A
Authority
JP
Japan
Prior art keywords
point
points
pixel
line
handwritten
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.)
Granted
Application number
JP2008271198A
Other languages
English (en)
Other versions
JP5240452B2 (ja
Inventor
Sadao Takahashi
禎郎 高橋
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008271198A priority Critical patent/JP5240452B2/ja
Publication of JP2010099136A publication Critical patent/JP2010099136A/ja
Application granted granted Critical
Publication of JP5240452B2 publication Critical patent/JP5240452B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】さまざまな大きさの点や太さの線がシート上に手書きで描かれていても、これら手書きの点と線を高精度に認識できるようにする。
【解決手段】点と線の手書きが加えられたシートを読み取って、その画像データから点を認識し、該認識された点以外の画像データから線を認識する。点認識処理では、第一の大きさの点パターンを用いて点を検出し、第一の大きさより小さい第二の大きさの点パターンを用いて点を検出し、これら検出した点から、隣接する二点のうち小さい方の点を削除し、近傍に存在するほぼ同じ大きさの二点を削除し、さらに、第一の大きさより小さい点を削除する。線認識処理では、検出された点を除いた画像データをブロック分割し、ブロックごとに線分を検出し、検出された線分及び先に検出された点を連結する。
【選択図】図1

Description

本発明は、シート上に手書きされた点と線を認識する手書き点と線の認識処理方法及び装置に関する。
近年、コンピュータ技術やインターネット網の発展に伴い、例えばゴルファーのプレイ情報をデジタル化、グラフィック化して管理し、必要に応じてインターネット網を介してユーザ端末に配信するなどのサービスを行うゴルフプレイ情報処理システムが提案されている。
例えば、特許文献1には、ゴルファーが手書きグラフィックスコアカードを持ってプレイをし、各ホール毎に、該手書きグラフィックスコアカードに打球の軌跡を点と線で記入し、また、ホール打数とパット数等をマーク記入し、このゴルファーが記入した手書きグラフィックスコアカードをスキャナで読み取り、画像処理で手書き部分を抽出し、点と線を認識してゴルファーの打球の軌跡をデジタル化し、また、マーク部分を検出して打数やパット数等をデジタル処理し、ゴルファーに詳細なプレイ情報を提供するシステムが開示されている。
特開2008−102625号公報
手書きグラフィックスコアカードなど、一般に鉛筆等の筆記具でシート上に点と線を手書きする場合、筆圧の高い人や低い人、鉛筆の芯が細く尖っているもの、逆に削られていなくて太くなっているものなどがあり、シート上に手書きされた線の太さ、点の大きさには非常に大きな個人差がある。従来技術においては、シート上に手書きされたさまざまな大きさの点や太さの線を正確、確実に認識することができない問題があった。
本発明は、シート上に手書きされた点や線に大きな個人差がある場合にも、該手書きされた点や線を正確、確実に認識する高精度の手書き点と線の認識処理方法及び装置を提供することにある。
本発明の手書き点と線の認識処理装置は、点と線の手書きが加えられたシートを読み取り、その画像データを入力する画像入力手段と、前記入力された画像データから点を認識する点認識手段と、前記認識された点以外の画像データから線を認識する線認識手段とを有する。ここで、点認識手段が、手書きの白抜き部分を黒で塗りつぶす塗りつぶし手段と、第一の大きさの点パターンを用いて点を検出する第一点検出手段と、前記第一の大きさより小さい第二の大きさの点パターンを用いて点を検出する第二点検出手段とを備えることを主要な特徴とする。
点認識手段は、更に、第一および第二点検出手段で検出された点のうち、近傍に存在あるいは隣接する二点の大きさの比の値が所定の値より大きい場合に、小さい方の点を削除する近傍小点削除手段、第一および第二点検出手段で検出された点のうち、隣接あるいは近傍に存在する二点の大きさの比の値が所定の範囲にあるとき、当該二点を線の一部と見做して削除する線上点削除手段、これら近傍小点削除手段及び線上点削除手段で削除されなかった点のうち、第一の大きさの点パターン用いて検出された点より小さい大きさを有する点を削除する小点削除手段などを有する。
第一および第二点検出手段は、点パターンに多角形のテンプレートパターンを用い、該多角形のテンプレートパターンの大きさを初期設定する手段と、多角形の中に黒画素が一定以上含まれているか判定し、含まれていると、多角形の大きさを拡大し、該拡大した多角形を所定の領域内で移動する処理を、多角形の中に黒画素が一定以上含まれなくなるまで繰り返す手段と、多角形の中に黒画素が一定以上含まれなくなった場合に、その直前の大きさの多角形の位置と大きさを点と決定する手段を有する。
線認識手段は、検出された手書きの点を除いた画像データを複数ブロックに分割するブロック分割手段と、前記分割された各ブロック中の線分を検出する線分検出手段と、前記検出された線分及び前記点認識手段で検出された点を連結する線分連結手段を有する。
ブロック分割手段は、ブロックの境界が黒画素か否かを判定する黒画素判定手段と、前記黒画素判定手段において黒画素であると判定された場合に、境界の両側を黒画素、境界を白画素で塗りつぶす黒白黒塗りつぶし手段とからなる。
線分検出手段は、線分検出の処理対象とするブロックを選択するブロック選択手段と、黒画素を探索開始画素と設定するための探索画素設定手段と、黒画素の境界を追跡して線分を検出する黒境界探索手段と、前記追跡された線分の外接矩形の大きさを算出し、所定の大きさを満たさない線分を削除する線分削除手段と、線分内の黒画素の位置と、線分の重心を算出する線分重心取得手段を有する。
線分連結手段は、連結すべき二線分間の距離が小さいか否かを判定する線分距離判定手段と、前記距離が小さい場合に、両線分間の重心を結ぶ方向と既に連結された複数の線分同士の重心を結ぶ方向の成す角度が小さいか否かを判定する方向性判定手段と、前記角度が小さい場合に、両線分間の最小外接矩形を設定する外接矩形設定手段と、前記設定した外接矩形の大きさを拡大する外接矩形拡大手段と、拡大した外接矩形内に、両線分の黒画素が存在するか否かを判定する黒画素存在判定手段と、前記黒画素存在判定手段において、両線分の黒画素が存在すると判定された場合、両線分を連結する連結手段を有する。
画像入力手段は、色地上に点と線の手書きが加えられたカラーシートを読み取り、そのカラー画像データを入力することでもよい。この場合、入力したカラー画像データから有彩色を取り除き、二値画像データを得る有彩色除去手段を備える。点認識手段は、前記有彩色の除去された二値画像データから点を認識し、線認識手段は、認識された点以外の二値画像データから線を認識するようにする。
有彩色除去手段は、処理対象画素を含む小領域の平均画素値を算出する平均色算出手段と、前記平均画素値と第一の閾値(ThB)とを比較して全色の画素値が前記閾値より小さい場合に、当該領域をグレー領域と判定するグレー領域判定手段と、前記グレー領域判定手段においてグレー領域と判定された処理対象画素の各画素値と第二の閾値(ThC)とを比較して全色の画素値が前記第二の閾値より小さい場合に処理対象画素を黒画素と抽出し、そうでない場合には処理対象画素を有彩色として除去する第一黒画素判定手段と、前記グレー領域判定手段においてグレー領域ではないと判定された場合に、処理対象画素の画素値を前記平均画素値を用いて補正する画素値補正手段と、前記画素値補正手段において補正された画素値と第三の閾値(ThD)とを比較して補正された画素値すべてが前記第三の閾値より小さい場合に処理対象画素を黒画素と抽出し、そうでない場合には処理対象画素を有彩色として除去する第二黒画素判定手段を有する。
本発明の手書き点と線の認識処理方法も、基本的に同様の構成であるので、詳細は省略する。
本発明によれば、様々な大きさの点や太さの線がシート上に手書きで描かれていても、これら手書きの点と線を高精度に認識することができる。また、点と線を正確に繋ぐことができるので、点の順序を特定することができるようになる。具体的には、後の実施の形態の説明で明らかになる。
以下、本発明の一実施の形態を図面を参照しながら詳細に説明する。なお、以下では、特許文献1に示されているような手書きグラフィックスコアカードをスキャナで読み込んで処理し、ゴルファーのプレイ情報をデジタル化、グラフィック化して管理するゴルフプレイ情報処理システムを対象とする。
<手書きフォーム>
ここでは、図28に示すような手書きグラフィックスコアカードを手書きフォームとして用いるとする。図28において、手書きグラフィックスコアカード11は、ホールナンバ(例えば、Hole1)、距離(例えば、475Y)、パーデータ(例えば、Par5)、ティーグランドからグリーンまでのカラーホールレイアウト、グリーンのカラーレイアウト、ティーグランドからフェアウェイ各地点までの距離データ、フェアウェイ各地点からグリーン上のピン位置までの距離データ、グリーン上の距離データなどが印刷されているとともに、当該カラーゴルフホールレイアウトにおけるティグランドからグリーン上のピンにいたるボールの始点、飛球ライン、着地点、パッティングライン及びスコア記入欄(ホールスコア、パッティング数の記入欄)が設けられ、さらに、QRコードなどの固有の識別コード12が埋め込まれ、また、四隅には位置検出用のマーカーA〜Dが設けられている。一般にカラーホールレイアウトは、当該ホールのレイアウトを、ティグランド、フェアウェイ、ラフ、グリーン、バンカー、池、樹木等のエリアや存在物別に何色かの有彩色で色分けして印刷されている。このような手書きグラフィックスコアカード11が、例えば18ホール分、冊子上に綴られている。
ゴルファーは、各ホールごとに、手書きグラフィックスコアカード11に、鉛筆等の筆記具でもって、図29に示すように、ティグランドからグリーン上のピンにいたる打球の軌跡を点と線で手書きし、また、スコア記入欄における実際のホール打数とパット数を示す数字を手書きで丸印する。図29は、当該ホール(Hole1)でのゴルファーの実際の打数は「5」、パット数は「2」であったことを示している。
<システム構成>
ゴルフプレイ情報処理システムでは、図29のような点と線、丸印の手書きが加えられた手書きグラフィックスコアカード11を、例えば18ホール分読み込んで処理し、ゴルファーのプレイ情報をデジタル化、グラフィック化して管理する。本発明は、このようなゴルフプレイ情報処理システムにおいて、手書きグラフィックスコアカード上に手書きされた点や線に大きな個人差がある場合にも、該点や線を正確、確実に認識できるようにするものである。勿論、本発明は、手書きグラフィックスコアカードに限定されるものではなく、一般にシート上に手書きされた点と線の認識に広く利用することができる。
図1に、本発明の手書き点と線認識技術を適用したゴルフプレイ情報処理システムの装置構成例を示す。本ゴルフプレイ情報処理システムは、装置各部の動作を制御する制御部100、有彩色除去部110、ID検出部120、画像補正部130、点認識部140、線認識部150、マーク認識部160、認識情報意味付け部170などの各処理部、点と線や丸印の手書きが加えられた手書きグラフィックスコアカードを読み取る画像入力装置(スキャナ)180、キーボードやマウスなどの操作部190、処理途中結果などを記憶する内部記憶装置(RAM等)200、処理結果であるゴルファーのプレイ情報などを記憶する外部記憶装置(HDD等)210、外部記憶装置210に記憶されたゴルフのプレイ情報などを表示する表示装置220、同じくプリントアウトする印刷装置230、同じくインターネット網を介してユーザ端末に配信するモデム240、及び、これら各部を接続するバス(データバス、制御線等)250などで構成されている。
図1はコンピュータシステムと基本的に同様であり、制御部100と各処理部110〜170の実体はCPUである。ここで、制御部100と各処理部110〜170のためのプログラムは、あらかじめ外部記憶装置210に保持されており、これを内部記憶装置200にロードし、CPUで実行することで、制御部100及び各処理部110〜170の機能が実現される。
図1において、外部記憶装置210は、ゴルフコースのレイアウトファイルも保持している。レイアウトファイルには、各ホールの領域マップ(ティー、フェアウェイ、ラフ、池、道路、バンカー、グリーン、OB)などとその縮尺(コースの大きさ)が含まれており、手書きされた点のある領域と、ティーからの距離を算出するために用いられる。図30はレイアウトファイルの領域マップの一例を示したものである。
<手書きフォームの処理手順>
図2に、本ゴルフプレイ情報処理システムにおける手書きフォーム処理の全体的フローチャートを示す。
図29のような点と線、丸印(チェックマーク)の手書きが加えられた手書きグラフィックスコアカード11を、画像入力装置180を用いて読み取り、例えば、フルカラー24ビットのカラー画像データを入力する(ステップ1001)。入力されたカラー画像データは内部記憶装置200に記憶される。このカラー画像データについて、制御部100の制御下で、順次、以下の処理を実行する。この時、必要に応じ処理途中結果も内部記憶装置200に記憶される。
まず、有彩色除去部110にて、カラー画像データから有彩色を取り除き、スコアカードに鉛筆等で手書きされた点と線や丸印の筆記情報、識別コード、位置検出用マーカーなどの黒の部分だけを抽出し、これらを黒画素とする二値画像データを生成する(ステップ1002)。
ID検出部120では、二値画像データから二次元の識別コードをデコードし、管理IDを検出する(ステップ1003)。具体的には、二値画像データから画像中の白画素で囲まれた黒画素を含む領域を抽出し、この抽出した領域について、二次元コードをデコードすることで、当該フォームの電子データ上における固有の管理IDを検出する。例えば、図28。図29のスコアカード11の場合、識別コード12をデコードすることで、「00229」が検出される。
管理IDを検出した後、画像補正部130にて二値画像データの画像補正を行う(ステップ1004)。画像補正は、画像の向きを正立させる画像正立と、画像のスキュー、位置ずれ、歪みを補正するレイアウト位置補正とからなる。このレイアウト位置補正に位置検出用マーカーが用いられる。
画像補正を行った後、点認識部140にて二値画像データから筆記情報中の点の認識を行い(ステップ1005)、点の認識を行った後で、線認識部150にて線の認識を行い、点と線の連結情報を生成する(ステップ1006)。本発明は、この点認識部140と線認識部150にかかわる。これについては、後で詳しく説明する。
点及び線の認識を行った後、マーク認識部160にて、二値画像データからスコア記入欄に加筆された丸印(チェックマーク)の認識を行う(ステップ1007)。具体的には、外部記憶装置210に保持されているレイアウトファイルからスコア記入欄に対応する領域情報(スコアマーク位置)を取得し、その領域に対応する部分をレイアウト位置補正済みの二値画像データから切り出す。そして、OMR処理を行ってマークの有無の認識を行う。
最後に、認識情報意味付け部170では、認識した点の位置やマークの位置と、レイアウトファイル内のレイアウト情報により、点が属している位置や領域(フェアウェイ、ラフ、バンカー、グリーン等)、マークが示している数字(ホール打数、パット数)などを得る(ステップ1008)。
以上の処理を、例えば、18ホール分の手書きグラフィックスコアカードについて繰り返す。そして、最終的に各ゴルファーのデジタル化、グラフィック化したプレイ情報を生成する。これについては、例えば特許文献1に詳述されているので、ここでは省略する。このゴルファーのプレイ情報は外部記憶装置210に記憶され、必要に応じて表示装置220に表示されたり、印刷装置230でプリントアウトされたり、あるいはモデム240を介してユーザ端末に配信されたりする。
以下、処理部110〜160の処理について詳述する。
<有彩色除去>
有彩色除去部110は、画像入力装置180で読み取られた手書きグラフィックスコアカードのカラーデジタル画像データから、予めスコアカードに印刷されていた有彩色を除去し、スコアカードに加筆された黒の部分(点と線や丸印)や、予めスコアカードに印刷されている黒の部分(識別コード、位置検出用マーカー)だけを抽出し、これらを黒画素とする二値画像データを出力する。
図3は有彩色除去処理の全体フローチャートである。下地の有彩色の上に鉛筆などで筆記した場合、鉛筆のグレーの色に下地の色がかぶるので、単純な閾値判定では精度よくグレーを抽出し、有彩色を除去することかできない。そこで、処理対象画素を中心として小領域(例えば、5×5画素)で全画素の平均値を算出する(ステップ2001)。そして、この平均値を閾値判定して黒画素抽出を行い、有彩色除去された二値画像データを得る(ステップ2002)。
図4に有彩色除去の処理詳細フローチャートを示す。カラーデジタル画像データを、例えば、左から右、上から下にスキャンし、各画素を処理対象画素として、未処理画素がなくなるまで、以下の処理を繰り返す(ステップ2101)。まず、処理対象画素を中心とした小領域(例えば、5×5画素)について、各色成分(R,G,B)ごとに、当該領域の全画素の平均画素値を算出する(ステップ2102)。この平均画素値をRa,Ga,Baとする。そして、ThBを所定の閾値として、Ra<ThBかつGa<ThBかつBa<ThB(条件1)を満たすか判定し(ステップ2103)、満たす場合、当該領域はグレー領域と判定し、次に、処理対象画素の画素値R,G,Bが、ThCを別の所定の閾値として、R<ThCかつG<ThCかつB<ThC(条件2)を満たすか判定し(ステップ2104)、満たす場合、処理対象画素を黒画素として抽出する(ステップ2105)。また、条件1が満たされない場合、Coを所定の係数として、Rc=R+Co(255−Ra),Gc=G+Co(255−Ga),Bc=B+Co(255−Ba)を計算し(ステップ2106)、次に、ThDを別の所定の閾値として、Rc<ThDかつGc<ThDかつBc<ThD(条件3)を満たすか判定し(ステップ2107)、満たす場合、処理対象画素を黒画素として抽出する(ステップ2105)。一方、条件2あるいは条件3が満たされない場合には、処理対象画素は有彩色であるとして除去する(ステップ2108)。すなわち、処理対象画素を白画素とする。
ここで、条件1が満たされ、条件2も満たされる場合は、濃く描かれた黒である。一方、条件1が満たされ、条件2が満たされない場合は、グレー領域にある色画素とみなされる。また、条件1が満たされず、条件3が満たされた場合は、色地上に描かれた薄い黒とみなされる。条件1も条件3も満たされない場合は、当該領域は色であり、処理対象画素は色画素と判断される。
<ID検出>
ID検出部120は、有彩色除去された二値画像データを入力して、手書きグラフィックスコアカードに印刷されている二次元識別コードのIDを検出する。
図5はID検出処理の全体フローチャートである。二次元識別コードは黒で印刷されているので有彩色除去処理において除去されずに残っている。このため、有彩色除去された二値画像データは、二次元識別コードを含んでいる。まず、二値画像データから二次元識別コードが含まれる領域を抽出する(ステップ3001)。その後、抽出した全領域に対して二次識別コードの読み取りを行い、正しく読めたものをIDとして検出する(ステップ3002)。
図6に領域抽出処理の詳細フローチャートを示す。領域抽出は、二値画像データ中の白画素で囲まれた黒画素を含む領域を検出することで行う。まず、連結黒画素のラベル付けを行う(ステップ3101)。具体的には、例えば、二値画素データを左上の原点から右へ、上から下へと走査する。そして、左上、上、左の画素が白画素であり、現在注目している画素が黒画素である場合に、その黒画素に新たなラベルをつける。それ以外の黒画素の場合は、その左上、上、左のいずれかにある黒画素につけられたラベルを注目している黒画素につける。図7(a)は、これを示しており、1,2が黒画素につけられたラベルである。次に、同一のラベルを有する連結黒画素群を囲む外接矩形座標を検出する(ステップ3102)。これが、図7(b)である。次に、各外接矩形に重なりや接触がある外接矩形同士を統合し(同一ラベルに統合)、新たな外接矩形座標を求める(ステップ3103)。これが、図7(c)である。最後に、二次元識別コードの大きさとしてありえない大きさの外接矩形を排除するため、所定の範囲の大きさの外接矩形を抽出する(ステップ3104)。
IDは、抽出された矩形領域全てに対してデコードを行うことで検出する。あらかじめ、2次元識別コードの位置がわかっているならば所定の位置にある矩形領域のみにデコードを行えばよいが、スコアカードのレイアウトによってどこに2次元識別コードが存在するかわからない場合がある。そこで、検出した矩形領域すべてに対してデコードを行い、デコードできたものをIDとして検出するようにする。デコードの詳細は、QRコードの場合は自動認識協会発行のQRコードの仕様書が参考になる。
<画像補正>
画像補正部130は、ID検出後、有彩色除去された二値画像データについて、点や線を抽出し認識するに先立って補正処理を行う。
図8は画像補正処理の全体フローチャートである。まず、有彩色除去された二値画像データの向を正立させる(ステップ4001)。次に、この画像正立させた二値画像データについてレイアウト位置補正を行う(ステップ4002)。
図9に画像正立処理の詳細フローチャートを示す。画像正立処理は、間違った向きで読取られた画像を正しい向きに正立させるものである。まず、読取られたカラー画像データに対応する有彩色除去済みの二値画像データについてOCR処理を行い(ステップ4101)、その結果を保存しておく(ステップ4102)。次に、該二値画像データを、順次、90度ずつ回転処理し(ステップ4103,4104)、同様にOCR処理を行い(ステップ4103)、それらの結果を保存する(ステップ4102)。そして、4方向でOCR処理がなされたならば(ステップ4104)、次に、OCR処理の結果のひとつの尺度である確信度を用いて二値画像データの正しい方向を判定する(ステップ4105)。確信度とは認識した文字等の確からしさであり、この画像方向判定に使用する数値は、各文字等の確信度の平均である。この平均の確信度がもっとも大きい値を持つ方向で画像は正立すると判定し、二値画像データを正立させる。
図10にレイアウト位置補正処理の詳細フローチャートを示す。レイアウト位置補正処理では、正しいコースレイアウトと重ね合わせができるように、正立させた二値画像データのスキュー、位置ずれ、歪みを補正する。
まず、レイアウトファイルからスコアカード上の4箇所の理想のマーカー位置情報を入力する(ステップ4201)。次に、二値画像データから位置検出用マーカーA,B,C,Dを検出する(ステップ4202)。図11にマーカー検出法の一例を示す。Aのマーカーを例に説明すると、まず、斜め走査により、マーカーの左上の頂点となる黒画素(A0)を探索する。次に、この黒画素の位置から右斜め下45度の方向で黒画素の終点(A1)を探索する。この連続した黒画素の長さ(1)と理想のマーカーの長さを比較し、ほぼ等しければ、A0とA1の中点をMとする。次に、垂直方向の黒画素の長さ(2)と水平方向の黒画素の長さ(3)を検出する。同様に、理想のマーカーの長さと比較し、それぞれがほぼ等しければAをマーカーと判定する。マーカーB,C,Dについても同様に行って、4箇所のマーカーを検出する。これで、理想マーカーと画像マーカーの位置の対応付けができた。
最後に、二値画像データにアフィン変換を行う(ステップ4203)。これを図12に示す。マーカーA,B,C,Dからなる四角形を三角形ABC、三角形BCDの二つの三角形に分割し、それぞれアフィン変換を施して4箇所のマーカーを基準としたレイアウト位置補正を完了する。
このようにレイアウト位置補正を行えば、二値画像データから点を認識するべき領域や丸印のOMRを行う領域を正確に切り出すことができる。
<点の認識>
点認識部140は、画像成立及びレイアウト位置補正された二値画像データから点の認識を行う。本発明は、特にこの点認識部140と次の線認識部150の処理にかかわる。
図13は本発明にかかる点認識処理の一実施例の全体フローチャートを示す。まず、画像正立及びレイアウト位置補正された二値画像データから加筆領域を抽出する(ステップ5001)。具体的には、レイアウトファイルから加筆領域を抽出すべき領域を取得し、その領域に対応する部分を画像成立及びレイアウト位置補正済みの二値画像データから切り出す。切り出した二値画像データには、手書きの点とそれらをつなぐ線とが存在する。ここで、手書きの点は、黒く塗りつぶすという動作で筆記されるが、中には黒く塗りつぶされていない部分も存在する。そこで、黒で囲まれている白い部分を塗りつぶす(ステップ5002)。次に、所定の大きさ以上の第一の点(黒点)の検出を行う(ステップ5003)。次に、第一の点より小さい点の検出を行う(ステップ5004)。そして、これら検出された第一の点と第二の点を点候補として、網羅的に近傍小点削除(ステップ5005)、線上点削除(ステップ5006)、小点削除(ステップ5007)を行い、残った点候補を最終的に点と認識する。
以下、第一点検出、近傍小点削除、線上点削除、小点削除の各処理について詳しく説明する。第二点検出の処理は第一点検出の処理と基本的に同じである。
≪第一点検出≫
点の直径は線の太さより大きいことが前提である。ここでは、入力画像の解像度が300dpiとして、検出したい点の最小の大きさは、直径12ドット(12画素)とする。
第一点検出処理では、所定の大きさの点パターン(テンプレートパターン)を用いて、検出したい点の最小の大きさ(直径12画素)以上の点を検出する。図14に点パターンの一例を示す。ここでは、図14(a)に示す正方形の四つの角を切り取った八角形のテンプレートを用いるとする。第一点検出は、この八角形の小領域内に黒画素が、該小領域内の全画素に対する割合(黒画素率)が所定値以上ある場合に点が検出されたとみなす。第二点検出も基本的に同じである。両者の相違は、第一点検出では、八角形の初期の大きさを、八角形の外接正方形の辺長12画素とするのに対し、第二点検出では、八角形の外接正方形の辺長8画素とすることである。
図15に第一点検出処理の詳細フローチャートを示す。二値画像データの加筆領域について、例えば、左から右、上から下へと順次スキャンし、未処理画素が存在する間、以下の処理を繰り返す(ステップ5101)。
まず、八角形のテンプレートパターンの大きさを、検出したい最小の点の大きさに初期設定する(ステップ5102)。ここでは、八角形の外接正方形の一辺の長さ(画素数)を12画素と設定する。次に、八角形の中に黒画素が一定以上あるか判定する(ステップ5103)。すなわち、八角形の中の全画素数に対して黒画素数がどれだけ含まれているか判定する。そして、八角形の中に黒画素が一定以上ない場合にはステップ5101に戻るが、黒画素が所定の割合(例えば80%)以上含まれていたら次の処理に進む。図16(a)は、八角形の中に黒画素が一定以上ある場合の一例を示している。
八角形の中に黒画素が一定以上あった場合、すなわち、初期設定の八角形(テンプレート)で少なくとも検出しようとする点の位置が検出されたならば、該八角形の大きさを上下左右方向に1画素ずつ拡大する(ステップ5104)。図16(b)はこれを示している。
次に、八角形の移動領域を設定する(ステップ5105)。図16(c)はこれを示している。例えば、八角形の現在位置より、右方向、下方向に4画素ずつ大きくした矩形領域を移動領域とする。この時、現在の八角形の大きさと位置を記憶しておく。次に、この移動領域内で、八角形を上下左右方向に1画素ずつずらしながら移動し(ステップ5106)、その八角形の中に黒画素が一定以上(例えば80%)あるか判定する(ステップ5107)。図16(d)はこれを示している。
ステップ5107で八角形の中に黒画素が一定以上あると判定された場合には、その時点でステップ5104に戻る。また、八角形の中の黒画素が一定以上ない場合には、設定した移動領域内に未移動位置があるか判定し(ステップ5108)、未移動位置があれば、ステップ5106,5107を繰り返し、八角形の中に黒画素が一定以上あると判定された場合には、同様に、その時点でステップ5104に戻る。すなわち、検出しようとする点の実際の大きさが分かるまで、八角形の拡大と、その八角形の中の黒画素率の判定を繰り返す。
八角形の拡大処理と黒画素率の判定処理を繰り返し、八角形の中の黒画素が一定以上にならなくなり、移動領域内に未移動位置がなくなったときに、検出しようとする一つの点の処理を打ち切る(ステップ5108でNO)。そして、そのときステップ5105で記憶した八角形の大きさと位置を、一つの点の大きさと位置として決定する(ステップ1109)。すなわち、黒画素率が所定値以上であった最大の八角形の大きさとその位置を点として検出する。
次に、後続の点認識に影響しないように、二値画像データ内の、ステップ1109で決定した八角形の黒画素を白画素に置き換える(ステップ5110)。その後、ステップ5101に戻り、次の未処理の画素へ進む。以下、同様の処理を繰り返して第1の点を検出する。
先に述べたように、第二の点検出処理は、図15の第一点検出処理と同様のフローチャートでよい。相違点は、八角形(テンプレートパターン)の初期の大きさが第一点検出の場合より小さく、例えば、八角形の外接正方形の一辺の長さを8画素と設定することである。この第二点検出により、線が太い場合に大きさがある程度揃った点(例えば、8〜11画素)が隣接して多数検出される。この大きさが揃った点が隣接しているということを利用して、後述の線上点削除処理で、線の一部が誤って点として検出される場合に、それらの点を削除する。
≪近傍小点削除≫
近傍小点削除処理は、近傍に存在または隣接する二点の大きさの比の値が所定の閾値より大きい場合、小さい方の点を削除するものである。具体的には、近傍に存在または隣接
する大きな八角形の点の大きさをD、小さい八角形の点の大きさをdとし、D/dが所定の値(例えば1.5)以上であるときに小さい八角形の点を削除して大きい八角形の点だけを残す。
手書きの点はいびつな形状のものも多く、一つの点が大きな点とそれに隣接した小さな点に分割されて検出されることがある。図17は、黒領域が手書きの一つの点であるが、形状がいびつであるため、辺長が20画素の大きな八角形の点とそれに隣接した辺長が12画素の小さな八角形の点とに分割されて検出された例を示している。近傍小点削除処理により、辺長が12画素の小さい八角形の点が削除されて、辺長が20画素の大きな八角形の点だけが残り、一つの手書き点に対して一つの点が認識される。
近傍小点削除処理では、基本的に検出された第1の点と第2の点を全て点候補として、その取り得る2つの点候補の全ての組み合わせについて網羅的に所定の条件が満たすか判定し、満たす場合、2つの点候補の一方を削除する。例えば、第一の点としてA,B,Cの3つが検出され、第二の点としてD,E,F,Gの4つが検出されたとすると、これらA〜G7つの点をすべて点候補とする。そして、まず、点Aを第1の点候補とし、B〜Gを第2の点候補として、順次、AとB,AとC,…,AとGの組を選択して、所定の条件が満たすか判定する。次に、点Bを第1の点候補とし、C〜Gを第2の点候補として、順次、BとC,BとD,…,BとGの組みを選択して、所定の条件か満たすか判定する。以下、点Fを第1の点候補、Gを第2の点候補として、FとGの組が所定の条件を満たすか判定するまで、同様の処理を繰り返す。
図18に近傍小点削除処理の詳細フローチャートを示す。検出された第1の点と第2の点を点候補として以下の処理を行う。まず、未処理の第1の点候補があるか判定し(ステップ5201)、あれば、その一つの第1の点候補を選択する(ステップ5202)。次に、未処理の第2の点候補があるか判定し(ステップ5203)、あれば、その一つの第2の点候補を選択する(ステップ5204)。この選択された第1の点候補と第2の点候補が隣接しているか判定する(ステップ5205)。隣接していない場合、ステップ5203に戻り、次の第2の点候補の選択に進む。そして、ステップ5203〜5205の処理を繰り返し、着目する第1の点候補に対して、いずれの第2の点候補も隣接していない場合、ステップ5201に戻り、次の第1の点候補の選択に進む。
ステップ5205で、第1の点候補と第2の点候補が隣接していると判定された場合には、この二つの点候補の大きさの比の値が所定の閾値Cdより大きいか判定する(ステップ5206)。大きくない場合、ステップ5203に戻る。一方、大きかった場合には、二つの点候補のいずれかが小さいか判定し(ステップ5207)、小さい方の点候補を削除する(ステップ5208,5209)。そして、第1の点候補を削除した場合にはステップ5201に戻る。また、第2の点候補を削除した場合には、ステップ5203に戻り、着目する第1の点候補に隣接して別の第2の点候補が存在するか見に行く。
以上の処理を、未処理の第1の点候補があるまで繰り返し、未処理の第1の点候補がなくなると、近傍小点削除処理を終了とする。
なお、近傍小点削除処理では、検出された第1の点と第2の点を全て点候補と見做すとしたが、第1の点のみを処理の対象とすることでもよい。この場合、例えば、一つの手書き点に対して、辺長が14画素の大きな八角形の点(第1の点)とそれに隣接した辺長が8画素の小さな八角形の点(第2の点)が検出された場合に、8画素の小さな八角形の点は、近傍小点削除処理で削除されずにそのまま残るが、このような点は後の小点削除処理で削除すればよい。
≪線上点削除≫
線上点削除処理は、隣接あるいは近傍に存在する二点の大きさの比の値が所定の範囲内にあるとき、これら二点は線の一部と見做して削除するものである。具体的には、隣接あるいは近傍に存在する二つの八角形の点のペアについて、一方の八角形の点の大きさをD1、他の八角形の点の大きさをD2として、D2/D1あるいはD1/D2が所定の範囲内(例えば、2/3〜3/2)にあるとき、この二つの八角形の点のペアは本来線の一部を構成し、それが誤って点として検出されたと見做して削除する。
鉛筆などによる手書きでは、筆圧が高い人、低い人、鉛筆の芯が細くとがっているもの、削られていなくて芯が太くなっているものなどがあり、人の描く線の太さ、点の大きさには非常に大きな個人差がある。しかしながら、線と点をつなぐ場合、人は線の太さより明確に大きい点を描く傾向にある。したがって、線が細く点が比較的小さい人の点を検出しようとすると、その点の大きさは、太い線の太さより小さくなってしまい、太い線の中にたくさんの点を検出する弊害が発生する。また、人の描く線の太さは太くなったり細くなったりすることがあり、線の途中で線が太くなり、孤立した点が検出されることもある。
図19(a)は、線が太くて、該線の部分が誤って多数の点(第1の点)として検出される例で、八角形a〜gがそれを示している。八角形a〜gは、いずれもほぼ同じ大きさで、互いに隣接して数珠繋ぎになっている。線上点削除処理により、このような八角形a〜gの点列はすべて削除される。八角形hは、本来正しく検出されるべき点であり、これは、八角形a〜gの点に比べて十分な大きさを持つので、線上点削除処理で削除されることはない。なお、八角形gの点は、八角形hとの大小比較により、先の近傍小点削除処理で削除することでもよい。
図19(b)は、線の途中が一部太くなり、その部分が誤って孤立した点(第1の点)として検出される例で、八角形nがそれを示している。線上点削除処理により、八角形nのような点も削除される。すなわち、八角形nは孤立しているが、第2点検出処理により、該八角形nの点の近傍に、該八角形nよりやや小さい八角形mの点(第2の点)が検出される。なお、八角形mと同様の点(第2の点)が、八角形nの前後に多数検出されるが、図19(b)では省略してある。線上点削除処理により、八角形mとnのペアが削除される。このように、第2点検出処理で検出された点を参照することにより、線が途中で太くなり、その部分が第1点検出処理で誤って孤立した点として検出された場合にも、その点を削除することができる。八角形oの点は、本来正しく検出されるべき点で、これは十分な大きさを持つので、この近傍に第2点検出処理で検出された小さな八角形の点が存在しても削除されない。
なお、八角形nも十分な大きさを持つ場合には削除されない。すなわち、この場合は、本来の点と見做すことにする。実際には、このようなケースはほとんどないので、問題はない。
線上点削除処理は近傍小点削除処理と同様に、基本的に検出された第1の点と第2の点を全て点候補として、その取り得る2つの点候補の全ての組み合わせについて網羅的に所定の条件(例えば、D2/D1あるいはD1/D2が2/3〜3/2の間)が満たすか判定し、満たす場合、2つの点候補の一方を削除する。
図20に線上点削除処理の詳細フローチャートを示す。検出された第1の点と第2の点を点候補として以下の処理を行う。第1の点候補、第2の点候補の意味は、先の近傍小点削除処理の場合と基本的に同じである。まず、未処理の第1の点候補があるか判定し(ステップ5301)、あれば、その一つの第1の点候補を選択する(ステップ5302)。次に、未処理の第2の点候補があるか判定し(ステップ5303)、あれば、その一つの第2の点候補を選択する(ステップ5304)。この選択された第1の点候補と第2の点候補が隣接あるいは近傍にあるか判定する(ステップ5305)。隣接や近傍にない場合、ステップ5303に戻り、次の第2の点候補の選択に進む。そして、ステップ5303〜5305の処理を繰り返し、着目する第1の点候補に対して、いずれの第2の点候補も隣接や近傍にいない場合、ステップ5301に戻り、次の第1の点候補の選択に進む。
ステップ5305で、第1の点候補と第2の点候補が隣接や近傍にあると判定された場合には、この二つの点候補の大きさの比の値が所定の範囲内(例えば2/3〜3/2)にあるか判定する(ステップ5306)。所定の範囲内にない場合、ステップ5303に戻る。一方、所定の範囲内であった場合には、この二つの点候補を削除する(ステップ5307)。そして、ステップ5301に戻る。この場合、この時点で未処理として残っている点候補を処理対象として、その一つを第1の点候補とし、残りを第2の点候補とする。
以上の処理を未処理の第1の点候補があるまで繰り返し、未処理の第1の点候補がなくなると、線上点削除処理を終了とする。
≪小点削除≫
小点削除処理は、第1点検検出処理で検出したい点の最小の大きさ(ここでは12画素)より小さい点をすべて削除するものである。近傍小点削除処理と線上点削除処理の順番は、どちらが先でもあとでもよいが、小点削除処理は最後に実施する。
小点削除処理では、近傍小点削除処理と線上点削除処理で削除されずに残った全ての点候補について、その大きさが所定の値(12画素)以上が閾値判定して、所定の値より小さいものを削除すればよいので、処理フローチャートは省略する。
上記の点認識処理により、シート上に、さまざまな大小の点、いびつな点、さまざまな太さの線が手書きされていても、正確に本来の点だけを抽出することができる。
以上のようにして抽出された点の領域情報(座標、大きさ)を内部記憶装置200に記憶する。また、後の線認識処理で、該点領域を線として認識しないように、二値画像データ内の点に該当する領域を白で塗りつぶす。
<線の認識>
線認識部150は、点領域が白画素で塗りつぶされた二値画像データから線分を検出し、点認識部140で検出された点と該線分を連結する。
図21に線認識処理の一実施例の全体フローチャートを示す。まず、点領域が白画素で塗りつぶされた二値画像データを複数のブロックに分割する(ステップ6001)。次に、各ブロックごとに線分を検出する(ステップ6002)。最後に、線分同士を連結する(ステップ6003)。この時、点認識処理で得られた点情報(座標、大きさ)をもとに、点として検出された領域も線分の一つとして連結し、点と線の連結情報を得る。以下、各処理について詳しく説明する。
≪ブロック分割≫
ブロック分割処理では、二値画像データを複数ブロックに分割する。ここでは、1ブロックの大きさは24×24画素とする。また、各ブロックの領域内に黒画素の塊があるかどうかを探索するために、各ブロックの境界を1画素幅の白で塗りつぶす。こうすると黒画素の追跡でブロックの境界を意識する必要がなくなるため、処理が速くなる。ただし、線分が細い場合にはブロックの境界を白で塗りつぶすと線が消えてしまい、後で行う線ブロックの連結がうまくいかない可能性がある。そこで、ブロックの境界を白で塗りつぶす際には、塗りつぶす画素が黒画素である場合にのみ両側を黒画素ではさんだ黒白黒で境界を塗りつぶすことにする。このようにすると、線が細い場合でも線が消えることなく追跡可能になり、線の認識を精度良く行うことが可能になる。
図22にブロック分割処理の詳細フローチャートを示す。まず、二値画像データについて24×24画素単位に1画素幅の境界を設定する(ステップ6101)。次に、この境界上の画素を塗りつぶし画素として選択し(ステップ6102)、該塗りつぶし画素が黒画素か判定する(ステップ6103)。塗りつぶし画素が白画素の場合には、そのままとする。一方、塗りつぶし画素が黒画素の場合には、当該黒画素を白画素とし、その両側の画素の白画素のものを黒画素とする(ステップ6104)。次に、塗りつぶし対象画素が、またあるか判定し(ステップ6105)、あれば、ステップ6102に戻る。以下、塗りつぶし対象画素がなくなるまで、ステップ6102〜6105を繰り返す。
図23は塗りつぶし処理のイメージを示したもので、図23(a)が塗りつぶし前の状態、図23(b)が塗りつぶし後の状態を示す。図23(a)において、破線がブロック境界である。この境界上の画素を塗りつぶし画素として、該画素が黒画素の場合、それを白画素とすると共に、その両側の画素の、白画素のものを黒画素とする。その結果、塗りつぶし後は、図23(b)のようになる。
図24にブロック分割処理後の画像のイメージを示す。図24の場合、画像は24×24画素の大きさの9ブロックに分割され、各ブロックの境界は1画素幅の白で区分されている。なお、図24では、線分は省略してある。
≪線分の検出≫
線分の検出処理では、各ブロックでの線分の検出を行う。線ブロックごとに、黒画素が検出されたらその境界を追跡し、線分の境界とその位置を検出する。線分の境界が検出できたら、その外接矩形の大きさを算出し、所定の大きさ以下(例えば矩形の辺の大きさが2以下)の線分を削除する。次に線分の境界の内部の黒画素の位置をすべて検出する。それと同時に線分の重心位置を算出する。このとき、一つのブロックに複数の線分が検出されることもありうる。
図25に線分検出処理の使用際フローチャートを示す。まず、一つのブロックを選択する(ステップ6201)。そして、線分探索すべき画素を設定する(ステップ6202)。次に、この探索画素が未処理の黒画素か判定し(ステップ6203)、未処理の黒画素でない場合にはステップ6202に戻る。一方、ステップ6203で、未処理の黒画素が検出されたなら、該黒画素を始点に黒境界追跡(黒輪郭追跡)を行って、線分の境界と、その位置を検出し(ステップ6204)、線分の外接矩形の大きさを算出する(ステップ6205)。そして、算出した外接矩形の大きさが所定の大きさより大きいか判定し(ステップ6206)、所定の大きさ以下の場合、当該検出された線分を削除して(ステップ6207)、ステップ6202に戻る。外接矩形の大きさが所定の大きさより大きい場合、該線分の境界内部の黒画素の位置をすべて検出するとともに、該線分の重心位置を算出する(ステップ6208)。その後、当該ブロック内の全画素を処理したか判定し(ステップ6209)、未処理の画素があればステップ6202に戻る。
一つのブロックについて、ステップ6202〜6209の処理を繰り返し、全画素を処理すると、全ブロック処理したか判定し(ステップ6210)、未処理のブロックがあれば、ステップ6201に戻る。以下、各ブロックについて同様の処理を繰り返す。このとき、一つのブロックで複数の線分が検出されることも当然ありうる。
≪線分の連結≫
線分の連結処理では、ブロックごとに検出された線分同士を連結する。このとき、点の認識処理において点として検出された領域も線分の一つとして連結対象とする。線分同士の連結は、二つの線分の外接矩形がある所定の距離以上離れている場合は行わない。また、連結の対象となる一方の線分が他の線分と連結している場合は、連結されている二つの線分同士の重心を結ぶ線の方向と連結しようとしている二つの重心を結ぶ線の方向とが所定の角度以上をなすときには連結を行わない。二つの線分の外接矩形が所定の距離以下の場合や重なっている場合には、それらの外接矩形に外接する最小の矩形領域を設定する。その設定された矩形領域を上下左右に所定の画素(例えば1画素)だけ拡大し、その拡大矩形領域内にそれぞれの線分に属する黒画素が発見された場合にその二つの線分を連結する。
図26は画像(二値画像データ)を9ブロックに分割したもので、ブロック内に線分A,B,C,Dが存在する。各線分で網点がその重心を示している。各隣接ブロック間において、それぞれの線分に外接する最小矩形を設定し、それを1画素ずつ上下左右方向に拡大すると、その外接矩形にお互いの線分の一部が含まれるので連結対象となる。ここで、線分A,Bの重心を結ぶ方向と線分B,Cの重心を結ぶ方向とのなす角度が小さいのでA,B,Cは連結される。ところが、線分CとDではB,Cの重心を結ぶ方向とC,Dの重心を結ぶ方向とのなす角度が大きく線分Cと線分Dは連結されない。
図27に線分連結処理の詳細フローチャートを示す。まず、一つの線分(連結線分)を設定する(ステップ6301)。次に、これに連結すべくもう一つの線分(被連結線分)を設定する(ステップ6302)。そして、連結線分に対し、被連結線分の距離が所定の距離により小さいか判定する(ステップ6303)。小さいと判定された場合、次に、該二つの線分の外接矩形に外接する最小の矩形を設定する(ステップ6304)。そして、この外接矩形を上下左右に所定の画素(例えば1画素)だけ拡大し(ステップ6305)、この拡大外接矩形内に両線分の黒画素が存在するか判定する(ステップ6306)。存在する場合、次に、連結線分に対する被連結線分の重心への角度が所定の値より小さいか判定し(ステップ6307)、小さい場合、当該連結線分に被連結線分を連結する(ステップ6308)。そして、ステップ6309に進み、当該連結成分に対して、未処理の線分(被連結線分)があるか判定し、あれば、ステップ6302に戻り、ステップ6302〜6309の処理を繰り返す。
一方、ステップ6303,6306,6307のいずれかで、その条件を満たさない場合には、そのままステップ6309にスキップする。すなわち、ステップ6302で設定した被連結線分を連結対象から外す。そして、未処理の線分があれば、ステップ6302に戻り、その一つの線分を連結線分に対する新たな被連結線分に設定して、ステップ6303以降の処理を繰り返す。
ステップ6301で設定した連結部分に対して、連結対象となる線分(被連結線分)がなくなった場合、ステップ6310に進む。ここで、未処理の連結線分があれば、ステップ6301に戻り、ステップ6301〜6309の処理を繰り返す。
以上のようにして線分を連結する。このとき、点認識処理において点として検出された領域も線分の一つとして連結対象とする。これにより、点と線を繋ぐことができるので、点の順序を特定することができる。つまり、ゴルファーの打球の軌跡を再現することができる。
<マーク認識>
マーク認識部160では、レイアウト位置補正済みの二値画像データから手書きされた丸印(チェックマーク)の抽出を行う。マーク認識処理の基本は、点認識や線認識と同様に、レイアウトファイルからマークを抽出すべき領域情報を取得し、その領域に対応する部分をレイアウト位置補正済み二値画像データから切り出す。そして、ここではOMR(オプティカルマークリーダ)処理を行ってチェックマークの有無の認識を行う。基本的には、切り出した領域内で黒画素が領域内の全画素に対する比率が所定の値より大きい場合にマークがあると判定する。通常、マークは矩形の枠を伴っているので切り出した領域の外周部分に縦横の直線があると判定した場合はその黒画素数を領域内の全黒画素数から差し引いてチェックによる黒画素を検出する。
<レイアウトファイルによる点の意味づけ>
点の認識やOMRで手書きされた点やマークが認識された。認識されると同時にそれらの点は位置が検出される。例えば、点の重心座標とすることができる。これは、レイアウトファイルで定義された領域のどこにあるかを調べることでその点がゴルフコースのどの位置に存在するか。例えばフェアウェイ、ラフ、バンカー、グリーン等がわかる。また、マークの意味にしてもレイアウトファイルで定義されているので、そのマークの部分がスコアの数字を意味しているのか、パット数の数字を意味しているのかを認識することができる。
以上、本発明の実施形態としてゴルフプレイ情報処理システムを対象したが、勿論、本発明はこのようなシステムに限られるものではなく、一般にシート上に手書きされた点と線を認識する必要がある場合に広く適用することができる。
本発明を適用したブルフプレイ情報処理システムの構成例を示す図。 手書きフォーム処理の全体フローチャート。 有彩色除去処理の全体フローチャート。 有彩色除去処理の詳細フローチャート。 ID検出処理の全体フローチャート。 図5中の領域抽出処理の詳細フローチャート。 領域抽出処理を説明する図。 画像補正処理の全体フローチャート。 図8中の画像正立処理の詳細フローチャート。 図8中のレイアウト位置補正処理の詳細フローチャート。 画像中のマーカー検出法の一例を示す図。 アフィン変換を説明する図。 点認識処理の全体フローチャート。 点検出用の点パターン(テンプレートパターン)の一例を示す図。 図13中の第一点検出処理の詳細フローチャート。 第一点検出処理の具体的処理イメージを示す図。 図13中の近傍小点削除処理を説明する図。 近傍小点削除処理の詳細フローチャート。 図13中の線上点削除処理を説明する図。 線上点削除処理の詳細フローチャート。 線認識処理の全体フローチャート。 図21中のブロック分割処理の詳細フローチャート。 ブロック境界の塗りつぶしイメージを示す図。 ブロック分割後の画像イメージを示す図。 図21中の線分検出処理の詳細フローチャート。 図21中の線分連結処理を説明する図。 線分連結処理の詳細フローチャート。 未記入の手書きグラフィクスコアカードの一例を示す図。 点と線、マークが記入された手書きグラフィクスコアカードの一例を示す図。 ゴルフコースのレイアウトファイルの領域マップの一例を示す図。
符号の説明
100 制御部
110 有彩色除去部
120 ID検出部
130 画像補正部
140 点認識部
150 線認識部
160 マーク認識部
170 認識情報意味付け部
180 画像入力装置
190 操作部
200 内部記憶装置
210 外部記憶装置
220 表示装置
230 印刷装置
240 モデム

Claims (22)

  1. シート上に手書きされた点と該点を結ぶ線とを認識する手書き点と線の認識処理方法であって、
    点と線の手書きが加えられたシートを読み取り、その画像データを入力する画像入力ステップと、前記入力された画像データから点を認識する点認識ステップと、前記認識された点以外の画像データから線を認識する線認識ステップとを有し、
    前記点認識ステップは、
    手書きの白抜き部分を黒で塗りつぶす塗りつぶしステップと、
    第一の大きさの点パターンを用いて点を検出する第一点検出ステップと、
    前記第一の大きさより小さい第二の大きさの点パターンを用いて点を検出する第二点検出ステップと、
    を有することを特徴とする手書き点と線の認識処理方法。
  2. 前記点認識ステップは、前記第一および第二点検出ステップで検出された点のうち、隣接あるいは近傍に存在する二点の大きさの比の値が所定の範囲にあるとき、当該二点を線の一部と見做して削除する線上点削除ステップを更に有することを特徴とする請求項1に記載の手書き点と線の認識処理方法。
  3. 前記点認識ステップは、前記第一および第二点検出ステップで検出された点のうち、近傍に存在あるいは隣接する二点の大きさの比の値が所定の値より大きい場合に、小さい方の点を削除する近傍小点削除ステップを更に有することを特徴とする請求項1または2に記載の手書き点と線の認識処理方法。
  4. 前記点認識ステップは、
    前記第一および第二点検出ステップで検出された点のうち、近傍に存在あるいは隣接する二点の大きさの比の値が所定の値より大きい場合に、小さい方の点を削除する近傍小点削除ステップと、
    前記第一および第二点検出ステップで検出された点のうち、隣接あるいは近傍に存在する二点の大きさの比の値が所定の範囲にあるとき、当該二点を線の一部と見做して削除する線上点削除ステップと、
    前記近傍小点削除ステップ及び前記線上点削除ステップで削除されなかった点のうち、前記第一の大きさの点パターン用いて検出された点より小さい大きさを有する点を削除する小点削除ステップと、
    を更に有することを特徴とする請求項1に記載の手書き点と線の認識処理方法。
  5. 前記第一および第二点検出ステップは、
    点パターンに多角形のテンプレートパターンを用い、該多角形のテンプレートパターンの大きさを初期設定するステップと、
    多角形の中に黒画素が一定以上含まれているか判定し、含まれていると、多角形の大きさを拡大し、該拡大した多角形を所定の領域内で移動する処理を、多角形の中に黒画素が一定以上含まれなくなるまで繰り返すステップと、
    前記多角形の中に黒画素が一定以上含まれなくなった場合に、その直前の大きさの多角形の位置と大きさを点と決定するステップと、
    を有することを特徴とする請求項1乃至4のいずれか1項に記載の手書き点と線の認識処理方法。
  6. 前記線認識ステップは、
    検出された手書きの点を除いた画像データを複数ブロックに分割するブロック分割ステップと、
    前記分割された各ブロック中の線分を検出する線分検出ステップと、
    前記検出された線分及び前記点認識ステップで検出された点を連結する線分連結ステップと、
    を有することを特徴とする請求項1乃至5のいずれか1項に記載の手書き点と線の認識処理方法。
  7. 前記ブロック分割ステップは、
    ブロックの境界が黒画素か否かを判定する黒画素判定ステップと、
    前記黒画素判定ステップにおいて黒画素であると判定された場合に、境界の両側を黒画素、境界を白画素で塗りつぶす黒白黒塗りつぶしステップと、
    からなることを特徴とする請求項6に記載の手書き点と線の認識処理方法。
  8. 前記線分検出ステップは、
    線分検出の処理対象とするブロックを選択するブロック選択ステップと、
    黒画素を探索開始画素と設定するための探索画素設定ステップと、
    黒画素の境界を追跡して線分を検出する黒境界探索ステップと、
    前記追跡された線分の外接矩形の大きさを算出し、所定の大きさを満たさない線分を削除する線分削除ステップと、
    線分内の黒画素の位置と、線分の重心を算出する線分重心取得ステップと、
    を有することを特徴する請求項6に記載の手書き点と線の認識処理方法。
  9. 前記線分連結ステップは、
    連結すべき二線分間の距離が小さいか否かを判定する線分距離判定ステップと、
    前記距離が小さい場合に、両線分間の重心を結ぶ方向と既に連結された複数の線分同士の重心を結ぶ方向の成す角度が小さいか否かを判定する方向性判定ステップと、
    前記角度が小さい場合に、両線分間の最小外接矩形を設定する外接矩形設定ステップと、
    前記設定した外接矩形の大きさを拡大する外接矩形拡大ステップと、
    拡大した外接矩形内に、両線分の黒画素が存在するか否かを判定する黒画素存在判定ステップと、
    前記黒画素存在判定ステップにおいて、両線分の黒画素が存在すると判定された場合、両線分を連結する連結ステップと、
    を有することを特徴とする請求項6に記載の手書き点と線の認識処理方法。
  10. 前記画像入力ステップは、色地上に点と線の手書きが加えられたカラーシートを読み取り、そのカラー画像データを入力し、
    前記カラー画像データから有彩色を取り除き、二値画像データを得る有彩色除去ステップを更に有し、
    前記点認識ステップは、前記有彩色の除去された二値画像データから点を認識し、
    前記線認識ステップは、認識された点以外の二値画像データから線を認識する、
    ことを特徴とする請求項1乃至9のいずれか1項に記載の手書き点と線の認識処理方法。
  11. 前記有彩色除去ステップは、
    処理対象画素を含む小領域の平均画素値を算出する平均色算出ステップと、
    前記平均画素値と第一の閾値(ThB)とを比較して全色の画素値が前記閾値より小さい場合に、当該領域をグレー領域と判定するグレー領域判定ステップと、
    前記グレー領域判定ステップにおいてグレー領域と判定された処理対象画素の各画素値と第二の閾値(ThC)とを比較して全色の画素値が前記第二の閾値より小さい場合に処理対象画素を黒画素と抽出し、そうでない場合には処理対象画素を有彩色として除去する第一黒画素判定ステップと、
    前記グレー領域判定ステップにおいてグレー領域ではないと判定された場合に、処理対象画素の画素値を前記平均画素値を用いて補正する画素値補正ステップと、
    前記画素値補正ステップにおいて補正された画素値と第三の閾値(ThD)とを比較して補正された画素値すべてが前記第三の閾値より小さい場合に処理対象画素を黒画素と抽出し、そうでない場合には処理対象画素を有彩色として除去する第二黒画素判定ステップと、
    を有することを特徴とする請求項10に記載の手書き点と線の認識処理方法。
  12. シート上に手書きされた点と該点を結ぶ線とを認識する手書き点と線の認識処理装置であって、
    点と線の手書きが加えられたシートを読み取り、その画像データを入力する画像入力手段と、前記入力された画像データから点を認識する点認識手段と、前記認識された点以外の画像データから線を認識する線認識手段とを有し、
    前記点認識手段は、
    手書きの白抜き部分を黒で塗りつぶす塗りつぶし手段と、
    第一の大きさの点パターンを用いて点を検出する第一点検出手段と、
    前記第一の大きさより小さい第二の大きさの点パターンを用いて点を検出する第二点検出手段と、
    を有することを特徴とする手書き点と線の認識処理装置。
  13. 前記点認識手段は、前記第一および第二点検出手段で検出された点のうち、隣接あるいは近傍に存在する二点の大きさの比の値が所定の範囲にあるとき、当該二点を線の一部と見做して削除する線上点削除手段を更に有することを特徴とする請求項12に記載の手書き点と線の認識処理装置。
  14. 前記点認識手段は、前記第一および第二点検出手段で検出された点のうち、近傍に存在あるいは隣接する二点の大きさの比の値が所定の値より大きい場合に、小さい方の点を削除する近傍小点削除手段を更に有することを特徴とする請求項12または13に記載の手書き点と線の認識処理装置。
  15. 前記点認識手段は、
    前記第一および第二点検出手段で検出された点のうち、近傍に存在あるいは隣接する二点の大きさの比の値が所定の値より大きい場合に、小さい方の点を削除する近傍小点削除手段と、
    前記第一および第二点検出手段で検出された点のうち、隣接あるいは近傍に存在する二点の大きさの比の値が所定の範囲にあるとき、当該二点を線の一部と見做して削除する線上点削除手段と、
    前記近傍小点削除手段及び前記線上点削除手段で削除されなかった点のうち、前記第一の大きさの点パターン用いて検出された点より小さい大きさを有する点を削除する小点削除手段と、
    を更に有することを特徴とする請求項12に記載の手書き点と線の認識処理装置。
  16. 前記第一および第二点検出手段は、
    点パターンに多角形のテンプレートパターンを用い、該多角形のテンプレートパターンの大きさを初期設定する手段と、
    多角形の中に黒画素が一定以上含まれているか判定し、含まれていると、多角形の大きさを拡大し、該拡大した多角形を所定の領域内で移動する処理を、多角形の中に黒画素が一定以上含まれなくなるまで繰り返す手段と、
    前記多角形の中に黒画素が一定以上含まれなくなった場合に、その直前の大きさの多角形の位置と大きさを点と決定する手段と、
    を有することを特徴とする請求項12乃至15のいずれか1項に記載の手書き点と線の認識処理装置。
  17. 前記線認識手段は、
    検出された手書きの点を除いた画像データを複数ブロックに分割するブロック分割手段と、
    前記分割された各ブロック中の線分を検出する線分検出手段と、
    前記検出された線分及び前記点認識手段で検出された点を連結する線分連結手段と、
    を有することを特徴とする請求項12乃至16のいずれか1項に記載の手書き点と線の認識処理装置。
  18. 前記ブロック分割手段は、
    ブロックの境界が黒画素か否かを判定する黒画素判定手段と、
    前記黒画素判定手段において黒画素であると判定された場合に、境界の両側を黒画素、境界を白画素で塗りつぶす黒白黒塗りつぶし手段と、
    からなることを特徴とする請求項17に記載の手書き点と線の認識処理装置。
  19. 前記線分検出手段は、
    線分検出の処理対象とするブロックを選択するブロック選択手段と、
    黒画素を探索開始画素と設定するための探索画素設定手段と、
    黒画素の境界を追跡して線分を検出する黒境界探索手段と、
    前記追跡された線分の外接矩形の大きさを算出し、所定の大きさを満たさない線分を削除する線分削除手段と、
    線分内の黒画素の位置と、線分の重心を算出する線分重心取得手段と、
    を有することを特徴する請求項17に記載の手書き点と線の認識処理装置。
  20. 前記線分連結手段は、
    連結すべき二線分間の距離が小さいか否かを判定する線分距離判定手段と、
    前記距離が小さい場合に、両線分間の重心を結ぶ方向と既に連結された複数の線分同士の重心を結ぶ方向の成す角度が小さいか否かを判定する方向性判定手段と、
    前記角度が小さい場合に、両線分間の最小外接矩形を設定する外接矩形設定手段と、
    前記設定した外接矩形の大きさを拡大する外接矩形拡大手段と、
    拡大した外接矩形内に、両線分の黒画素が存在するか否かを判定する黒画素存在判定手段と、
    前記黒画素存在判定手段において、両線分の黒画素が存在すると判定された場合、両線分を連結する連結手段と、
    を有することを特徴とする請求項17に記載の手書き点と線の認識処理装置。
  21. 前記画像入力手段は、色地上に点と線の手書きが加えられたカラーミントを読み取り、そのカラー画像データを入力し、
    前記カラー画像データから有彩色を取り除き、二値画像データを得る有彩色除去手段を更に有し、
    前記点認識手段は、前記有彩色の除去された二値画像データから点を認識し、
    前記線認識手段は、認識された点以外の二値画像データから線を認識する、
    ことを特徴とする請求項12乃至20のいずれか1項に記載の手書き点と線の認識処理装置。
  22. 前記有彩色除去手段は、
    処理対象画素を含む小領域の平均画素値を算出する平均色算出手段と、
    前記平均画素値と第一の閾値(ThB)とを比較して全色の画素値が前記閾値より小さい場合に,当該領域をグレー領域と判定するグレー領域判定手段と、
    前記グレー領域判定手段においてグレー領域と判定された処理対象画素の各画素値と第二の閾値(ThC)とを比較して全色の画素値が前記第二の閾値より小さい場合に処理対象画素を黒画素と抽出し,そうでない場合には処理対象画素を有彩色として除去する第一黒画素判定手段と、
    前記グレー領域判定手段においてグレー領域ではないと判定された場合に,処理対象画素の画素値を前記平均画素値を用いて補正する画素値補正手段と、
    前記画素値補正手段において補正された画素値と第三の閾値(ThD)とを比較して補正された画素値すべてが前記第三の閾値より小さい場合に処理対象画素を黒画素と抽出し,そうでない場合には処理対象画素を有彩色として除去する第二黒画素判定手段と、
    を有することを特徴とする請求項21に記載の手書き点と線の認識処理装置。
JP2008271198A 2008-10-21 2008-10-21 手書き点と線の認識処理方法及び装置 Expired - Fee Related JP5240452B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008271198A JP5240452B2 (ja) 2008-10-21 2008-10-21 手書き点と線の認識処理方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008271198A JP5240452B2 (ja) 2008-10-21 2008-10-21 手書き点と線の認識処理方法及び装置

Publications (2)

Publication Number Publication Date
JP2010099136A true JP2010099136A (ja) 2010-05-06
JP5240452B2 JP5240452B2 (ja) 2013-07-17

Family

ID=42290314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008271198A Expired - Fee Related JP5240452B2 (ja) 2008-10-21 2008-10-21 手書き点と線の認識処理方法及び装置

Country Status (1)

Country Link
JP (1) JP5240452B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226390A (ja) * 1986-03-28 1987-10-05 Meidensha Electric Mfg Co Ltd 黒丸判定方式
JP2008102625A (ja) * 2006-10-17 2008-05-01 Ricoh Co Ltd ゴルフプレイ情報処理システム及びゴルフプレイ情報活用システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226390A (ja) * 1986-03-28 1987-10-05 Meidensha Electric Mfg Co Ltd 黒丸判定方式
JP2008102625A (ja) * 2006-10-17 2008-05-01 Ricoh Co Ltd ゴルフプレイ情報処理システム及びゴルフプレイ情報活用システム

Also Published As

Publication number Publication date
JP5240452B2 (ja) 2013-07-17

Similar Documents

Publication Publication Date Title
US6778703B1 (en) Form recognition using reference areas
CN110180186B (zh) 一种地形图转换方法及系统
TWI413937B (zh) 影像辨識方法與裝置
JP4724802B1 (ja) 二次元コードリーダおよびプログラム
JP4724801B1 (ja) 二次元コードリーダおよびプログラム
CN102360419B (zh) 计算机扫描阅读管理方法及系统
JPH06309498A (ja) 画像抽出方式
JP2002133426A (ja) 多値画像から罫線を抽出する罫線抽出装置
JP2009003936A (ja) デジタル画像におけるテキスト方向判定方法およびシステム、ならびに、制御プログラムおよび記録媒体
CN107679479A (zh) 一种基于图像形态学处理的客观填涂识别方法
JP4149464B2 (ja) 画像処理装置
JP4793868B2 (ja) 筆記媒体、加筆情報検出装置、加筆情報検出方法、プログラム及び記録媒体
JP5240452B2 (ja) 手書き点と線の認識処理方法及び装置
KR100606404B1 (ko) 컬러코드 이미지 검출 방법 및 장치
US6351560B1 (en) Apparatus, method, and program for locating an objective on a form and a recording medium for recording the program for locating the objective on the form
JP4492258B2 (ja) 文字・図形の認識方法および検査方法
Mostafa An adaptive algorithm for the automatic segmentation of printed Arabic text
JP3442847B2 (ja) 文字読取装置
JP4810853B2 (ja) 文字画像切出装置、文字画像切出方法およびプログラム
KR100954137B1 (ko) 슬라브 정보 인식을 위한 관리번호 추출 방법
CN106648171A (zh) 一种基于书写笔的交互系统及方法
JP2669661B2 (ja) 文書画像処理方法
CN107886808B (zh) 一种盲文方辅助标注方法及系统
JP2004094427A (ja) 帳票画像処理装置及び該装置を実現するためのプログラム
Hu et al. Construction of partitioning paths for touching handwritten characters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110811

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: 20130306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130319

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5240452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees