JP3675217B2 - Image processing apparatus, image processing method, and recording medium recording image processing program - Google Patents

Image processing apparatus, image processing method, and recording medium recording image processing program Download PDF

Info

Publication number
JP3675217B2
JP3675217B2 JP09206199A JP9206199A JP3675217B2 JP 3675217 B2 JP3675217 B2 JP 3675217B2 JP 09206199 A JP09206199 A JP 09206199A JP 9206199 A JP9206199 A JP 9206199A JP 3675217 B2 JP3675217 B2 JP 3675217B2
Authority
JP
Japan
Prior art keywords
elements
pattern
remaining
detected
image processing
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.)
Expired - Fee Related
Application number
JP09206199A
Other languages
Japanese (ja)
Other versions
JP2000285238A (en
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP09206199A priority Critical patent/JP3675217B2/en
Priority to US09/538,743 priority patent/US6788829B1/en
Publication of JP2000285238A publication Critical patent/JP2000285238A/en
Application granted granted Critical
Publication of JP3675217B2 publication Critical patent/JP3675217B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は画像処理技術であって、特に、互いに所定の位置関係を有する複数のエレメントから構成される特定パターンを認識するための技術に関する。
【0002】
【従来の技術】
従来、画像に含まれる特定パターンの位置検出や、特定パターンの形状認識等のために行われるパターンマッチング処理は、カメラ等に取りこまれた画像の各画素のデータを二値データまたは多値データとして画像メモリに記憶させ、この記憶させたデータと、予めメモリに記憶されている特定パターンを特定するために参照される基準パターンの各画素のデータとを画素毎に照合することにより行われていた。この照合においては、特定パターンを検索する画像に対して、基準パターンを一画素ずつ画像のx方向またはy方向にシフトしながら画像全体を走査していた。この場合、複数のエレメントから構成され、各エレメントが互いに所定の位置関係を有する特定パターンを検索するときにも、これらの特定パターン全体を含む基準パターンを用意し、この基準パターンで画像全体を走査し、パターンマッチングを行っていた。
【0003】
【発明が解決しようとする課題】
しかしながら、この方法では、特定パターンを検索する画像の画素と基準パターンの画素とを一画素ずつシフトしながら照合するため、多大な処理時間を要するという問題があった。また、画像中に含まれる特定パターンの向きが一定でない場合すなわち基準パターンと向きが一致しないときは、特定パターンを所定量ずつ回転させた複数の基準パターンを生成するか、予め複数の基準パターンを用意し、各基準パターン毎に上記照合を行う必要があった。
【0004】
本発明は上記課題を解決すべくなされたものであり、その目的とするところは、複数のエレメントからなり各エレメント間の相対的な位置関係により特定されるパターンを画像から確実にかつ高速に検出する画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体を提供することにある。
【0005】
【課題を解決するための手段】
上記課題を解決するために、本発明に係る画像処理装置は、互いに所定の位置関係を有する複数のエレメントからなるパターンを画像から検索する画像処理装置において以下の構成を有する。すなわち、画像処理装置は、画像から複数のエレメント候補を抽出し、抽出した複数のエレメント候補のうち上記パターンを構成する複数のエレメント間の距離の最大値と等しい距離だけ離れた2つのエレメント候補を、上記パターンを構成する複数のエレメントに含まれる2つのエレメントとして検出する基準要素検出手段と、基準要素検出手段により検出された2つのエレメントの座標に基づいて、上記パターンを構成する複数のエレメントのうちの2つのエレメントを除いた残りのエレメントの位置を求める要素位置算出手段と、該要素位置算出手段により求められた位置で残りのエレメントを検出する残りの要素検出手段と、基準要素検出手段および残りの要素検出手段により検出されたエレメントに基づいてパターンを検索するパターン検索手段とを備える。
【0006】
上記の画像処理装置において、残りのエレメントの位置を求める際に、基準要素検出手段により検出された2つのエレメントの座標を入れ換えて残りのエレメントの位置を求めてもよい。これにより、入れ換える前のエレメント座標に基づいて求められるパターンを180°回転して配置したパターンにおける残りのエレメントの位置を求めることができる。
【0007】
本発明に係る画像処理方法は、互いに所定の位置関係を有する複数のエレメントからなるパターンを画像から検索する画像処理方法において、以下のステップを有する。すなわち、画像処理方法は、画像から複数のエレメント候補を抽出し、抽出した複数のエレメント候補のうち上記パターンを構成する複数のエレメント間の距離の最大値と等しい距離だけ離れた2つのエレメント候補を、上記パターンを構成する複数のエレメントに含まれる2つのエレメントとして検出するステップと、検出された2つのエレメントの座標に基づいて、上記パターンを構成する複数のエレメントのうちの2つのエレメントを除いた残りのエレメントの位置を求めるステップと、求められた位置で残りのエレメントを検出するステップと、基準要素検出手段および残りの要素検出手段により検出されたエレメントに基づいてパターンを検索するステップとを備える。
【0008】
本発明に係る記録媒体は、コンピュータ読み取り可能な記録媒体であって以下の画像処理プログラムを記録する。画像処理プログラムは、互いに所定の位置関係を有する複数のエレメントからなるパターンを画像から検索する画像処理プログラムであって、画像から複数のエレメント候補を抽出し、抽出した複数のエレメントのうち上記パターンを構成する複数のエレメント間の距離の最大値と等しい距離だけ離れた2つのエレメント候補を、上記パターンを構成する複数のエレメントに含まれる2つのエレメントとして検出する手順と、検出された2つのエレメントの座標に基づいて、上記パターンを構成する複数のエレメントのうちの上記2つのエレメントを除いた残りのエレメントの位置を求める手順と、求められた位置で残りのエレメントを検出する手順と、基準要素検出手段および残りの要素検出手段により検出されたエレメントに基づいてパターンを検索する手順とをコンピュータに実行させるためのプログラムである。
【0009】
【発明の実施の形態】
以下、添付の図面を用いて本発明に係る画像処理装置の実施の形態を詳細に説明する。
【0010】
(画像処理装置の構成)
図1に本実施形態の画像処理装置(以下、「システム」という。)の概略構成図を示す。図1に示すように、システムは中央演算処理(以下、「CPU」という。)を備え、システム全体を制御する制御装置1を中心として構成される。CPUには例えばインテル社製のペンティアム等が用いられる。この制御装置1には、画像あるいは文字等の表示や、操作のための表示等を行うディスプレイ2と、各種入力、指示操作等を行うためのキーボード3およびマウス4と、データ保管媒体であるフロッピーディスク装置5aおよびハードディスク装置6と、文字や画像データ等を印刷するプリンタ7と、画像データを取り込むためのスキャナ8と、CD−ROM9aに格納されたデータを読み出すためのCD−ROM装置9bと、音声出力のためのスピーカ10と、音声入力のためのマイクロホン11とが接続される。
【0011】
図2に本システムのブロック図を示す。CPU201には、データバス220を介して、本システムを制御するプログラムが格納されているROM203と、CPU201が制御のために実行するプログラムやデータを一時的に格納するRAM204とが接続される。また、CPU201にデータバス220を介して接続される回路には、画像あるいは文字等の表示のためディスプレイ2を制御する表示制御回路205と、キーボード3からの入力を転送制御するキーボード制御回路206と、マウス4からの入力を転送制御するマウス制御回路207と、フロッピーディスク装置5bを制御するフロッピーディスク装置制御回路208と、ハードディスク装置6を制御するハードディスク装置制御回路209と、プリンタ7への出力を制御するプリンタ制御回路210と、スキャナ8を制御するスキャナ制御回路211と、CD−ROM装置9bを制御するCD−ROM装置制御回路212と、スピーカ10を制御するスピーカ制御回路213と、マイクロホン11を制御するマイクロホン制御回路214とがある。さらに、CPU201には、システムを動作させるために必要な基準クロックを発生させるためのクロック202が接続され、また、各種拡張ボードを接続するための拡張スロット215がデータバス220を介して接続される。なお、拡張スロット215にSCSIIボードを接続し、このSCSIIボードを介してフロッピーディスク装置5b、ハードディスク装置6、スキャナ8またはCD−ROM装置9b等を接続してもよい。
【0012】
なお、上記システムにおいて、データ保管媒体としてはフロッピーディスク5a、ハードディスク装置6を用いているが、光磁気ディスク(MO)等の他の情報記録媒体でもよい。また、画像データ入力装置としてスキャナ8を用いているが、スチルビデオカメラやデジタルカメラ等の他のデータ入力装置であってもよい。さらに、出力装置としてプリンタ7を用いているが、デジタル複写機等の他の出力装置であってもよい。また、本システムでは、データの管理システムを実現するプログラムをROM203に格納する。しかし、本プログラムの一部または全部をフロッピーディスク5aやハードディスク装置6やCD−ROM9b等の情報記録媒体に格納しておき、必要に応じて情報記録媒体よりプログラムおよびデータをRAM204に読み出し、これを実行させてもよい。
【0013】
(メインルーチン)
図3は本システムにおいてCPU201が実行するプログラムのメインルーチンを示すフローチャートである。なお、本システム(CPU201)はユーザの操作に従い各処理を順次実行していく。
【0014】
本プログラムが起動されると、まず、以降の各処理で必要なフラグ等のイニシャライズや、初期メニュー画面の表示等を行う初期設定処理が行われる(S1)。初期メニュー画面上では「画像認識」、「その他」等の処理を選択するための所定のアイコンが表示されており、ユーザがこのアイコンを選択すると、そのアイコンに応じた処理が実行される。次に、初期メニュー画面上でユーザによりいずれかの処理が選択されたか否かが判定される(S2)。ステップS2において「画像認識」が選択されれば、入力した画像中における配置パターンの有無を確認する処理を行う画像認識処理(S3)へ進み、その後、ステップS2へ戻る。ステップS2において「その他」が選択されれば、画像認識以外の所定の処理であるその他処理(S4)を行い、その後、ステップS2へ戻る。ステップS2において「終了」が選択されれば、システムの動作を終了するための所定の後処理(S5)を行い、本制御を終了する。ステップS2において何も選択されない場合は、ユーザによりいずれかの処理が選択されるのを待つ。
【0015】
その他処理(ステップS4)及び後処理(ステップS5)については、一般的な情報処理システムにおいて使用される処理と基本的に同様であるので、ここでの説明は省略する。画像認識処理(ステップS3)の詳細は後述する。
【0016】
(特定パターンの検索領域)
ところで、本実施形態の画像処理装置は、画像から特定パターンを検索する際に、画像の所定の検索領域毎に特定パターンの検索を行う。つまり、画像の一部の領域を検索領域とし、この検索領域を画像中において所定の走査方向にシフトし、そのシフトした位置の検索領域において特定パターンの検索を行う。以下にこの検索領域のサイズ及びシフト量について説明する。
【0017】
検索領域のサイズは次のように決定する。すなわち、図4の(a)に示すように、検索領域Rのサイズは検索しようとする特定パターンのサイズよりもx方向(すなわち、副走査方向(図中、右方向))及びy方向(すなわち、主走査方向(図中、下方向))において、それぞれの所定量(以下「サイズ増加量」という。)だけ大きく設定する。これらの増加量は2画素以上に設定する。なお、ここでは説明の便宜上、x方向、y方向のサイズ増加量は同じ量(n画素(n≧2))に設定している。
【0018】
また、検索領域Rのx方向のシフト量はx方向のサイズ増加量と等しくする。図4の(b)に示すように画像処理装置は1つの検索領域Rを検索し終わると、それをx方向にn画素だけシフトした新たな検索領域R'を検索する。このようにサイズ増加量だけ検索領域をシフトさせるようにすることにより、図4の(b)に示すように検索領域Rとその次の検索領域R'とを合わせた領域内に見つけたい配置パターン(破線円A、B、C)が存在すれば、いずれかの検索領域において必ず検出できる。同様に、y方向についても、そのシフト量をy方向のサイズ増加量と等しくする。なお、検索領域Rは図4の(c)に示すようにx方向にシフトした結果、画像20の右端に達したとき(検索領域R')は、画像20の左端に戻りかつy方向に所定量だけシフトする(検索領域R")。
【0019】
以上のように、画像処理装置は配置パターンを検出する際に、配置パターンのサイズより所定量(n画素(n≧2))だけ大きなサイズの検索領域を設定し、画像中においてこの検索領域を所定量ずつシフトさせながら特定パターンの検出を行う。このように画像全体ではなく、画像の一部の限られた領域を検索領域とし、この領域毎に特定パターンを検索することにより、画像全体を通して検索する場合に比べて検索に要するメモリ上の作業領域を削減でき、また、処理時間を短縮できる。さらに、検索領域を所定量ずつシフトさせながら、特定パターンを検索するので、従来の1画素ずつシフトさせる場合に比べて走査時間が低減され、特定パターンの検索時間を低減できる。なお、上記所定量nは実験により最適な値を求めるのが好ましい。実験では、n=1の場合に対してn=2のときで約3倍、n=3のときで約7倍の高速処理が確認された。
【0020】
(エレメント及び特定(配置)パターンの検出方法)
本画像処理装置が検出する特定パターンについて説明する。図5に検索対象とする特定パターンの一例を示す。この図に示すように特定パターンMは複数のエレメント(要素となる画像)P1〜P5からなり、これらのエレメントP1〜P5が一定の相対的な位置関係で配置されている。エレメントP1〜P5は少なくとも1つの画素からなる所定の画像であって特定パターンの構成要素である。システムはこれらのエレメントP1〜P5と、エレメントP1〜P5の相対的位置関係を判断することにより特定パターンMを認識する。以下、このようなエレメントの一定の配置により特定されるパターンを「配置パターン」という。
【0021】
配置パターンを構成する各エレメントの認識は図6の(a)に示すエレメント認識フィルタを用いて行う。具体的には次のように行う。すなわち、エレメント認識フィルタ20fを画像20の一部の領域と重ね合わせ、エレメント認識フィルタ20fの中央部分(ドットによるハッチング部分)とその周辺部分(斜線によるハッチング部分)のそれぞれの領域で画像の画素の特徴量を抽出する。その特徴量が所定範囲内にある画素をラベリングし、そのラベリングされた画素の数がフィルタ20fの中央部分及びその周辺部分のそれぞれにおいて、それぞれの所定範囲内にあるときに、そのフィルタ20fの中央部分の位置にエレメントが存在するとする。例えば、フィルタ20fの中央部分におけるラベリングされた画素数が45以上で、その周辺部分におけるラベリングされた画素数が1つ以下のときにエレメントが存在するとする。エレメントはエレメント認識フィルタ20fの中央部分の位置に検出されたとする。なお、ここでは、エレメントは円形のパターンとしている。
【0022】
前述のように画像処理装置は検索領域R毎に配置パターンの検索を行う。したがって、画像処理装置は図6の(b)に示すように検索領域R内をエレメント認識フィルタ20fで走査し、エレメントを検出して配置パターンの有無を確認する。
【0023】
次に、検出されたエレメントから配置パターンを認識する方法について説明する。画像処理装置は、検索領域R内をエレメント認識フィルタ20fで走査し、エレメントを検出すると、検出されたエレメントの相対的な位置関係を確認し、それらが特定の位置関係で配置されているか否かを判断することにより配置パターンを認識する。具体的には、まず、検索領域R中で検出された複数のエレメントの中からエレメント間の距離が最大となるエレメントを2つ特定する。次に、これら2つのエレメントの位置関係を求める。2つのエレメントの位置関係が求まれば他のエレメントの位置は必然的に決定される。したがって、2つのエレメントの位置関係からその他のエレメントが存在すべき位置を求め、その求めた位置にエレメントが存在するか否かを確認する。全てのエレメントがその求めた位置に確認できればその検索領域R中に配置パターンが存在すると認識する。
【0024】
以上のように、エレメント間の距離が最大となる2つのエレメントを最初に求めているが、エレメント間の距離が所定値となる2つのエレメントを最初に求めてもよい。なお、エレメント間距離が最大となる2つのエレメントを最初に求めのは、他のエレメント位置を求める際の誤差を小さくするためである。例えば、図7の(a)、(b)に示すように、最初に、エレメント間距離が最大となるエレメントP1、P2を求めた場合では、最初のエレメント検出時に誤差(エレメントP2とエレメントP'2間の差)があったときに、他のエレメントを求めたときの誤差(エレメントP3とエレメントP'3間の差)は元の誤差よりも小さくなる。これに対し、図7の(c)、(d)に示すように、最初にエレメント間距離が最大となるエレメントP1、P2を求めない場合では、最初のエレメント検出時に誤差(エレメントP2とエレメントP'2間の差)があったときに、他のエレメントを求めたときの誤差(エレメントP3とエレメントP'3間の差)は元の誤差よりも大きくなる。このように、最初に最大距離のエレメントを求めることにより残りのエレメントを求める際の誤差を小さくできる。
【0025】
(画像認識処理)
以下、画像認識処理(ステップS3)を図8から図13のフローチャートを用いて説明する。
【0026】
図8に示すように、最初に、配置パターンの検索対象である画像20の画像データを入力する(S301)。すなわち、ユーザにより指定された画像20の画像データをRAM204にロードする。次に、検索領域Rのサイズを設定する(S302)。検索領域Rのサイズは前述したように、x方向とy方向のそれぞれにおいて配置パターンのサイズにサイズ増加量を加えた大きさに設定する。
【0027】
次に、検索領域Rのy方向の位置を画像の上端に設定するため、座標Yを0に設定する(S303)。検索領域Rのx方向の位置を画像20の左端に設定するため、座標Xを0に設定する(S304)。座標値X、Yは検索領域Rの左上端とし、この位置を基準として決定されたサイズで矩形の検索領域Rが設定される。次に、この検索領域R内でエレメント認識フィルタ20fを用いてエレメントを検出し、配置パターンを検出する処理を行う(S305)。この処理の詳細は後述する。その後、検索領域Rをx方向に所定量だけシフトさせるため座標値Xにx方向のシフト量nを加える(S306)。検索領域Rが画像20の右端からはみ出すか否かを判断し(S307)、はみ出さなければステップS305に戻り、x方向にn画素だけシフトした新たな検索領域で配置パターンの検出処理を行う。検索領域Rが画像20の右端からはみ出すときは、検索領域Rをy方向に所定量だけシフトさせるため座標値Yにy方向のシフト量nを加える(S308)。その後、検索領域Rが画像20の下端からはみ出すか否かを判断し(S309)、はみ出さなければステップS304に戻り、画像20の左端でかつy方向にnラインだけシフトした新たな検索領域で配置パターンの検出処理を行う。以上のようにして、画像20上を検索領域Rをシフトさせていき、画像20の全域についての配置パターン検出が終了するまで上記処理(S304〜S309)を繰り返す。
【0028】
図9は検索領域でのパターン検出処理(ステップS305)のフローチャートである。本処理では、まず、第1エレメント検出処理を行う(S311)。第1エレメント検出処理では、検索領域R内に含まれる全てのエレメントを第1エレメント候補として検出する。このとき検出された第1エレメント候補の数をkとする。次に、その第1エレメント検出処理で検出されたエレメントが3つ以上あったか否かを判断し(S312)、3つ未満であればリターンする。検出されたエレメントが3つ以上であれば第2エレメント検出処理を行う(S313)。第2エレメント検出処理では、第1エレメント候補のエレメントから所定距離(エレメント間距離の最大値)にあるエレメントを第2エレメント候補とする。このとき検出された第2エレメント候補の数をmとする。第2エレメント候補が検出されたか否かを判断する(S314)。第2エレメント候補が検出されたとき(m>0)は、残りのエレメント検出処理を行い(S315)、第2エレメント候補が検出されなかったとき(m=0)はリターンする。第1エレメント候補と第2エレメント候補は、配置パターンを検出するために最初に検出される2つのエレメントの候補である。残りのエレメント検出処理では、第1エレメント候補と第2エレメント候補の中から選定されたエレメントとともに配置パターンを構成する残りのエレメント候補の位置を求め、これに基づいて配置パターンを検出する等の処理を行う。以下に、上記第1エレメント検出処理(S311)、第2エレメント検出処理(S313)及び残りのエレメント検出処理(S315)について順に説明する。
【0029】
図10は第1エレメント検出処理(ステップS311)のフローチャートである。本処理では検索領域Rの中に含まれるエレメントを全て検出し、これらを第1エレメント候補とする。
【0030】
このため、まず、第1エレメント候補数を示す変数kを0に初期化する(S401)。エレメント認識フィルタ20fが検索領域R内の上端に位置するようにエレメント認識フィルタ20fのy座標を決定する(S402)。また、エレメント認識フィルタ20fが検索領域R内の左端に位置するようにエレメント認識フィルタ20fのx座標を決定する(S403)。エレメント認識フィルタ20fの左上端位置が座標(x,y)に対応する。決定された位置でエレメント認識フィルタ20fによりエレメントが存在するか否かを調査し(S404)、その結果を判断する(S405)。調査した結果、エレメントが検出されたときは変数kをインクリメントし(S406)、検出されたエレメントの位置を第k番目のエレメント位置情報P(k)としてRAM204の所定領域に記憶する(S407)。エレメントが検出されなかったときは、ステップS406、S407はスキップする。
【0031】
次に、エレメント認識フィルタ20fをx方向に所定量だけシフトし(S408)、その後、エレメント認識フィルタ20fが検索領域Rの右端からはみ出さないか否かを判断する(S409)。エレメント認識フィルタ20fが検索領域Rの右端からはみ出さないときは、ステップS404に戻り、検索領域R内でx方向にシフトした新たな位置でエレメントの検出を行う。エレメント認識フィルタ20fが検索領域Rの右端からはみ出すときは、エレメント認識フィルタ20fをy方向に所定量だけシフトし(S410)、エレメント認識フィルタ20fが検索領域Rの下端からはみ出さないか否かを判断する(S411)。エレメント認識フィルタ20fが検索領域Rの下端からはみ出さないときは、ステップS403に戻り、検索領域Rの左端でかつy方向に所定量だけシフトした新たな位置からエレメントの検出処理を行う。エレメント認識フィルタ20fが検索領域Rの下端からはみ出さすときはリターンする。このように、検索領域R内をエレメント認識フィルタ20fをシフトさせ、検索領域R全域についてのエレメント検出が終了するまで上記処理(S403〜S411)を繰り返す。
【0032】
図11は第2エレメント検出処理(ステップS313)のフローチャートである。本処理では、第1エレメント検出処理で検出された各第1エレメント候補に対して、そのエレメントから所定値だけ離れたエレメントを第2エレメント候補として求め、それらのエレメントの組み合わせを第1及び第2エレメント候補の組Q(m)として求める。ここで、所定値は、検出しようとする配置パターンを構成するエレメント間の距離の中の最大距離の値(以下、「最大距離」という。)に設定する。
【0033】
具体的には、まず、第1エレメント候補を指定するための変数iを1に初期化し(S501)、第1エレメント候補と第2エレメント候補の組み合わせを指定するための変数mを0に初期化する(S502)。
【0034】
その後、第2エレメント候補を指定するための変数jをi+1に設定する(S503)。以上のように設定された変数i、jにより指定されるエレメント位置P(i)とP(j)間の距離を算出する(S504)。算出した距離が最大距離と等しいか否かを判断する(S505)。この判断においては、比較する距離の差が所定の誤差範囲内であれば等しいとする。算出した距離が最大距離に等しいときは、変数i、jにより指定されるエレメント位置にあるエレメントが第1エレメント及び第2エレメント候補であると判断する。このとき、変数mをインクリメントし(S506)、エレメント位置P(i)とP(j)の組み合わせを、第m番目の第1及び第2エレメント候補の組Q(m)としてRAM204の所定領域に記憶する(S507)。算出した距離が最大距離に等しくないときは、これらの処理(ステップS506、S507)は行わない。
【0035】
以後、変数j、iを順次インクリメントしていき、第1エレメント検出処理で検出された全てのエレメント候補についてエレメント間距離を調査し、これらのエレメント候補の中から第1及び第2エレメント候補の組Q(m)を全て求める(S503〜S511)。
【0036】
図12は残りのエレメント検出処理(ステップS315)のフローチャートである。本処理では、第2エレメント検出処理で検出された第1及び第2エレメント候補の組み合わせを用いてそれらのエレメント間の位置関係を求め、その位置関係に基づいて残りのエレメントの位置を特定することにより画像中の配置パターンを検出する。配置パターン検出時には所定の処理を行う。なお、画像処理装置は、基準パターンとして、検出しようとする配置パターンの各エレメントの位置情報をハードディスク6等の記憶装置に保持しており、このエレメント位置情報を参照して残りのエレメント位置を特定する。
【0037】
具体的には、まず、本処理において第1及び第2エレメント候補の組み合わせを指定するための変数iを1に初期化する(S601)。その変数iで指定される組Q(i)内の第1エレメントと第2エレメントの位置に基づいて、他のエレメントがあるべき位置R(1)〜R(N)を算出する(S602)。ここで、変数Nは、配置パターンを構成する全エレメントの中から第1及び第2エレメントを除いた残りのエレメントの数である。配置パターンを構成するエレメントのうち2つのエレメント位置を特定すれば、それらのエレメントに対する残りのエレメントの相対位置は明らかであるため、残りのエレメント位置は簡単に算出できる。
【0038】
例えば、図14の(a)に示すように3点A(xa,ya)、B(xb,yb)、X(x,y)が配置されている場合を考える。このとき、点Xの座標は点Aを基準として点Aから点Bに向かうベクトルv=(xa-xb,ya-yb)を用いて次式で表せる。
【数1】

Figure 0003675217
ここで、α=(線分AXの長さ)/(線分ABの長さ)であり、θは線分ABと線分AXのなす角度である。
【0039】
このように、第3の点(X)の座標は、2つの基準点(A及びB)の座標が決まればそれらに基づいて求められる。つまり、ある配置パターンを検出する場合は、その配置パターンを構成するエレメントのうち最大距離を与える2つのエレメントすなわち第1及び第2エレメントを特定し、それらのエレメント位置を基準として他のエレメントについて上記α、θを事前に求めておくことにより、第1及び第2エレメントが求まれば、上式により他のエレメントの位置が求められる。
【0040】
したがって、本実施形態では、配置パターンにおいて最大のエレメント間距離を与えるエレメントの組すなわち第1及び第2エレメントをまず求め、それらの一方を基準とし、一方から他方へ向かうベクトル(以下「基準ベクトル」という。)を求め、これを用いて残りのエレメントの位置を求めるようにする。この際、基準ベクトルの向きを逆にすると(上記の例では、点Bから点Aに向かうベクトルを基準ベクトルとすると)、上式により求まる点は点X'になる。この点X'、A、Bにより形成される図形は、点X、A、Bにより形成される図形を180°回転させた図形と等しい。このことから、逆方向の2つの基準ベクトルを用いて残りのエレメントの座標位置を算出することにより、一方の基準ベクトルを用いて検出可能な配置パターンを180°回転させたパターンも検出できる。
【0041】
今、図14の(b)で示すような配置パターンMでのエレメント位置は次のように算出できる。ここで、配置パターンMにおいて、エレメントP1、P2、P4は同一円周上に配置され、エレメントP1、P2、P3は同一直径上にあり、エレメントP3はエレメントP1、P2の中点に配置されている。さらに、エレメントP4は、それとエレメントP3を結ぶ直線がエレメントP1と、P2を結ぶ直線と直交するように配置されている。エレメントP1とエレメントP2が最大距離を与える。エレメントP1からP2へ向かうベクトルを基準ベクトルv(x2-x1,y2-y1)とする。エレメントP3、P4はこの基準ベクトルvを用いてそれぞれ以下のように表すことができる。
【数2】
Figure 0003675217
【数3】
Figure 0003675217
【0042】
以上のようにして、残りのエレメントが位置すべき座標値R(1)〜R(N)が求まると、これらの座標値R(1)〜R(N)にエレメントがあるか否かを判断することにより、配置パターンを構成するエレメントの有無を判断する。具体的には、全エレメント候補の座標値P(1)〜P(k)の中から、座標の基準値R(1)〜R(N)に最も距離が近いものを探し出し、それらの誤差が許容範囲内であれば、その位置に配置パターンを構成するエレメントの1つが存在するとする。
【0043】
このため、図12において、算出した残りのエレメントの座標値R(j)を指定するための変数jを1に設定し(S603)、座標値R(j)と、全エレメント候補の座標値P(1)〜P(k)のそれぞれとの間の距離を算出し、この中の最小のものを求める(S604)。この最小距離が所定の誤差範囲内にあるか否かを判定する(S605)。最小距離が誤差範囲内にあればこれらの座標は一致するものとし、配置パターンを構成する残りのエレメントのうちの1つが存在すると判定する。その後、変数jをインクリメントし(S606)、次の座標値R(j)について同様にその位置にエレメントが存在するか否かを判定する(S604〜S607)。以降、同様に、残りのエレメントの存在を確認し、残りのエレメントの全ての座標において、エレメントの存在が確認できたときに、配置パターンが検出できたとする。配置パターンが検出できたときは、パターン検出時の所定処理を行い(S608)、ステップS609に進む。このパターン検出時の所定処理では、例えば、配置パターンを検出した座標値をファイルに記録したり、表示装置に配置パターンが検出できた旨のメッセージを表示したりする。
【0044】
ステップS6604〜S607において、一度でも座標値R(j)にエレメントの存在が確認できなければ、このループ(S604〜S607)を脱し、配置パターンが180°回転している場合のパターン検出処理を行う(S611)。
【0045】
図13に、配置パターンが180°回転している場合のパターン検出処理のフローチャートを示す。本処理では、前述のステップS604〜S607において検出できる配置パターンを180°回転させたときのパターンを検出する。このため、本処理では、最初に、第1エレメントと第2エレメントの座標値を入れ換えて残りのエレメントの座標値R(1)〜R(N)を求める(S621)。すなわち、ステップS604〜S607の場合とは逆向きの基準ベクトルを求めている。それ以後の処理(ステップS622〜S627)については、前述のステップS603〜S608と同様である。但し、ステップS624においてエレメントがあるべき座標値R(j)にエレメントの存在が確認できないときは即座にリターンし、ステップS609に進む。
【0046】
図12に戻り、ステップS609において、変数iをインクリメントし、全ての第1および第2エレメントの組Q(i)に対して同様に配置パターンを検出しする。配置パターン検出時には所定の処理を行う。
【0047】
以上のように、本実施形態の画像処理装置は、複数のエレメントからなり、各エレメントが一定の相対的位置関係を有するパターンであって、その位置関係によりそのパターンを特定できる配置パターンを画像中から検索する際に、最大のエレメント間距離を与える2つのエレメントを検出し、それらのエレメントの位置関係に基づいて他のエレメントのあるべき位置を特定し、その特定した位置に他のエレメントが検出できたときに画像中に配置パターンが存在すると認識する。これにより、検索時に参照する基準パターンとして位置情報のみを記憶しておくだけでよいため、少ない情報量で配置パターンの検索ができる。また、2つのエレメントが決まれば、残りのエレメント位置が算出できるため、その算出位置近傍において残りのエレメントを検索すればよく、検索領域を限定できるため検索のための処理時間が短縮できる。また、最初の2つのエレメントをエレメント間が最大となるものを選定することにより、残りのエレメント位置を算出する際の誤差も小さくなる。さらに、エレメント間の相対的な位置関係により配置パターンを検出するため、画像中の配置パターンの向きに関係なく配置パターンが検出できる。
【0048】
【発明の効果】
本発明によれば、複数のエレメントからなり、各エレメントの一定の相対位置関係を有するパターンであって、各エレメントの位置関係によりそのパターンを特定できるパターンを画像中から検索する際に、検索時に参照する基準パターンとして位置情報のみを記憶しておくだけでよいため、少ない情報量でパターンの検索ができる。また、2つのエレメントが決まれば、残りのエレメント位置が算出できるため、その算出位置近傍において残りのエレメントを検索すればよく、検索領域を限定できるため検索のための処理時間が短縮できる。また、最初の2つのエレメントをエレメント間が最大となるものを選定することにより、残りのエレメント位置を算出する際の誤差も小さくなる。さらに、エレメント間の位置関係によりパターンを検出するため、画像中のパターンの向きに関係なく確実にパターンが検出できる。
【図面の簡単な説明】
【図1】 本発明に係る画像処理装置の構成の概略を示す図。
【図2】 画像処理装置の制御装置を中心としたブロック図。
【図3】 画像処理装置におけるメインルーチンのフローチャート。
【図4】 (a)検索領域のサイズ、(b)検索領域のx方向(副走査方向)へのシフト及び(c)検索領域のy方向(主走査方向)へのシフトを説明した図。
【図5】 画像処理装置が検出する配置パターンの一例を示す図。
【図6】 (a)エレメント認識フィルタと、(b)それを用いた検索領域内の走査を説明するための図。
【図7】 2つのエレメントを用いて他のエレメントを検出する際に生ずる誤差の大きさを説明した図。
【図8】 画像処理装置における画像認識処理のフローチャート。
【図9】 検索領域内での配置パターンの検出処理のフローチャート。。
【図10】 第1エレメント検出処理のフローチャート。
【図11】 第2エレメント検出処理のフローチャート。
【図12】 残りのエレメント検出処理のフローチャート。
【図13】 180°回転パターンの検出処理のフローチャート。
【図14】 (a)点A、点Bに対する点Xの位置関係と、(b)4つのエレメントからなる配置パターンの一例を示した図。
【符号の説明】
1 制御装置
2 ディスプレイ
3 キーボード
4 マウス
5a フロッピーディスク,5b フロッピーディスク装置
6 ハードディスク
9a CD−ROM,5b CD−ROM装置
20 画像
20f エレメント認識フィルタ
M 配置パターン
R,R',R” 検索領域
P1〜P5 エレメント[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing technique, and more particularly to a technique for recognizing a specific pattern composed of a plurality of elements having a predetermined positional relationship with each other.
[0002]
[Prior art]
Conventionally, pattern matching processing performed for detecting the position of a specific pattern included in an image, recognizing the shape of a specific pattern, etc. is performed using binary or multivalued data for each pixel of an image captured by a camera or the like. Is stored in the image memory, and the stored data is compared with the data of each pixel of the reference pattern that is referred to in advance to specify the specific pattern stored in the memory for each pixel. It was. In this verification, the entire image is scanned while shifting the reference pattern pixel by pixel in the x direction or y direction of the image for searching for the specific pattern. In this case, when searching for a specific pattern consisting of a plurality of elements and each element having a predetermined positional relationship with each other, a reference pattern including the entire specific pattern is prepared, and the entire image is scanned with the reference pattern. Then, pattern matching was performed.
[0003]
[Problems to be solved by the invention]
However, this method has a problem that it takes a lot of processing time because the pixel of the image for searching for the specific pattern and the pixel of the reference pattern are collated while shifting one pixel at a time. In addition, when the orientation of the specific pattern included in the image is not constant, that is, when the orientation does not match the reference pattern, a plurality of reference patterns obtained by rotating the specific pattern by a predetermined amount are generated, or a plurality of reference patterns are set in advance. It was necessary to prepare and perform the above collation for each reference pattern.
[0004]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and an object of the present invention is to reliably and quickly detect a pattern composed of a plurality of elements and specified by a relative positional relationship between the elements from an image. An image processing apparatus, an image processing method, and a recording medium on which an image processing program is recorded are provided.
[0005]
[Means for Solving the Problems]
In order to solve the above problems, an image processing apparatus according to the present invention has the following configuration in an image processing apparatus that searches a pattern composed of a plurality of elements having a predetermined positional relationship with each other from an image. That is, the image processing apparatus Multiple element candidates were extracted and extracted Multiple elements Candidate Out of Two element candidates separated by a distance equal to the maximum distance between a plurality of elements constituting the pattern are defined as two elements included in the plurality of elements constituting the pattern. Based on the reference element detection means to detect and the coordinates of the two elements detected by the reference element detection means , Configure the above pattern Element position calculating means for determining the position of the remaining element excluding two elements of the plurality of elements, remaining element detecting means for detecting the remaining element at the position determined by the element position calculating means, and a reference Pattern detecting means for searching for patterns based on the elements detected by the element detecting means and the remaining element detecting means.
[0006]
In the above image processing apparatus, when obtaining the positions of the remaining elements, The positions of the remaining elements may be obtained by exchanging the coordinates of the two elements detected by the reference element detection means. Thereby, the positions of the remaining elements in the pattern obtained by rotating the pattern obtained based on the element coordinates before replacement by 180 ° can be obtained.
[0007]
An image processing method according to the present invention includes the following steps in an image processing method for searching a pattern composed of a plurality of elements having a predetermined positional relationship with each other from an image. In other words, the image processing method Multiple element candidates were extracted and extracted Among multiple element candidates Two element candidates separated by a distance equal to the maximum distance between a plurality of elements constituting the pattern are defined as two elements included in the plurality of elements constituting the pattern. Based on the detecting step and the coordinates of the two detected elements, Configure the above pattern A step of obtaining a position of the remaining element excluding two elements of the plurality of elements, a step of detecting the remaining element at the obtained position, and a detection by the reference element detection means and the remaining element detection means Searching for a pattern based on the element.
[0008]
The recording medium according to the present invention is a computer-readable recording medium and records the following image processing program. The image processing program is an image processing program that searches a pattern for a pattern composed of a plurality of elements having a predetermined positional relationship with each other. Multiple element candidates were extracted and extracted Out of multiple elements Two element candidates separated by a distance equal to the maximum distance between a plurality of elements constituting the pattern are defined as two elements included in the plurality of elements constituting the pattern. Based on the detection procedure and the coordinates of the two detected elements, Configure the above pattern The procedure for obtaining the position of the remaining element excluding the above two elements of the plurality of elements, the procedure for detecting the remaining element at the obtained position, and the reference element detecting means and the remaining element detecting means. And a program for causing a computer to execute a procedure for searching for a pattern based on the elements.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of an image processing apparatus according to the present invention will be described below in detail with reference to the accompanying drawings.
[0010]
(Configuration of image processing apparatus)
FIG. 1 shows a schematic configuration diagram of an image processing apparatus (hereinafter referred to as “system”) of the present embodiment. As shown in FIG. 1, the system includes a central processing unit (hereinafter referred to as “CPU”), and is configured around a control device 1 that controls the entire system. As the CPU, for example, Pentium manufactured by Intel Corporation is used. The control device 1 includes a display 2 for displaying images or characters, a display for operation, a keyboard 3 and a mouse 4 for performing various inputs and instruction operations, and a floppy as a data storage medium. A disk device 5a and a hard disk device 6, a printer 7 for printing characters and image data, a scanner 8 for capturing image data, a CD-ROM device 9b for reading data stored in a CD-ROM 9a, A speaker 10 for outputting sound and a microphone 11 for inputting sound are connected.
[0011]
FIG. 2 shows a block diagram of this system. The CPU 201 is connected via a data bus 220 to a ROM 203 that stores a program for controlling the system and a RAM 204 that temporarily stores a program and data executed by the CPU 201 for control. Further, a circuit connected to the CPU 201 via the data bus 220 includes a display control circuit 205 that controls the display 2 for displaying images or characters, and a keyboard control circuit 206 that controls transfer of input from the keyboard 3. , A mouse control circuit 207 for transferring input from the mouse 4, a floppy disk device control circuit 208 for controlling the floppy disk device 5 b, a hard disk device control circuit 209 for controlling the hard disk device 6, and an output to the printer 7. A printer control circuit 210 for controlling, a scanner control circuit 211 for controlling the scanner 8, a CD-ROM device control circuit 212 for controlling the CD-ROM device 9 b, a speaker control circuit 213 for controlling the speaker 10, and the microphone 11. Microphone control circuit 214 to control There is. Further, a clock 202 for generating a reference clock necessary for operating the system is connected to the CPU 201, and an expansion slot 215 for connecting various expansion boards is connected via a data bus 220. . Note that an SCSII board may be connected to the expansion slot 215, and the floppy disk device 5b, the hard disk device 6, the scanner 8, the CD-ROM device 9b, or the like may be connected via the SCSII board.
[0012]
In the above system, the floppy disk 5a and the hard disk device 6 are used as the data storage medium, but other information recording media such as a magneto-optical disk (MO) may be used. Further, although the scanner 8 is used as an image data input device, other data input devices such as a still video camera and a digital camera may be used. Further, although the printer 7 is used as an output device, other output devices such as a digital copying machine may be used. In this system, a program for realizing a data management system is stored in the ROM 203. However, a part or all of this program is stored in an information recording medium such as the floppy disk 5a, the hard disk device 6, or the CD-ROM 9b, and the program and data are read from the information recording medium to the RAM 204 as necessary. It may be executed.
[0013]
(Main routine)
FIG. 3 is a flowchart showing a main routine of a program executed by the CPU 201 in this system. The system (CPU 201) sequentially executes each process in accordance with a user operation.
[0014]
When this program is started, first, initial setting processing for initializing flags and the like necessary for the subsequent processing and displaying an initial menu screen is performed (S1). On the initial menu screen, predetermined icons for selecting processing such as “image recognition” and “others” are displayed. When the user selects this icon, processing corresponding to the icon is executed. Next, it is determined whether any process is selected by the user on the initial menu screen (S2). If “image recognition” is selected in step S2, the process proceeds to an image recognition process (S3) for performing a process for confirming the presence or absence of an arrangement pattern in the input image, and then returns to step S2. If “others” is selected in step S2, other process (S4) which is a predetermined process other than image recognition is performed, and then the process returns to step S2. If “end” is selected in step S2, predetermined post-processing (S5) for ending the operation of the system is performed, and this control is ended. If nothing is selected in step S2, the process waits for the user to select one of the processes.
[0015]
Other processing (step S4) and post-processing (step S5) are basically the same as the processing used in a general information processing system, and thus description thereof is omitted here. Details of the image recognition process (step S3) will be described later.
[0016]
(Search area for specific patterns)
By the way, when searching for a specific pattern from an image, the image processing apparatus according to the present embodiment searches for a specific pattern for each predetermined search area of the image. That is, a partial area of the image is set as a search area, the search area is shifted in a predetermined scanning direction in the image, and a specific pattern is searched in the search area at the shifted position. The size and shift amount of this search area will be described below.
[0017]
The size of the search area is determined as follows. That is, as shown in FIG. 4A, the size of the search region R is larger than the size of the specific pattern to be searched in the x direction (that is, the sub-scanning direction (right direction in the figure)) and the y direction (that is, In the main scanning direction (downward in the figure), each is set larger by a predetermined amount (hereinafter referred to as “size increase amount”). These increases are set to 2 pixels or more. For convenience of explanation, the size increase amount in the x direction and the y direction is set to the same amount (n pixels (n ≧ 2)).
[0018]
In addition, the shift amount in the x direction of the search region R is made equal to the size increase amount in the x direction. As shown in FIG. 4B, when the image processing apparatus finishes searching for one search region R, the image processing device searches for a new search region R ′ that is shifted by n pixels in the x direction. By shifting the search area by the size increase amount in this way, as shown in FIG. 4B, an arrangement pattern to be found in the area combining the search area R and the next search area R ′. If there are (dashed circles A, B, C), they can be detected in any search area. Similarly, also in the y direction, the shift amount is made equal to the size increase amount in the y direction. When the search region R reaches the right end of the image 20 (search region R ′) as a result of shifting in the x direction as shown in FIG. 4C, the search region R returns to the left end of the image 20 and is located in the y direction. Shift by a fixed amount (search area R ").
[0019]
As described above, when detecting an arrangement pattern, the image processing apparatus sets a search area having a size larger than the arrangement pattern size by a predetermined amount (n pixels (n ≧ 2)), and this search area is set in the image. The specific pattern is detected while shifting by a predetermined amount. In this way, a limited area of the image, not the entire image, is used as a search area, and a specific pattern is searched for each area, so that the work on the memory required for the search is greater than when searching through the entire image. The area can be reduced, and the processing time can be shortened. Furthermore, since the specific pattern is searched while shifting the search area by a predetermined amount, the scanning time is reduced compared to the conventional case of shifting by one pixel, and the search time for the specific pattern can be reduced. Note that it is preferable to obtain an optimum value for the predetermined amount n by experiment. In the experiment, it was confirmed that the high-speed processing was about three times when n = 2 and about seven times when n = 3 as compared with n = 1.
[0020]
(Element and specific (arrangement) pattern detection method)
A specific pattern detected by the image processing apparatus will be described. FIG. 5 shows an example of a specific pattern to be searched. As shown in this figure, the specific pattern M is composed of a plurality of elements (element images) P1 to P5, and these elements P1 to P5 are arranged in a certain relative positional relationship. Elements P1 to P5 are predetermined images composed of at least one pixel and are components of a specific pattern. The system recognizes the specific pattern M by judging the relative positional relationship between these elements P1 to P5 and the elements P1 to P5. Hereinafter, a pattern specified by such a fixed arrangement of elements is referred to as an “arrangement pattern”.
[0021]
Recognition of each element constituting the arrangement pattern is performed using an element recognition filter shown in FIG. Specifically, this is performed as follows. That is, the element recognition filter 20f is overlapped with a part of the area of the image 20, and the pixel of the image in each of the central part (hatched part by dots) and the peripheral part (hatched part by oblique lines) of the element recognition filter 20f. Extract features. The pixels whose feature values are within a predetermined range are labeled, and when the number of labeled pixels is within the predetermined range in each of the central portion and the peripheral portion of the filter 20f, the center of the filter 20f is labeled. Assume that an element exists at the position of the part. For example, it is assumed that the element exists when the number of labeled pixels in the central portion of the filter 20f is 45 or more and the number of labeled pixels in the peripheral portion is 1 or less. It is assumed that the element is detected at the position of the central portion of the element recognition filter 20f. Here, the element has a circular pattern.
[0022]
As described above, the image processing apparatus searches the arrangement pattern for each search region R. Accordingly, the image processing apparatus scans the search region R with the element recognition filter 20f as shown in FIG. 6B, detects the element, and confirms the presence or absence of the arrangement pattern.
[0023]
Next, a method for recognizing the arrangement pattern from the detected element will be described. When the image processing apparatus scans the search region R with the element recognition filter 20f and detects an element, the image processing apparatus checks the relative positional relationship of the detected elements and determines whether or not they are arranged in a specific positional relationship. By recognizing, the arrangement pattern is recognized. Specifically, first, two elements having the maximum distance between the elements are identified from the plurality of elements detected in the search region R. Next, the positional relationship between these two elements is obtained. If the positional relationship between two elements is obtained, the positions of other elements are inevitably determined. Therefore, the position where the other element should exist is obtained from the positional relationship between the two elements, and it is confirmed whether or not the element exists at the obtained position. If all the elements can be confirmed at the obtained position, it is recognized that the arrangement pattern exists in the search region R.
[0024]
As described above, the two elements having the maximum distance between the elements are obtained first. However, the two elements having the predetermined distance between the elements may be obtained first. The reason why the two elements having the maximum inter-element distance are obtained first is to reduce the error in obtaining the positions of other elements. For example, as shown in FIGS. 7A and 7B, when the elements P1 and P2 having the maximum inter-element distance are first obtained, an error (element P2 and element P ′ is detected when the first element is detected. When there is a difference between 2), an error (difference between element P3 and element P'3) when other elements are obtained is smaller than the original error. On the other hand, as shown in FIGS. 7C and 7D, when the elements P1 and P2 having the maximum inter-element distance are not obtained first, an error (element P2 and element P is detected when the first element is detected. When there is a difference between '2', the error (difference between element P3 and element P'3) when other elements are obtained becomes larger than the original error. Thus, by obtaining the maximum distance element first, the error in obtaining the remaining elements can be reduced.
[0025]
(Image recognition processing)
Hereinafter, the image recognition process (step S3) will be described with reference to the flowcharts of FIGS.
[0026]
As shown in FIG. 8, first, image data of an image 20 that is a search target of an arrangement pattern is input (S301). That is, the image data of the image 20 designated by the user is loaded into the RAM 204. Next, the size of the search area R is set (S302). As described above, the size of the search region R is set to a size obtained by adding a size increase amount to the size of the arrangement pattern in each of the x direction and the y direction.
[0027]
Next, in order to set the position of the search region R in the y direction at the upper end of the image, the coordinate Y is set to 0 (S303). In order to set the position of the search region R in the x direction at the left end of the image 20, the coordinate X is set to 0 (S304). The coordinate values X and Y are the upper left corner of the search area R, and a rectangular search area R is set with a size determined based on this position. Next, an element is detected using the element recognition filter 20f in the search region R, and a process for detecting an arrangement pattern is performed (S305). Details of this processing will be described later. Thereafter, in order to shift the search region R by a predetermined amount in the x direction, a shift amount n in the x direction is added to the coordinate value X (S306). It is determined whether or not the search region R protrudes from the right end of the image 20 (S307). If it does not protrude, the process returns to step S305, and an arrangement pattern detection process is performed in the new search region shifted by n pixels in the x direction. When the search region R protrudes from the right end of the image 20, a shift amount n in the y direction is added to the coordinate value Y in order to shift the search region R by a predetermined amount in the y direction (S308). Thereafter, it is determined whether or not the search region R protrudes from the lower end of the image 20 (S309). If not, the process returns to step S304, and a new search region shifted by n lines in the left end of the image 20 and in the y direction. Arrangement pattern detection processing is performed. As described above, the search area R is shifted on the image 20, and the above processing (S304 to S309) is repeated until the arrangement pattern detection for the entire area of the image 20 is completed.
[0028]
FIG. 9 is a flowchart of pattern detection processing (step S305) in the search area. In this process, first, a first element detection process is performed (S311). In the first element detection process, all elements included in the search region R are detected as first element candidates. The number of first element candidates detected at this time is k. Next, it is determined whether or not there are three or more elements detected in the first element detection process (S312). If the number of detected elements is three or more, the second element detection process is performed (S313). In the second element detection process, an element located at a predetermined distance (maximum value of the distance between elements) from the element of the first element candidate is set as the second element candidate. Let m be the number of second element candidates detected at this time. It is determined whether a second element candidate is detected (S314). When the second element candidate is detected (m> 0), the remaining element detection processing is performed (S315), and when the second element candidate is not detected (m = 0), the process returns. The first element candidate and the second element candidate are two element candidates that are detected first in order to detect the arrangement pattern. In the remaining element detection process, the position of the remaining element candidates constituting the arrangement pattern together with the element selected from the first element candidate and the second element candidate is obtained, and the arrangement pattern is detected based on this position. I do. Hereinafter, the first element detection process (S311), the second element detection process (S313), and the remaining element detection process (S315) will be described in order.
[0029]
FIG. 10 is a flowchart of the first element detection process (step S311). In this process, all the elements included in the search region R are detected and set as first element candidates.
[0030]
For this reason, first, a variable k indicating the number of first element candidates is initialized to 0 (S401). The y coordinate of the element recognition filter 20f is determined so that the element recognition filter 20f is positioned at the upper end in the search region R (S402). Further, the x coordinate of the element recognition filter 20f is determined so that the element recognition filter 20f is positioned at the left end in the search region R (S403). The upper left position of the element recognition filter 20f corresponds to the coordinates (x, y). The element recognition filter 20f checks whether or not an element exists at the determined position (S404), and determines the result (S405). As a result of the investigation, when an element is detected, the variable k is incremented (S406), and the position of the detected element is stored in the predetermined area of the RAM 204 as the kth element position information P (k) (S407). If no element is detected, steps S406 and S407 are skipped.
[0031]
Next, the element recognition filter 20f is shifted by a predetermined amount in the x direction (S408), and then it is determined whether or not the element recognition filter 20f does not protrude from the right end of the search region R (S409). When the element recognition filter 20f does not protrude from the right end of the search region R, the process returns to step S404, and the element is detected at a new position shifted in the x direction within the search region R. When the element recognition filter 20f protrudes from the right end of the search region R, the element recognition filter 20f is shifted by a predetermined amount in the y direction (S410), and whether or not the element recognition filter 20f does not protrude from the lower end of the search region R is determined. Judgment is made (S411). When the element recognition filter 20f does not protrude from the lower end of the search region R, the process returns to step S403, and element detection processing is performed from a new position shifted by a predetermined amount in the y direction at the left end of the search region R. When the element recognition filter 20f protrudes from the lower end of the search area R, the process returns. In this way, the element recognition filter 20f is shifted within the search region R, and the above processing (S403 to S411) is repeated until element detection for the entire search region R is completed.
[0032]
FIG. 11 is a flowchart of the second element detection process (step S313). In this process, for each first element candidate detected in the first element detection process, an element separated from the element by a predetermined value is obtained as a second element candidate, and a combination of these elements is determined as the first and second elements. It is obtained as a set Q (m) of element candidates. Here, the predetermined value is set to a maximum distance value (hereinafter referred to as “maximum distance”) among the distances between the elements constituting the arrangement pattern to be detected.
[0033]
Specifically, first, a variable i for designating the first element candidate is initialized to 1 (S501), and a variable m for designating a combination of the first element candidate and the second element candidate is initialized to 0. (S502).
[0034]
Thereafter, the variable j for designating the second element candidate is set to i + 1 (S503). The distance between the element positions P (i) and P (j) designated by the variables i and j set as described above is calculated (S504). It is determined whether or not the calculated distance is equal to the maximum distance (S505). In this determination, it is assumed that the distances to be compared are equal if they are within a predetermined error range. When the calculated distance is equal to the maximum distance, it is determined that the element at the element position specified by the variables i and j is the first element and the second element candidate. At this time, the variable m is incremented (S506), and the combination of the element positions P (i) and P (j) is set in the predetermined area of the RAM 204 as the mth first and second element candidate set Q (m). Store (S507). When the calculated distance is not equal to the maximum distance, these processes (steps S506 and S507) are not performed.
[0035]
Thereafter, the variables j and i are sequentially incremented, the inter-element distances are investigated for all the element candidates detected in the first element detection process, and a set of first and second element candidates is selected from these element candidates. All Q (m) are obtained (S503 to S511).
[0036]
FIG. 12 is a flowchart of the remaining element detection processing (step S315). In this processing, the positional relationship between these elements is obtained using the combination of the first and second element candidates detected in the second element detection processing, and the positions of the remaining elements are specified based on the positional relationship. Thus, the arrangement pattern in the image is detected. A predetermined process is performed when the arrangement pattern is detected. Note that the image processing apparatus holds the position information of each element of the arrangement pattern to be detected as a reference pattern in a storage device such as the hard disk 6 and specifies the remaining element positions with reference to this element position information. To do.
[0037]
Specifically, first, in this process, a variable i for designating a combination of the first and second element candidates is initialized to 1 (S601). Based on the positions of the first element and the second element in the set Q (i) specified by the variable i, the positions R (1) to R (N) where other elements should be are calculated (S602). Here, the variable N is the number of remaining elements excluding the first and second elements from all elements constituting the arrangement pattern. If two element positions of the elements constituting the arrangement pattern are specified, the relative positions of the remaining elements with respect to those elements are clear, so that the remaining element positions can be easily calculated.
[0038]
For example, consider a case where three points A (xa, ya), B (xb, yb), and X (x, y) are arranged as shown in FIG. At this time, the coordinates of the point X can be expressed by the following equation using a vector v = (xa−xb, ya−yb) from the point A to the point B with the point A as a reference.
[Expression 1]
Figure 0003675217
Here, α = (length of line segment AX) / (length of line segment AB), and θ is an angle formed by line segment AB and line segment AX.
[0039]
As described above, the coordinates of the third point (X) are obtained based on the coordinates of the two reference points (A and B). That is, when a certain arrangement pattern is detected, two elements that give the maximum distance among the elements constituting the arrangement pattern, that is, the first and second elements are specified, and the other elements are described above with reference to their element positions. If the first and second elements are obtained by obtaining α and θ in advance, the positions of the other elements are obtained by the above formula.
[0040]
Therefore, in the present embodiment, a set of elements that gives the maximum inter-element distance in the arrangement pattern, that is, first and second elements are first obtained, one of them is used as a reference, and a vector from one to the other (hereinafter referred to as “reference vector”). Is used to determine the position of the remaining elements. At this time, if the direction of the reference vector is reversed (in the above example, the vector from point B to point A is the reference vector), the point obtained by the above equation is point X ′. The figure formed by the points X ′, A, and B is equal to the figure obtained by rotating the figure formed by the points X, A, and B by 180 °. Therefore, by calculating the coordinate positions of the remaining elements using the two reference vectors in the opposite directions, a pattern obtained by rotating the arrangement pattern that can be detected using one of the reference vectors by 180 ° can also be detected.
[0041]
Now, the element position in the arrangement pattern M as shown in FIG. 14B can be calculated as follows. Here, in the arrangement pattern M, the elements P1, P2, P4 are arranged on the same circumference, the elements P1, P2, P3 are on the same diameter, and the element P3 is arranged at the midpoint of the elements P1, P2. Yes. Furthermore, the element P4 is arranged so that the straight line connecting the element P3 and the element P3 is orthogonal to the straight line connecting the elements P1 and P2. Elements P1 and P2 provide the maximum distance. A vector from the element P1 to P2 is defined as a reference vector v (x2-x1, y2-y1). Elements P3 and P4 can be expressed as follows using this reference vector v.
[Expression 2]
Figure 0003675217
[Equation 3]
Figure 0003675217
[0042]
As described above, when the coordinate values R (1) to R (N) where the remaining elements are to be located are obtained, it is determined whether or not there are elements in these coordinate values R (1) to R (N). By doing so, it is determined whether or not there is an element constituting the arrangement pattern. Specifically, the coordinate values P (1) to P (k) of all the element candidates are searched for those closest to the coordinate reference values R (1) to R (N), and their errors are calculated. If it is within the allowable range, it is assumed that one of the elements constituting the arrangement pattern exists at that position.
[0043]
For this reason, in FIG. 12, the variable j for designating the calculated coordinate value R (j) of the remaining element is set to 1 (S603), the coordinate value R (j), and the coordinate value P of all the element candidates. The distance between each of (1) to P (k) is calculated, and the minimum of these is obtained (S604). It is determined whether or not the minimum distance is within a predetermined error range (S605). If the minimum distance is within the error range, these coordinates are assumed to be the same, and it is determined that one of the remaining elements constituting the arrangement pattern exists. Thereafter, the variable j is incremented (S606), and it is determined whether or not an element exists at that position for the next coordinate value R (j) (S604 to S607). Thereafter, similarly, it is assumed that the arrangement pattern can be detected when the existence of the remaining elements is confirmed and the existence of the elements can be confirmed at all the coordinates of the remaining elements. When the arrangement pattern can be detected, a predetermined process at the time of pattern detection is performed (S608), and the process proceeds to step S609. In the predetermined processing at the time of pattern detection, for example, the coordinate value at which the arrangement pattern is detected is recorded in a file, or a message indicating that the arrangement pattern has been detected is displayed on the display device.
[0044]
In steps S6604 to S607, if the presence of an element cannot be confirmed even once in the coordinate value R (j), this loop (S604 to S607) is exited, and pattern detection processing is performed when the arrangement pattern is rotated 180 °. (S611).
[0045]
FIG. 13 shows a flowchart of pattern detection processing when the arrangement pattern is rotated by 180 °. In this process, a pattern is detected when the arrangement pattern that can be detected in steps S604 to S607 is rotated by 180 °. For this reason, in this process, first, the coordinate values R (1) to R (N) of the remaining elements are obtained by exchanging the coordinate values of the first element and the second element (S621). That is, a reference vector in the opposite direction to that in steps S604 to S607 is obtained. Subsequent processing (steps S622 to S627) is the same as steps S603 to S608 described above. However, if the presence of the element cannot be confirmed at the coordinate value R (j) where the element should be present in step S624, the process immediately returns, and the process proceeds to step S609.
[0046]
Returning to FIG. 12, in step S609, the variable i is incremented, and the arrangement pattern is similarly detected for all the sets Q (i) of the first and second elements. A predetermined process is performed when the arrangement pattern is detected.
[0047]
As described above, the image processing apparatus according to the present embodiment includes a plurality of elements, and each element has a certain relative positional relationship, and an arrangement pattern that can identify the pattern by the positional relationship is included in the image. When searching from, two elements that give the maximum distance between elements are detected, the position of other elements is specified based on the positional relationship of those elements, and other elements are detected at the specified position When it is completed, it is recognized that an arrangement pattern exists in the image. As a result, only the position information needs to be stored as a reference pattern to be referred to at the time of search, and therefore, the arrangement pattern can be searched with a small amount of information. If two elements are determined, the remaining element positions can be calculated. Therefore, the remaining elements need only be searched in the vicinity of the calculated position, and the search area can be limited, so that the search processing time can be shortened. In addition, by selecting the first two elements that maximize the distance between the elements, the error in calculating the remaining element positions is reduced. Furthermore, since the arrangement pattern is detected based on the relative positional relationship between the elements, the arrangement pattern can be detected regardless of the orientation of the arrangement pattern in the image.
[0048]
【The invention's effect】
According to the present invention, when searching for a pattern consisting of a plurality of elements and having a certain relative positional relationship between the elements, the pattern of which can be specified by the positional relationship between the elements, Since it is only necessary to store only position information as a reference pattern to be referred to, a pattern can be searched with a small amount of information. If two elements are determined, the remaining element positions can be calculated. Therefore, the remaining elements need only be searched in the vicinity of the calculated position, and the search area can be limited, so that the search processing time can be shortened. In addition, by selecting the first two elements that maximize the distance between the elements, the error in calculating the remaining element positions is reduced. Furthermore, since the pattern is detected based on the positional relationship between the elements, the pattern can be reliably detected regardless of the orientation of the pattern in the image.
[Brief description of the drawings]
FIG. 1 is a diagram schematically showing the configuration of an image processing apparatus according to the present invention.
FIG. 2 is a block diagram centering on a control device of the image processing apparatus.
FIG. 3 is a flowchart of a main routine in the image processing apparatus.
FIGS. 4A and 4B are diagrams illustrating (a) the size of a search area, (b) shifting the search area in the x direction (sub-scanning direction), and (c) shifting the search area in the y direction (main scanning direction).
FIG. 5 is a diagram illustrating an example of an arrangement pattern detected by the image processing apparatus.
FIGS. 6A and 6B are diagrams for explaining an element recognition filter and (b) scanning in a search area using the filter.
FIG. 7 is a diagram illustrating the magnitude of an error that occurs when other elements are detected using two elements.
FIG. 8 is a flowchart of image recognition processing in the image processing apparatus.
FIG. 9 is a flowchart of an arrangement pattern detection process within a search area. .
FIG. 10 is a flowchart of first element detection processing;
FIG. 11 is a flowchart of second element detection processing;
FIG. 12 is a flowchart of remaining element detection processing.
FIG. 13 is a flowchart of 180 ° rotation pattern detection processing;
FIG. 14A is a diagram showing an example of a positional relationship of a point X with respect to a point A and a point B, and FIG. 14B is an example of an arrangement pattern composed of four elements.
[Explanation of symbols]
1 Control device
2 display
3 Keyboard
4 Mouse
5a floppy disk, 5b floppy disk device
6 Hard disk
9a CD-ROM, 5b CD-ROM device
20 images
20f Element recognition filter
M arrangement pattern
R, R ', R "search area
P1 to P5 elements

Claims (6)

互いに所定の位置関係を有する複数のエレメントからなるパターンを画像から検索する画像処理装置において、
画像から複数のエレメント候補を抽出し、上記抽出した複数のエレメント候補のうち上記パターンを構成する複数のエレメント間の距離の最大値と等しい距離だけ離れた2つのエレメント候補を、上記パターンを構成する複数のエレメントに含まれる2つのエレメントとして検出する基準要素検出手段と、
該基準要素検出手段により検出された2つのエレメントの座標に基づいて、上記パターンを構成する複数のエレメントのうちの上記2つのエレメントを除いた残りのエレメントの位置を求める要素位置算出手段と、
該要素位置算出手段により求められた位置で上記残りのエレメントを検出する残りの要素検出手段と、
上記基準要素検出手段および上記残りの要素検出手段により検出されたエレメントに基づいて上記パターンを検索するパターン検索手段と
を備えたことを特徴とする画像処理装置。
In an image processing apparatus for searching a pattern composed of a plurality of elements having a predetermined positional relationship with each other from an image,
Extracting a plurality of elements candidate from an image, a maximum value equal to distance the two elements candidate apart distance between a plurality of elements constituting the pattern of the plurality of elements candidates the extracted, constituting the pattern Reference element detecting means for detecting two elements included in a plurality of elements ;
Element position calculating means for obtaining the positions of the remaining elements excluding the two elements of the plurality of elements constituting the pattern based on the coordinates of the two elements detected by the reference element detecting means;
Remaining element detecting means for detecting the remaining element at the position determined by the element position calculating means;
An image processing apparatus comprising: a pattern search unit that searches for the pattern based on an element detected by the reference element detection unit and the remaining element detection unit.
上記要素位置算出手段は、上記基準要素検出手段により検出された2つのエレメントの座標を入れ換えて残りのエレメントの位置を求めることにより、入れ換える前のエレメント座標に基づいて求められるパターンを180°回転して配置したパターンにおける残りのエレメントの位置を求めることを特徴とする請求項1記載の画像処理装置。The element position calculation means rotates the pattern obtained based on the element coordinates before replacement by 180 ° by replacing the coordinates of the two elements detected by the reference element detection means and obtaining the positions of the remaining elements. The image processing apparatus according to claim 1, wherein the positions of the remaining elements in the arranged pattern are obtained. 互いに所定の位置関係を有する複数のエレメントからなるパターンを画像から検索する画像処理方法において、In an image processing method for searching a pattern consisting of a plurality of elements having a predetermined positional relationship with each other from an image,
画像から複数のエレメント候補を抽出し、上記抽出した複数のエレメント候補のうち、上記パターンを構成する複数のエレメント間の距離の最大値と等しい距離だけ離れた2つのエレメント候補を、上記パターンを構成する複数のエレメントに含まれる2つのエレメントとして検出するステップと、A plurality of element candidates are extracted from the image, and among the extracted plurality of element candidates, two element candidates separated by a distance equal to the maximum distance between the plurality of elements constituting the pattern are configured as the pattern. Detecting as two elements included in a plurality of elements to be performed;
該検出された2つのエレメントの座標に基づいて、上記パターンを構成する複数のエレメントのうちの上記2つのエレメントを除いた残りのエレメントの位置を求めるステップと、Obtaining the positions of the remaining elements excluding the two elements of the plurality of elements constituting the pattern based on the coordinates of the detected two elements;
該求められた位置で上記残りのエレメントを検出する手順と、Detecting the remaining elements at the determined position;
上記の検出された2つのエレメントと残りのエレメントに基づいて上記パターンを検索するステップとRetrieving the pattern based on the two detected elements and the remaining elements;
を備えたことを特徴とする画像処理方法。An image processing method comprising:
上記残りのエレメントの位置を求めるステップにおいて、上記検出された2つのエレメントの座標を入れ換えて残りのエレメントの位置を求めることにより、入れ換える前のエレメント座標に基づいて求められるパターンを180°回転して配置したパターンにおける残りのエレメントの位置を求めることを特徴とする請求項3記載の画像処理方法。In the step of determining the position of the remaining element, the pattern obtained based on the element coordinates before replacement is rotated by 180 ° by replacing the coordinates of the two detected elements and determining the position of the remaining element. 4. The image processing method according to claim 3, wherein the positions of the remaining elements in the arranged pattern are obtained. 互いに所定の位置関係を有する複数のエレメントからなるパターンを画像から検索する画像処理プログラムであって、An image processing program for searching a pattern composed of a plurality of elements having a predetermined positional relationship with each other from an image,
画像から複数のエレメント候補を抽出し、上記抽出した複数のエレメント候補のうち、上記パターンを構成する複数のエレメント間の距離の最大値と等しい距離だけ離れた2つのエレメント候補を、上記パターンを構成する複数のエレメントに含まれる2つのエレメントとして検出する手順と、A plurality of element candidates are extracted from the image, and among the extracted plurality of element candidates, two element candidates separated by a distance equal to the maximum distance between the plurality of elements constituting the pattern are configured as the pattern. Detecting as two elements included in a plurality of elements
該検出された2つのエレメントの座標に基づいて、上記パターンを構成する複数のエレメントのうちの上記2つのエレメントを除いた残りのエレメントの位置を求める手順と、A procedure for obtaining the positions of the remaining elements excluding the two elements of the plurality of elements constituting the pattern based on the coordinates of the detected two elements;
該求められた位置で上記残りのエレメントを検出する手順と、Detecting the remaining elements at the determined position;
上記の検出された2つのエレメントと残りのエレメントに基づいて上記パターンを検索する手順とA procedure for searching for the pattern based on the two detected elements and the remaining elements;
をコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータCharacterized in that a program for causing a computer to execute the program is recorded 読み取り可能な記録媒体。A readable recording medium.
上記残りのエレメントの位置を求める手順において、さらに、上記検出された2つのエレメントの座標を入れ換えて残りのエレメントの位置を求めることにより、入れ換える前のエレメント座標に基づいて求められるパターンを180°回転して配置したパターンにおける残りのエレメントの位置を求めることを特徴とする請求項5記載の記録媒体。In the procedure for obtaining the position of the remaining element, the pattern obtained based on the element coordinates before the replacement is rotated by 180 ° by replacing the coordinates of the two detected elements and determining the position of the remaining element. 6. The recording medium according to claim 5, wherein the positions of the remaining elements in the arranged pattern are obtained.
JP09206199A 1999-03-31 1999-03-31 Image processing apparatus, image processing method, and recording medium recording image processing program Expired - Fee Related JP3675217B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP09206199A JP3675217B2 (en) 1999-03-31 1999-03-31 Image processing apparatus, image processing method, and recording medium recording image processing program
US09/538,743 US6788829B1 (en) 1999-03-31 2000-03-30 Image processing apparatus and method for recognizing specific pattern and recording medium having image processing program recorded thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09206199A JP3675217B2 (en) 1999-03-31 1999-03-31 Image processing apparatus, image processing method, and recording medium recording image processing program

Publications (2)

Publication Number Publication Date
JP2000285238A JP2000285238A (en) 2000-10-13
JP3675217B2 true JP3675217B2 (en) 2005-07-27

Family

ID=14043978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09206199A Expired - Fee Related JP3675217B2 (en) 1999-03-31 1999-03-31 Image processing apparatus, image processing method, and recording medium recording image processing program

Country Status (1)

Country Link
JP (1) JP3675217B2 (en)

Also Published As

Publication number Publication date
JP2000285238A (en) 2000-10-13

Similar Documents

Publication Publication Date Title
US6643400B1 (en) Image processing apparatus and method for recognizing specific pattern and recording medium having image processing program recorded thereon
US5077811A (en) Character and picture image data processing system
JP5042562B2 (en) Image processing apparatus, handwritten information recognition method, handwritten information recognition program
JP6584076B2 (en) Information processing apparatus, information processing method, and computer program
JP2008158774A (en) Image processing method, image processing device, program, and storage medium
US11106857B2 (en) Computer readable recording medium, information processing terminal device, and control method of information processing terminal device
JP5111055B2 (en) Image processing apparatus, image processing method, and computer program
CN106373154B (en) Image processing apparatus and image processing method
US20120120099A1 (en) Image processing apparatus, image processing method, and storage medium storing a program thereof
US6788829B1 (en) Image processing apparatus and method for recognizing specific pattern and recording medium having image processing program recorded thereon
JP5315075B2 (en) Image processing apparatus, image processing apparatus control method, and program
JP3675217B2 (en) Image processing apparatus, image processing method, and recording medium recording image processing program
JP3757673B2 (en) Image processing apparatus, image processing method, and recording medium recording image processing program
JP4321251B2 (en) Apparatus and method for generating and displaying composite image
JP2000285239A (en) Method and device for picture processing and recording medium with picture processing program recorded
JP7310151B2 (en) Mark selection device and image processing device
JP2000285237A (en) Method and device for picture processing and recording medium with picture processing program recorded
JP2686479B2 (en) Graphic identification code input device
JP2000285240A (en) Image processor, image processing method and recording medium in which image processing program is recorded
JP2838556B2 (en) Image processing device
JP2023124515A (en) Image processing apparatus, image processing method, and program
JP2020135022A (en) Image processor, image processing method, and program
CN113259533A (en) Information processing apparatus, recording medium, and information processing method
JP2005167481A (en) Image processor, image processing program and method
JPH10289288A (en) Method and device for image processing

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050127

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050127

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees