(57)【要約】  【課題】複数の色あるいは輝度を含む図形や画像でも精度の高い図形や画像を少ないデータ容量で、かつ、高速に処理できるディジタル画像の輪郭追跡手法を提案する。  【解決手段】画像処理装置によりディジタル画像の輪郭を追跡し画像領域を把握して輪郭情報を生成する画像処理方法であって、入力されたディジタル画像について、出発点の進行方向両端の画素の色と同じ画素の境界辺を追跡する輪郭追跡を行って輪郭線分を抽出する輪郭線分処理を行い、抽出された前記輪郭線分に関して分岐処理及び合成処理を行い、該輪郭線分の結合で決まる輪郭を形成して前記ディジタル画像の輪郭情報を生成する。【選択図】  図３
2006031245.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置によりディジタル画像の輪郭を追跡し画像領域を把握して輪郭情報を生成する画像処理方法であって、
入力されたディジタル画像について、出発点の進行方向両端の画素の色差と同じ画素の境界辺を追跡する輪郭追跡を行って輪郭線分を抽出する輪郭線分処理を行い、
抽出された前記輪郭線分に関して分岐処理及び合成処理を行い、該輪郭線分の結合で決まる輪郭を形成して前記ディジタル画像の輪郭情報を生成する、
ことを特徴とする画像処理方法。
【請求項２】
請求項１において、前記輪郭線分処理において、前記画素の色が３色以上で会合する点を前記輪郭線分の端点とする、ことを特徴とする画像処理方法。
【請求項３】
請求項１または２において、対象とする前記画像を含む領域の任意の点から、水平方向あるいは垂直方向に走査し、前記画像の左右あるいは上下の色差が異なる画素点を見出し、その点を出発点として輪郭線分の追跡を行い、３色以上の画素の会合点を探索し、該会合点を前記輪郭線分の端点の初期値とすることを特徴とする画像処理方法。
【請求項４】
請求項１ないし３のいずれかにおいて、前記分岐処理は、輪郭線分の端点で、分岐方向を未追跡方向と追跡済み方向として個々にメモリ領域に登録し、
該メモリ領域の未追跡方向を参照してその一つを輪郭追跡の開始端点として輪郭追跡を実施し、
追跡完了時に追跡済み方向として前記メモリ領域に登録し、
新規な分岐点を見出したとき未追跡方向として前記メモリ領域に登録することを特徴とする画像処理方法。
【請求項５】
請求項４において、前記輪郭線分合成処理は、追跡済みの輪郭線分を前記メモリ領域から読み出し、
異なる輪郭線分の同一端点を接合して輪郭の結合を行うことを特徴とする画像処理方法。
【請求項６】
請求項５において、輪郭の合成により閉領域が形成されたとき、その領域を一つの画像領域として前記メモリに登録することを特徴とする画像処理方法。
【請求項７】
請求項１ないし６のいずれかにおいて、与えられた前記画像の領域認識の基準となる画素の色の差あるいは輝度の差に基いて、前記輪郭線分処理を行うことを特徴とする画像処理方法。
【請求項８】
請求項１ないし７のいずれかにおいて、前記輪郭追跡により生成された前記輪郭情報に基づき、画像領域の輪郭を近似して表す関数形式およびパラメータを生成し、該関数形式およびパラメータにより図形もしくは画像を生成することを特徴とする画像処理方法。
【請求項９】
輪郭追跡部によりディジタル画像の輪郭を追跡し画像領域を把握して輪郭情報を生成する画像処理装置であって、
前記輪郭追跡部は、入力されたディジタル画像について、出発点の進行方向両端の画素の色差と同じ画素の境界辺を追跡して輪郭線分を抽出する輪郭線追跡処理部と、
抽出された前記輪郭線分に関して分岐処理及び合成処理を行い、該輪郭線分の結合で決まる輪郭を形成して前記ディジタル画像の輪郭情報を生成する領域輪郭形成部、とを備えていることを特徴とする画像処理装置。
【請求項１０】
請求項９において、前記輪郭線追跡処理部は、対象とする前記画像を含む領域の任意の点から、水平方向あるいは垂直方向に走査し、前記画像の左右あるいは上下の色が異なる画素点を見出し、その点を出発点として輪郭線分の追跡を行い、３色以上の画素の会合点を探索し、該会合点を前記輪郭線分の端点の初期値とすることを特徴とする画像処理装置。  
【請求項１１】
請求項９または１０において、前記領域輪郭形成部は、分岐処理において、輪郭線分の端点で、分岐方向を未追跡方向と追跡済み方向として個々にメモリ領域に登録し、該メモリ領域の未追跡方向を参照してその一つを輪郭追跡の開始端点として輪郭追跡を実施し、追跡完了時に追跡済み方向として前記メモリ領域に登録し、新規な分岐点を見出したとき未追跡方向として前記メモリ領域に登録する機能を有することを特徴とする画像処理装置。
【請求項１２】
請求項９ないし１１のいずれかにおいて、前記輪郭追跡により生成された前記輪郭情報に基づき画像領域の輪郭を近似して表す関数形式およびパラメータを生成する関数近似部と、該関数形式およびパラメータにより図形もしくは画像を生成する図形処理部とを備えていることを特徴とする画像処理装置。
【請求項１３】
コンピュータを備えた画像処理装置において入力されたディジタル画像の輪郭を追跡し画像領域を把握し輪郭情報を生成するためのプログラムであって、
コンピュータに、
入力されたディジタル画像について、出発点の進行方向両端の画素の色差と同じ画素の境界辺を追跡する輪郭追跡を行って輪郭線分を抽出する輪郭線分処理を行う機能と、
抽出された前記輪郭線分に関して分岐処理及び合成処理を行い、該輪郭線分の結合で決まる輪郭を形成して前記ディジタル画像の輪郭情報を生成する機能、とを実現させるためのプログラム。
【請求項１４】
コンピュータを備えた画像処理装置において入力されたディジタル画像の輪郭を追跡し画像領域を把握し輪郭情報を生成するためのプログラムを保持した、コンピュータ読み取り可能な記録媒体であって、
コンピュータに、
入力されたディジタル画像について、出発点の進行方向両端の画素の色差と同じ画素の境界辺を追跡する輪郭追跡を行って輪郭線分を抽出する輪郭線分処理を行う機能と、
抽出された前記輪郭線分に関して分岐処理及び合成処理を行い、該輪郭線分の結合で決まる輪郭を形成して前記ディジタル画像の輪郭情報を生成する機能、とを実現させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法並びに画像処理装置に係り、特に、計算機で処理されるディジタル画像処理に不可欠な図形や画像（以下、特に区別する必要のないときは単に画像）の領域の輪郭を高精度に把握し、画像の拡大、縮小に対しても隣接図形や画像との関係を適切に保つ、ディジタル画像の輪郭追跡による画像処理方法並びに画像処理装置に関する。
【背景技術】
【０００２】
一般に、計算機（マイクロコンピュータやディジタルデータ処理機器を含む）の上で、図形や画像はディジタルデータとして扱われる。このような計算機上で扱われるディジタル画像を処理する場合、図形や色領域の認識などに対して、図形や画像領域の輪郭を把握することが行われる。しかし、隣接する図形や画像領域の輪郭を把握する際、輪郭の把握の方法によっては、重複して輪郭線を把握し、図形や画像領域の拡大、縮小において適切な関係を保つことができない場合がある。
【０００３】
また、画像データは大きく分けてラスタ形式と関数形式に分けられる。ラスタ形式の画像は、格子状に規則正しく並んだ画素と呼ばれる色のついた点の集合として表される。これは、現代のＣＲＴディスプレイやＬＣＤなどに表示するのに適した形式である。しかし、拡大・縮小・回転・平行移動などのアフイン変換操作を行うと画質が劣化してしまう問題がある。これに対し、関数形式は画像の中の図形や画像領域の特徴を関数によって表すため、単純な図形や画像領域を表現するのに適しており、アフイン変換によって画質が劣化しないと言う性質を持っている。
【０００４】
ところが、関数形式で表した方が都合がよい図形や画像でも、スキャナやディジタルカメラなどの装置を通じて計算機に取り込んだ場合ラスタ形式になってしまうことが多い。従来、このようなラスタ形式の図形や画像は手動で適切な関数を割り当てて関数形式に変換する作業を行うが、熟練が必要であり多くの手間もかかる。そのため、これらのラスタ形式の図形や画像を自動的に関数形式に変換する必要が生じる。ラスタ形式の図形や画像を自動的に関数形式の図形や画像に変換する手法は従来でも提案されているが、後で述べるようにカラー図形や画像を扱う際に色の境界を適切に扱えない場合がある。
【０００５】
一方、特許文献１には、画像の領域の境界線を求める領域境界線抽出機構により、領域境界線を表現するための座標を設定するものにおいて、画素の４隅を座標点とすることが開示されている。
【０００６】
なお、前記した画像データから抽出された輪郭線データから関数形式の図形や画像に変換する手法については、例えば特許文献２に開示されている。
【０００７】
【特許文献１】特開平１０−１４５５９０号公報
【特許文献２】特開２００１−５２１８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図１０に、従来技術の関数形式により図形の輪郭を把握する一例を示す。  
従来の手法では、２値画像に対する輪郭追跡手法を多色画像に適用するため、図１０のように図形や画像中のある色や輝度が連続して現れる領域（以降、色領域と記す）だけに注目し、その領域の中を図、外を地とみなし、２値画像として輪郭追跡を行っていた。  
しかし、この従来手法では、２つの色領域が接する場所で輪郭線が２重に取られてしまうことに起因する２つの問題がある。１つは、図１１のように、輪郭線の関数近似を行うと双方の領域の輪郭線の近似誤差によって領域が重なったり隙間が開いたりしてしまう場合がある事である。２つめは、同じ輪郭線が２回処理されることで、処理時間と格納効率が低下する事である。
【０００９】
一方、前記特許文献１に記載の方式は、カラー／濃淡画像において、濃淡差を利用して領域抽出を行い、その領域の境界を関数近似により圧縮、復号化を行っている。濃淡差は、所定の差分以内の画素を同一領域内とし、差分が所定の値よりも大きいところを領域の境界としている。従って、特許文献１記載の発明では、同一の領域と判断する濃淡差を入力し、画像を画素単位に水平方向（ラスタースキャン）に走査し、その濃淡差が所定値よりも大きいところを境界点として記憶しておき、全画像について境界点を抽出する。その後、境界点を繋ぐことで領域を決定する。
【００１０】
この特許文献１記載の発明のように、画像を水平方向に走査し、その濃淡差が所定の値よりも大きいところを境界点とする方法では、境界線が水平方向の走査線と並行の場合にはこれを検出できない可能性がある。つまり、水平方向の画素の濃淡差のみを判定するため水平方向の濃淡差が無いと、境界線を検出できない。また、境界点を見出してもその境界点の繋がり方向が判らないため、別途、境界線の追跡が必要となる。
【００１１】
さらに、特許文献１の発明では、２つ以上の領域が接合する場合、その接合点を分割点と定義しているが、この分割点の抽出は、境界点を２＊２画素（４画素で構成される）の窓関数で走査し、窓内の４画素の色（濃淡）が３色以上となったところを分割点としている。この方式では、分割点の抽出に窓関数を用いて走査する必要があるため、処理に時間を要する。
【００１２】
本発明は、従来技術の問題点を改善し、特に複数の色あるいは輝度を含む図形や画像でも精度の高い図形や画像を少ないデータ容量で、かつ、高速に処理できるディジタル画像の輪郭追跡手法を提案することを目的とする。
【課題を解決するための手段】
【００１３】
上記従来技術の問題点を解決するため、本発明は、以下のような特徴を有する。
【００１４】
本発明の１つの特徴は、画像処理装置によりディジタル画像の輪郭を追跡し画像領域を把握して輪郭情報を生成するものにおいて、入力されたディジタル画像について、出発点の進行方向両端の画素の色と同じ関係の画素（あるいは色差が所定の値以上の画素）の境界辺を追跡する輪郭追跡を行って輪郭線分を抽出する輪郭線分処理を行い、抽出された前記輪郭線分に関して分岐処理及び合成処理を行い、該輪郭線分の結合で決まる輪郭を形成して前記ディジタル画像の輪郭情報を生成することにある。
【００１５】
本発明の他の特徴は、対象とする前記画像を含む領域の任意の点から、水平方向あるいは垂直方向に走査し、前記画像の左右あるいは上下の色が異なる画素点あるいは色差（階調差）が所定の値以上ある画素点を見出し、その点を出発点として輪郭線分の追跡を行い、３色以上の画素の会合点を探索し、該会合点を前記輪郭線分の端点の初期値とすることにある。
本発明の他の特徴は、輪郭線を３色以上あるいは３種以上の輝度が会合する点で輪郭の追跡を一度打ち切り、２色あるいは２輝度の境界ごとに輪郭線を取ることで、隣接する２つの領域が輪郭線データを共有できるようにすることにある。
【発明の効果】
【００１６】
本発明によれば、色差（濃淡差）を領域認識の基準として、与えられたディジタル画像について先ず画素間を追跡して輪郭線を取り、隣接する２つの領域が輪郭線データを共有できるようにし、この輪郭線データに基づいて輪郭情報を生成する。輪郭線データが共有されることにより、異なる関数で近似されることも無くなり、拡大、縮小、移動などにおいて図形が離れるなどの従来手法の課題を解決し、データの処理効率・格納効率の低下を防止出来る。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施例を説明する。まず、本発明の基本的な構成を図１及び図２で説明する。
本発明では、入力されたカラー画像データを２次元のビットマップに配列する。一方、領域認識の基準となる色差（濃淡差）を設定する。そして、このビットマップ配列されたディジタル画像データに関して、その色差（濃淡差）が隣り合う画素間で同じ所を境界として追跡し、追跡の結果、閉領域が出来れば、その領域を一つの領域として認識する。輪郭線を３色以上あるいは３種以上の輝度が会合する点で輪郭の追跡を一度打ち切り、２色あるいは２輝度の境界ごとに輪郭線を取る。このような処理を繰り返すことで、図１のように、隣接する２つの領域が輪郭線データを共有できるようにする。また、図２のように、２領域の輪郭辺を共有するために、画像の輪郭線データは各画素の角を輪郭の座標値（Ｘ＝１，Ｙ＝０）、（Ｘ＝１，Ｙ＝１）、（Ｘ＝２，Ｙ＝１）、−−、（Ｘ＝ｍ，Ｙ＝ｎ）として用いる。
【００１８】
本発明の理解を深めるために、より具体的な実施例を用いて説明する。  
図３は、本発明の対象となる図形処理や画像処理を行う画像処理装置の一構成例である。処理装置は、例えばＣＰＵやメモリ、入出力手段などを有するコンピュータで構成され、メモリ上にプログラムをロードして実行させることにより、図形や画像処理に対する処理を行う機能を備えている。図３にこの処理装置の機能をブロック的に表示する。
【００１９】
図３において、１００は画像データの入力部であり、画像データ（カラー図形、カラー写真や絵、カラー文書等）をイメージスキャナーにより読み取りディジタル情報として処理装置へ読み込む機能や、既にディジタル情報として記録媒体や他の処理装置等に保持されている情報を直接あるいは通信ネットワークを介して処理装置へ読み込む機能を有している。１５０は処理装置へ読み込まれたディジタル画像データを示す。
【００２０】
２００は輪郭追跡処理部であり、画素の辺の追跡処理、すなわち読み込まれたデータ１５０の図形や画像の色領域の輪郭追跡を行う。２５０はその処理結果である輪郭情報を示す。この輪郭情報２５０は、例えば、画像の輪郭に関し、Ｘ座標、Ｙ座標ごとに輪郭に沿った座標値を表すデータ（Ｘ座標＝１，１，２，−，ｍ、Ｙ座標＝０、１，１、−，ｎ）を含んでいる。
【００２１】
３００は輪郭情報２５０に基づき、輪郭すなわち色領域の境界を関数近似により関数化する関数近似処理部、３５０はその処理結果として得られる図形や画像領域の輪郭を表す関数形式およびパラメータである。また、４００は、上記関数形式およびパラメータ３５０により図形や画像を生成する画像処理部であり、その処理結果として処理図形や処理画像４５０を生成する。５００は、表示装置やプリンタなどの出力部である。出力部５００には、処理図形や処理画像を記録媒体に記録しあるいはネットワークを介して他の処理装置へ送信する手段も含まれる。処理図形や処理画像４５０の段階で記録媒体に記録して、利用することも考えられる。
【００２２】
なお、関数近似処理部３００や画像処理部４００の処理、すなわち画像データから抽出された輪郭線データを関数形式の図形や画像に変換処理については、例えば前記特許文献２に開示された手法を用いることができる。よって、以下では、これらの処理についての詳細説明は省略する。
【００２３】
図４Ａは、図３の輪郭追跡処理部２００の具体的構成例を示す。２１０は画像データの入力部であり、内部に図形データ、画像データを格納するメモリを含む。入力部２１０は、読み込んだデータを２次元のビットマップに配列する機能を持っており、画像データは２次元のビットマップに配列される。２２０は輪郭線追跡部であり、前記データ入力部のメモリの内容を読み出して、画素単位での輪郭線分の追跡を実施する。すなわち、ビットマップ配列された画像データに関して、その色差（濃淡差）が隣り合う画素間で所定値以上の所を境界として追跡する。２３０は輪郭線分結合分岐処理部であり、輪郭線分に分岐点があるときの処理および輪郭線分の結合処理を行う。２４０は領域輪郭形成部であり、輪郭線分の結合で決まる図形や画像を囲む領域の輪郭を形成し、輪郭情報２５０を生成し、出力する。なお、輪郭追跡処理部２００の機能は、上記２１０〜２４０で示した区分に限定されるものではなく、全体として１つあるいは複数のプログラムにより、実現される。例えば輪郭線追跡部２２０と輪郭線分結合分岐処理部２３０は、連続した一連の輪郭線追跡処理を行う単一のプログラムで構成してもよい。これらのプログラムは、記録媒体に保持されているものをコンピュータで読み取り、あるいは、コンピュータの記憶装置に保持されているものをメモリに読み出して実行される。
【００２４】
図４Ｂは、図４Ａの構成をより具体的に示した機能ブロック図であり、データ入力部２１０は、ＡＤ変換器２１１、画像データ入力部２１２、画像データ２次元配列部２１３、画像データメモリ格納機能２１４を有している。２１６は画像メモリである。２１８は、画像の領域認識の基準となる画素の色の差あるいは輝度の差を与える濃淡差設定部である。例えばＲ，Ｇ，Ｂ各８ビット２５６階調、合計約１６万色余の色表現の範囲内で識別すべき色差（濃淡差）を領域認識の基準として適宜設定する。具体的には、自然画像のＲ，Ｇ，Ｂ各色信号に対して、境界と認識される輝度階調差、例えば５０階調差あるいは１００階調差を与える。これにより、例えば、隣り合う画素の階調レベル差が設定された階調差以上のとき、その画素間が境界であると判断できる。輝度信号（Ｙ信号）に対しても同様である。
【００２５】
なお、本発明では、輪郭線を挟む画素の色関係、色差、階調差、輝度差を含めて、単に色差として説明する。なお、本発明で扱う画像としては、２値画像、多色画像、自然画像があり、多色画像においてはグラディエーション画像も含む。このような画像に対しての色差は色階調の差として現れることは言うまでもない。また、画像信号として、ＲＧＢ信号のほか、輝度信号 （Ｙ信号）と色差信号（Ｃｒ，Ｃｂ信号）の組合せなどがあるが、本発明においては、これら全ての信号のレベルの差を色差として扱っている。
【００２６】
輪郭線追跡部２２０は、画像データ読出し部２２１と、輪郭線分抽出部２２２とを有している。なお、これらの各機能部は、１つあるいは複数のプログラムにより、実現される。
【００２７】
輪郭線分処理では、画素の色が３色、換言すると濃淡差設定部で設定された色差（濃淡差）が３つ以上で会合する点を輪郭線分の端点とする。また、輪郭追跡処理の出発点の進行方向両端の画素の色または色差と同じ関係の画素、あるいは所定の値以上の関係の画素の境界辺を追跡する。この輪郭線分の端点の初期値は、対象とする画像を含む領域の任意の点から、水平方向あるいは垂直方向に走査し、画像の左右あるいは上下の色が異なる画素点を見出し、その点を出発点として、輪郭線分の追跡を行う。そして、３色以上の画素の会合点を探索し、該会合点を線分の端点の初期値とする。
【００２８】
輪郭線追跡部２２０はさらに、輪郭線分の端点で、分岐方向を未追跡方向と追跡済み方向として個々に登録するメモリ領域を有する。そして、このメモリ領域の未追跡方向を参照してその一つを輪郭追跡の開始端点として輪郭追跡を実施し、追跡完了時に追跡済み方向として前記メモリ領域に登録する。あるいは、新規な分岐点を見出したとき未追跡方向として前記メモリ領域に登録する。
【００２９】
図５は、多色画像の場合を示し、図４Ｂの輪郭線分抽出部２２２における輪郭追跡のアルゴリズム及び画素パターンを示す。輪郭追跡の原則は、出発点の画素における左右の画素の色あるいは輝度を記憶しておき（Ｓ５０１）、左右の画素の色あるいは輝度が同じであれば（画素パターン５１４）、その画素の境界を追跡する（Ｓ５０７、Ｓ５０８）。進行方向の左右の色あるいは輝度が前記記憶している出発点の色あるいは輝度と異なる場合、すなわち３色以上あるいは３種以上の輝度が会合する点の場合、一旦輪郭追跡を終了する（Ｓ５０２）。進行方向の左右の色あるいは輝度が出発点の左の画素の色あるいは輝度と同じであれば（画素パターン５１２）右方向に進行方向を転換し（Ｓ５０５、Ｓ５０６）、進行方向の左右の色あるいは輝度が出発点の右画素の色あるいは輝度と同じであれば（画素パターン５１０）左に進行方向を転換して（Ｓ５０３、Ｓ５０４）、常に進行方向の左右の画素の色あるいは輝度が出発点の記憶されている色あるいは輝度と同じとなるように輪郭追跡を行う。このようにして追跡した輪郭線の出発点と終了点および線分番号あるいは線分名称を線分リストとしてメモリに登録しておく。
【００３０】
このようにして登録された線分は、追跡した画素の座標を用いて多項式関数で近似される（図３、３００）。
【００３１】
図６は、図５の輪郭追跡のアルゴリズム、すなわちある点に繋がる全ての輪郭線を追跡し、３色以上あるいは３種以上の模様が会合する点を分岐点として、新たにその点から輪郭追跡を行い、領域の輪郭線分を形成する方法の具体例を示す。この例は、橙領域（中央部）を左上側の緑領域と右側及び下側の青領域とで囲んだ３色の矩形領域を多数持つ画像データを対象としている。なお、色差（濃淡差）が３つ以上ある画像データを含むものであれば、同様に処理される。この例では、図６（ａ）の黒丸点（１，１）を出発点とし、最初の進行方向を上方向とする。そして、出発点の進行方向両端の画素の色と同じ関係の画素の境界辺、即ち、右側が橙、左側が緑の関係にある画素の境界辺を追跡し、図６の（ｄ）に至る。以下、ステップごとに詳細に説明する。
【００３２】
（１）  図６の（ａ）に示すように、座標（１，１）の点から上向きに追跡を開始したとする。｛初期位置＝（１，１）、初期方向＝上｝
（２）  （１，１）を現在位置とし、上を進行方向とする。
また、左右前方の色をそれぞれ「左色」「右色」としてメモリに記憶する。
｛初期位置＝（１，１）、初期方向＝上、右色＝橙、左色＝緑、
現在位置＝（１，１）、進行方向＝上｝
【００３３】
（３）  現在位置を輪郭線に追加し、進行方向が上なので画像に多重追跡防止印を付ける。（これらの情報をメモリに記憶する。メモリには、未追跡方向、追跡済み方向の記号を羅列する。）
（４）  図６の（ｂ）に示すように、現在位置を進行方向に１画素進める。
｛初期位置＝（１，１）、初期方向＝上、右色＝橙、左色＝緑、
現在位置＝（１，２）、進行方向＝上｝
【００３４】
（５）  現在位置から進行方向を見て左右前方の色をそれぞれ、「左次色」「右次色」とする。
｛初期位置＝（１，１）、初期方向＝上、右色＝橙、左色＝緑、
現在位置＝（１，２）、進行方向＝上、右次色＝緑、左次色＝緑｝
（６）  図５のパターン５１２を参照して、図６の（ｃ）に示すように、次の進行方向を右にする。
｛初期位置＝（１，１）、初期方向＝上、右色＝橙、左色＝緑、
現在位置＝（１，２）、進行方向＝右、右次色＝緑、左次色＝緑｝
【００３５】
（７）  現在の進行方向は初期方向に一致しないので、（３）に戻る。
（３−２）  現在位置を輪郭線に追加する。（この情報をメモリに記憶する。）
（４−２）  図６の（ｄ）に示すように、現在位置を進行方向に１画素進める。
｛初期位置＝（１，１）、初期方向＝上、右色＝橙、左色＝緑、
現在位置＝（２，２）、進行方向＝右、右次色＝緑、左次色＝緑｝
（５−２）  現在位置から進行方向を見て左右前方の色をそれぞれ、「左次色」「右次色」とする。
｛初期位置＝（１，１）、初期方向＝上、右色＝橙、左色＝緑、
現在位置＝（２，２）、進行方向＝右、右次色＝青、左次色＝青｝
（６−２）  図５のパターンを参照すると、右次色も左次色も右色でも左色でもないので追跡を停止し、（９）へ飛ぶ。
（９）  輪郭の分岐を検出したので分岐の方向（左、上、下）と分岐の数（３）を返して終了する。特に、今追跡した経路への分岐を先頭にして、時計回りに全ての分岐を列挙する。
【００３６】
本発明によれば、濃淡差を持つ画素間を先ず追跡し、境界とその繋がりを認識している。境界が水平方向あるいは垂直方向であっても関係なく正確にこの境界が見出すことが可能である。また、方向を判断しながら追跡しているため、確実に境界を見出すことが可能となる。
【００３７】
また、本発明では、輪郭線の追跡過程で常に周囲の４画素の濃淡差を判断しながら追跡を進行させている。従って、窓関数が必要なく、窓関数による走査も必要がない。そのため、分割点の抽出と境界の抽出が同時に行われ、処理速度の向上が図られる。
【００３８】
次に、図７は、輪郭線分結合分岐処理部２３０の処理、すなわち、画素の境界を追跡して得られた輪郭線分に、分岐点があるときの処理および輪郭線分の結合処理を行う方法の具体例を示す図である。
【００３９】
まず、領域の外周の適当な１点から輪郭を追跡する（Ｓ７０１）。
領域が一周して閉じているか判断し（Ｓ７０２）、閉じていれば終了する（Ｓ７０３）。閉じていない場合、終端と見つかった分岐を分岐リストに追加する（Ｓ７０４）。分岐リストが空になるまで以下を繰り返す（Ｓ７０５）。
分岐リストの１つの要素を取り出して追跡する（Ｓ７０６）。終端が既に分岐リストにあれば（Ｓ７０７）、分岐リストから削除する（Ｓ７０８）。終端が分岐リストになければ（Ｓ７０９）、新たに発見された分岐を分岐リストに追加する（Ｓ７１０）。
【００４０】
図７の処理手順をより具体的に説明するために、以下、図８Ａの例により図形の輪郭追跡について述べる。なお、図８Ａは、後で述べる図９の領域輪郭形成処理の手順を示す図８Ｂと共に、図形の輪郭追跡処理から領域輪郭形成処理間での処理を、連続した一連の処理として説明する。また、この例は、青と赤の２色の領域及び白色の背景を持つ３色の画像データを対象としている。
【００４１】
（１）画像を走査し、画素の色が左右で異なる点を見つける。（図８Ａの（ａ）参照）
（２）見つけた点から輪郭の追跡を行う。
（３）分岐数が０でないので次に進む。
分岐数が０となるのは他の領域の輪郭と接していない独立した領域の輪郭線を追跡した場合である。
（４）末端の分岐（図８Ａの（ｂ）参照）をメモリ中の「未追跡分岐リスト」に、登録する（図７のステップ７０４に相当）。
｛未追跡分岐リスト＝｛Ａ，Ｂ，Ｃ｝｝
（５）未追跡分岐リストから分岐Ａを取り出して輪郭追跡をする（図７のステップ７０６に相当）。
｛未追跡分岐リスト＝｛Ｂ，Ｃ｝｝
（６）追跡の開始点Ａと終了点Ｄをメモリ中の「追跡済み分岐集合」に登録する。
｛未追跡分岐リスト＝｛Ｂ，Ｃ｝、追跡済み分岐集合＝｛Ａ，Ｄ｝｝
（７）追跡の終了点Ｄは未追跡分岐リストにないので、発見された新しい分岐Ｅ，Ｆを、未追跡分岐リストに追加する（図８Ａの（ｃ）参照）、（図７のステップ７０９に相当）。
｛未追跡分岐リスト＝｛Ｂ，Ｃ，Ｅ，Ｆ｝、追跡済み分岐集合＝｛Ａ，Ｄ｝｝
（８）未追跡分岐リストは空ではないので、（５）に戻る。
（５）未追跡分岐リストからＢを取り出して輪郭追跡をする。（図８Ａの（ｄ）参照）
｛未追跡分岐リスト＝｛Ｃ，Ｅ，Ｆ｝、追跡済み分岐集合＝｛Ａ，Ｄ｝｝
（６）追跡の開始点Ｂと終了点Ｅを追跡済み分岐集合に登録する。
｛未追跡分岐リスト＝｛Ｃ，Ｅ，Ｆ｝、追跡済み分岐集合＝｛Ａ，Ｄ，Ｂ，Ｅ｝｝
（７）追跡の終了点Ｅは未追跡分岐リストに有るのでリストから削除する。
｛未追跡分岐リスト＝｛Ｃ，Ｆ｝、追跡済み分岐集合＝｛Ａ，Ｄ，Ｂ，Ｅ｝｝
（８）未追跡分岐リストは空ではないので（５）に戻る。
（５）未追跡分岐リストからＣを取り出して輪郭追跡をする。（図８Ａの（ｅ）参照）
｛未追跡分岐リスト＝｛Ｆ｝、追跡済み分岐集合＝｛Ａ，Ｄ，Ｂ，Ｅ｝｝
（６）追跡の開始点Ｃと終了点Ｆを追跡済み分岐集合に登録する。（図８Ａの（ｆ）参照）
｛未追跡分岐リスト＝｛Ｆ｝、追跡済み分岐集合＝｛Ａ，Ｄ，Ｂ，Ｅ，Ｃ，Ｆ｝｝
（７）追跡の終了点Ｆは未追跡分岐リストに有るのでリストから削除する。
｛未追跡分岐リスト＝｛｝、追跡済み分岐集合＝｛Ａ，Ｄ，Ｂ，Ｅ，Ｃ，Ｆ｝｝
（８）未追跡分岐リストが空なので次に進む。
【００４２】
次に、図９及び図８Ｂにより、領域輪郭形成部２４０の処理、すなわち上記輪郭線分結合分岐処理の結果を受けて、領域の輪郭を形成し輪郭情報２５０を生成する処理の手順を説明する。
まず、図９において、領域輪郭形成処理の手順を説明する。
最初に、全輪郭線分への順方向と逆方向のポインタのリストを作る（Ｓ９０１）。次に、以下の処理を、線分リストが空になるので反復する（Ｓ９０２）。
線分リストの１つの要素を取り出して注目する（Ｓ９０３）。注目線分が最初に注目した線分に戻るまで、以下の（ａ）、（ｂ）を反復する（Ｓ９０４）。
（ａ）注目している線分を線分リストから削除する（Ｓ９０５）。
（ｂ）注目線分の終端の分岐で時計回りに最も近い線分に注目する（Ｓ９０６）。
注目した順に線分を繋いで閉じた輪郭を作る（Ｓ９０７）。
【００４３】
次に、上記図９の処理手順を、図８Ｂを用いてより具体的に説明する。
（９）新規の「領域Ｘ」を定義する。（図８Ｂの（ａ）参照）
｛領域Ｘ＝｛｝、追跡済み分岐集合＝｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ｝｝
（１０）追跡済み分岐集合の中からＡを取り出し、注目する。
｛領域Ｘ＝｛｝、追跡済み分岐集合＝｛Ｂ，Ｃ，Ｄ，Ｅ，Ｆ｝、注目＝Ａ｝
（１１）注目している分岐Ａから伸びる輪郭線分ＡＤを領域Ｘに追加する。
｛領域Ｘ＝｛ＡＤ｝、追跡済み分岐集合＝｛Ｂ，Ｃ，Ｄ，Ｅ，Ｆ｝、注目＝Ａ｝
（１２）注目している分岐Ａから追跡した輪郭の終端の分岐で、反時計回りに最も近い分岐Ｅに注目する。
｛領域Ｘ＝｛ＡＤ｝、追跡済み分岐集合＝｛Ｂ，Ｃ，Ｄ，Ｆ｝、注目＝Ｅ｝
（１３）注目している分岐Ｅが（１０）で注目したＡと同一ではないので、（１１）に戻る。
（１１）注目している分岐Ｅから伸びる輪郭線分ＥＢを領域Ｘに追加する。
｛領域Ｘ＝｛ＡＤ，ＥＢ｝、追跡済み分岐集合＝｛Ｂ，Ｃ，Ｄ，Ｆ｝、注目＝Ｅ｝
（１２）注目している分岐Ｅから追跡した輪郭の終端の分岐で、反時計回りに最も近い分岐Ａに注目する。
｛領域Ｘ＝｛ＡＤ，ＥＢ｝、追跡済み分岐集合＝｛Ｂ，Ｃ，Ｄ，Ｆ｝、注目＝Ａ｝
（１３）注目している分岐Ａが（１０）で注目したものと同一なので次に進む。
（１４）領域Ｘを保存し、追跡済み分岐リストが空ではないので、（９）に戻る。
【００４４】
（９）新規の「領域Ｙ」を定義する。（図８Ｂの（ｂ）参照）
｛領域Ｙ＝｛｝、追跡済み分岐集合＝｛Ｂ，Ｃ，Ｄ，Ｆ｝｝
（１０）追跡済み分岐集合から分岐Ｂを取り出し、注目する。（図８Ｂの（ｃ）参照）
｛領域Ｙ＝｛｝、追跡済み分岐集合＝｛Ｃ，Ｄ，Ｆ｝、注目＝Ｂ｝
（１１）注目している分岐Ｂから伸びる輪郭線分ＢＥを領域Ｙに追加する。
｛領域Ｙ＝｛ＢＥ｝、追跡済み分岐集合＝｛Ｃ，Ｄ，Ｆ｝、注目＝Ｂ｝
（１２）注目している分岐Ｂから追跡した輪郭の終端の分岐で、反時計回りに最も近い分岐Ｆに注目する。
｛領域Ｙ＝｛ＢＥ｝、追跡済み分岐集合＝｛Ｃ，Ｄ｝、注目＝Ｆ｝
（１３）注目している分岐Ｆが（１０）で注目したＢと同一ではないので、（１１）に戻る。
（１１）注目している分岐Ｆから伸びる輪郭線分ＦＣを領域Ｙに追加する。
｛領域Ｙ＝｛ＢＥ，ＦＣ｝、追跡済み分岐集合＝｛Ｃ，Ｄ｝、注目＝Ｆ｝
（１２）注目している分岐Ｆから追跡した輪郭の終端の分岐で、反時計回りに最も近い分岐Ｂに注目する。（図８Ｂの（ｄ）参照）
｛領域Ｙ＝｛ＢＥ，ＦＣ｝、追跡済み分岐集合＝｛Ｃ，Ｄ｝、注目＝Ｂ｝
（１３）注目している分岐Ｂが（１０）で注目したものと同一なので次に進む。
（１４）領域Ｙを保存し、追跡済み分岐リストが空でないので、（９）に戻る。
【００４５】
（９）新規の「領域Ｚ」を定義する。
｛領域Ｚ＝｛｝、追跡済み分岐集合＝｛Ｃ，Ｄ｝｝
（１０）追跡済み分岐集合から分岐Ｃを取り出し、注目する。
｛領域Ｚ＝｛｝、追跡済み分岐集合＝｛Ｄ｝、注目＝Ｃ｝
（１１）注目している分岐Ｃから伸びる輪郭線分ＣＦを領域Ｚに追加する。（図８Ｂの（ｅ）参照）
｛領域Ｚ＝｛ＣＦ｝、追跡済み分岐集合＝｛Ｄ｝、注目＝Ｃ｝
（１２）注目している分岐Ｃから追跡した輪郭の終端の分岐で、反時計回りに最も近い分岐Ｄに注目する。
｛領域Ｚ＝｛ＣＦ｝、追跡済み分岐集合＝｛｝、注目＝Ｄ｝
（１３）注目している分岐Ｄが  （１０）で注目したＣと同一ではないので、（１１）に戻る。
（１１）注目している分岐Ｄから伸びる輪郭線分ＤＡを領域Ｚに追加する。
｛領域Ｚ＝｛ＣＦ，ＤＡ｝、追跡済み分岐集合＝｛｝、注目＝Ｄ｝
（１２）注目している分岐Ｄから追跡した輪郭の終端の分岐で、反時計回りに最も近い分岐Ｃに注目する。
（１３）注目している分岐Ｃが（１０）注目したものと同一なので次に進む。
（１４）領域Ｚを保存し、追跡済み分岐リストが空なので次に進む。（図８Ｂの（ｆ）参照）  
（１５）最初に登録した領域Ｘは図形の外部を表すので破棄する。
（１６）  図７の処理の例（１）に戻る。
（１）  画像を最後まで走査して、追跡していない輪郭線が見付からないため終了する。
【００４６】
以上の方法により、全ての領域は一つの輪郭線で囲まれ、且つ各輪郭線は隣接する領域に共有された線分として扱われる。このようにして生成された輪郭情報２５０は、その後の処理における図形の拡大、縮小、移動などの処理において、領域が離れることなく、従来手法の課題を完全に解決することができる。
【００４７】
本発明によれば、ディジタル画像について、出発点の進行方向両端の画素の色と同じ関係の画素あるいは色差が所定値以上の画素の境界辺を追跡する輪郭追跡を行って輪郭線分を抽出する。そして、輪郭線を３色以上が会合する点で輪郭の追跡を一度打ち切り、２色の境界ごとに輪郭線を取ることで、隣接する２つの領域が輪郭線データを共有できるようにする。輪郭線データが共有されることにより、異なる関数で近似されることも無くなり、データの処理効率・格納効率の低下を防止出来る。
【００４８】
また、本発明では、輪郭線分の始端、終端、分岐点を端点として輪郭線分を抽出し、輪郭線分の接続状態を分岐点を経由しながら追跡し、閉ループを形成するか否かを判断して領域を抽出する。最外周の輪郭線は内周の領域の輪郭線と共通となる場合があり、その場合は輪郭線の内周側を採用する処理を行う。これにより、各領域は一本の輪郭線で囲まれた部分のみとなり、２重に囲まれることはない。
【００４９】
また、本発明によれば、濃淡差を持つ画素間を先ず追跡し、特許文献１で言う境界点とその繋がりを認識している。本発明によれば、濃淡差を持つ画素間を追跡するので、境界線が水平方向あるいは垂直方向であっても関係なく正確にこの境界線が見出すことが可能である。しかも方向を判断しながら追跡しているため、確実に境界を見出すことが可能となる。
【００５０】
また、本発明では、分割点の抽出と境界の抽出が同時に行われ、処理速度の向上が図られる。
【図面の簡単な説明】
【００５１】
【図１】本発明に基く図形の輪郭追跡例の説明図である。
【図２】本発明の基本となる座標点の取り方の説明図である。
【図３】本発明の対象となる図形処理や画像処理を行う画像処理装置の一構成例を示す図である。
【図４Ａ】図３の輪郭追跡処理部の具体的構成例を示す図である。
【図４Ｂ】図４Ａの構成をより具体的に示した機能ブロック図である。
【図５】図４Ｂの輪郭線分抽出部における輪郭追跡のアルゴリズム及び画素パターンを示す図である。
【図６】図５の輪郭追跡の手順を示す図である。
【図７】本発明の一実施例における輪郭線分結合分岐処理部の処理手順を示す図である。
【図８Ａ】図７の輪郭追跡処理の手順をより具体的に説明する図である。
【図８Ｂ】図９の輪郭追跡処理の手順をより具体的に説明する図である。
【図９】本発明の一実施例における領域輪郭形成処理の手順を説明する図である。
【図１０】従来技術における図形の輪郭追跡の説明図である。
【図１１】従来技術における課題の一例を示す図である。
【符号の説明】
【００５２】
１００…画像データの入力部、１５０…図形データや画像データ、２００…輪郭追跡処理部、２１０…入力部、２１１…ＡＤ変換器、２１２…画像データ入力部、２１３…画像データ２次元配列部、２１４…画像データメモリ格納機能、２１６…画像メモリ、２１８…濃淡差設定部、２２０…輪郭線追跡部、２３０…輪郭線分結合分岐処理部、２４０…領域輪郭形成部、２５０…輪郭情報、３００…関数近似処理部、３５０…関数形式およびパラメータ、４００…画像処理部、４５０…図形や画像、５００…出力部。
【図１】
2006031245.tif 000003
【図２】
2006031245.tif 000004
【図３】
2006031245.tif 000005
【図４Ａ】
2006031245.tif 000006
【図４Ｂ】
2006031245.tif 000007
【図５】
2006031245.tif 000008
【図６】
2006031245.tif 000009
【図７】
2006031245.tif 000010
【図８Ａ】
2006031245.tif 000011
【図８Ｂ】
2006031245.tif 000012
【図９】
2006031245.tif 000013
【図１０】
2006031245.tif 000014
【図１１】
2006031245.tif 000015