(57)【要約】【課題】  画素列に含まれる単一形状の長い区間検出を行うことができる画像処理装置、方法およびプログラムを提供すること。【解決手段】  画像処理装置内の画像処理演算部１００には、スキャナ２００によって入力された画像の形状を示す複数のセグメントを抽出する接合点抽出部１３０、セグメント分割部１４０と、セグメント分割部１４０によって分割された各セグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、直線あるいは円弧に対応する区間を検出する直線検出部１５０、円弧検出部１６０とが備わっている。【選択図】        図１
2005071243.tif 000002
【特許請求の範囲】
【請求項１】
画像の入力を行う画像入力手段と、
前記画像入力手段によって入力された画像の形状を示す複数のセグメントを抽出するセグメント抽出手段と、
前記セグメント抽出手段によって抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する関数区間検出手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記セグメント抽出手段は、
前記画像の輪郭線に対応する画素列に含まれる接合点を抽出する接合点抽出手段と、
前記接合点抽出手段によって抽出された接合点を境界として、前記画素列を前記複数のセグメントに分割するセグメント分割手段と、
を有することを特徴とする画像処理装置。
【請求項３】
請求項２において、
前記接合点抽出手段は、前記画素列の前後の配置に基づいて、明らかな角点に相当する画素を前記接合点として抽出することを特徴とする画像処理装置。
【請求項４】
請求項１〜３のいずれかにおいて、
前記関数区間検出手段によって区間検出が行われる前記近似関数は直線であることを特徴とする画像処理装置。
【請求項５】
請求項１〜３のいずれかにおいて、
前記関数区間検出手段によって区間検出が行われる前記近似関数は円弧であることを特徴とする画像処理装置。
【請求項６】
請求項１〜３のいずれかにおいて、
前記関数区間検出手段によって区間検出が行われる前記近似関数は直線と円弧であり、
前記複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とが別々に行われることを特徴とする画像処理装置。
【請求項７】
請求項６において、
前記関数区間検出手段によって検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて関数化処理を行う関数化処理手段をさらに備えることを特徴とする画像処理装置。
【請求項８】
請求項７において、
前記関数化処理手段は、前記関数区間検出手段によって検出された円弧と直線に共通の画素が含まれている場合に、円弧を優先させて関数化処理を行うことを特徴とする画像処理装置。
【請求項９】
請求項４、６〜８のいずれかにおいて、
前記関数区間検出手段は、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点および終点を結ぶ直線との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を直線に対応する区間として検出することを特徴とする画像処理装置。
【請求項１０】
請求項５〜８のいずれかにおいて、
前記関数区間検出手段は、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点、終点およびこれら以外の中間点を通る円弧との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を円弧に対応する区間として検出することを特徴とする画像処理装置。
【請求項１１】
請求項９または１０において、
前記関数区間検出手段は、それまでの前記検出候補の長さをＬとしたときに、Ｌ／２だけ前記検出候補の長さを長くあるいは短くすることを特徴とする画像処理装置。
【請求項１２】
請求項９〜１１のいずれかにおいて、
前記関数区間検出手段は、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の平均値ｅ１を前記誤差として計算することを特徴とする画像処理装置。
【請求項１３】
請求項１２において、
前記関数区間検出手段は、前記平均値ｅ１とともに、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の最大値ｅ２を前記誤差として計算することを特徴とする画像処理装置。
【請求項１４】
画像の入力を行う第１のステップと、
入力された画像の形状を示す複数のセグメントを抽出する第２のステップと、
抽出された前記セグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する第３のステップと、
を有することを特徴とする画像処理方法。
【請求項１５】
請求項１４において、
前記第２のステップは、
前記画像の輪郭線に対応する画素列に含まれる接合点を抽出する第４のステップと、
抽出された前記接合点を境界として、前記画素列を前記複数のセグメントに分割する第５のステップと、
を有することを特徴とする画像処理方法。
【請求項１６】
請求項１５において、
前記第４のステップは、前記画素列の前後の配置に基づいて、明らかな角点に相当する画素を前記接合点として抽出することを特徴とする画像処理方法。
【請求項１７】
請求項１４〜１６のいずれかにおいて、
前記第３のステップにおいて区間検出が行われる前記近似関数は直線であることを特徴とする画像処理方法。
【請求項１８】
請求項１４〜１６のいずれかにおいて、
前記第３のステップにおいて区間検出が行われる前記近似関数は円弧であることを特徴とする画像処理方法。
【請求項１９】
請求項１４〜１６のいずれかにおいて、
前記第３のステップにおいて区間検出が行われる前記近似関数は直線と円弧であり、
前記複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とが別々に行われることを特徴とする画像処理方法。
【請求項２０】
請求項１９において、
前記第３のステップにおいて検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて関数化処理を行う第６のステップをさらに有することを特徴とする画像処理方法。
【請求項２１】
請求項２０において、
前記第６のステップは、前記第３のステップにおいて検出された円弧と直線に共通の画素が含まれている場合に、円弧を優先させて関数化処理を行うことを特徴とする画像処理方法。
【請求項２２】
請求項１７、１９〜２１のいずれかにおいて、
前記第３のステップは、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点および終点を結ぶ直線との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を直線に対応する区間として検出することを特徴とする画像処理方法。
【請求項２３】
請求項１８〜２１のいずれかにおいて、
前記第３のステップは、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点、終点およびこれら以外の中間点を通る円弧との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を円弧に対応する区間として検出することを特徴とする画像処理方法。
【請求項２４】
請求項２２または２３において、
前記第３のステップは、それまでの前記検出候補の長さをＬとしたときに、Ｌ／２だけ前記検出候補の長さを長くあるいは短くすることを特徴とする画像処理方法。
【請求項２５】
請求項２２〜２４のいずれかにおいて、
前記第３のステップは、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の平均値ｅ１を前記誤差として計算することを特徴とする画像処理方法。
【請求項２６】
請求項２５において、
前記第３のステップは、前記平均値ｅ１とともに、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の最大値ｅ２を前記誤差として計算することを特徴とする画像処理方法。
【請求項２７】
コンピュータを、
画像の入力を行う画像入力手段と、
前記画像入力手段によって入力された画像の形状を示す複数のセグメントを抽出するセグメント抽出手段と、
前記セグメント抽出手段によって抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する関数区間検出手段と、
して機能させるための画像処理プログラム。
【請求項２８】
請求項２７において、
前記セグメント抽出手段は、
前記画像の輪郭線に対応する画素列に含まれる接合点を抽出する接合点抽出手段と、
前記接合点抽出手段によって抽出された接合点を境界として、前記画素列を前記複数のセグメントに分割するセグメント分割手段と、
を有することを特徴とする画像処理プログラム。
【請求項２９】
請求項２８において、
前記接合点抽出手段は、前記画素列の前後の配置に基づいて、明らかな角点に相当する画素を前記接合点として抽出することを特徴とする画像処理プログラム。
【請求項３０】
請求項２７〜２９のいずれかにおいて、
前記関数区間検出手段によって区間検出が行われる前記近似関数は直線であることを特徴とする画像処理プログラム。
【請求項３１】
請求項２７〜２９のいずれかにおいて、
前記関数区間検出手段によって区間検出が行われる前記近似関数は円弧であることを特徴とする画像処理プログラム。
【請求項３２】
請求項２７〜２９のいずれかにおいて、
前記関数区間検出手段によって区間検出が行われる前記近似関数は直線と円弧であり、
前記複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とが別々に行われることを特徴とする画像処理プログラム。
【請求項３３】
請求項３２において、
コンピュータを、さらに、前記関数区間検出手段によって検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて関数化処理を行う関数化処理手段として機能させるための画像処理プログラム。
【請求項３４】
請求項３３において、
前記関数化処理手段は、前記関数区間検出手段によって検出された円弧と直線に共通の画素が含まれている場合に、円弧を優先させて関数化処理を行うことを特徴とする画像処理プログラム。
【請求項３５】
請求項３０、３２〜３４のいずれかにおいて、
前記関数区間検出手段は、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点および終点を結ぶ直線との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を直線に対応する区間として検出することを特徴とする画像処理プログラム。
【請求項３６】
請求項３１〜３４のいずれかにおいて、
前記関数区間検出手段は、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点、終点およびこれら以外の中間点を通る円弧との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を円弧に対応する区間として検出することを特徴とする画像処理プログラム。
【請求項３７】
請求項３５または３６において、
前記関数区間検出手段は、それまでの前記検出候補の長さをＬとしたときに、Ｌ／２だけ前記検出候補の長さを長くあるいは短くすることを特徴とする画像処理プログラム。
【請求項３８】
請求項３５〜３７のいずれかにおいて、
前記関数区間検出手段は、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の平均値ｅ１を前記誤差として計算することを特徴とする画像処理プログラム。
【請求項３９】
請求項３８において、
前記関数区間検出手段は、前記平均値ｅ１とともに、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の最大値ｅ２を前記誤差として計算することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像の輪郭線形状を関数化処理する際にその前処理として輪郭線形状に含まれる直線や円弧等の特定形状の検出を行う画像処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
情報技術の進歩により、デスクトップパブリッシング（ＤＴＰ）、テレビジョン放送、書籍などの画像を扱う技術分野の進展は著しく、より高精細、高美麗さのニーズも高まっている。また、パーソナルコンピュータとそれを取り巻く種々のデバイスの普及により、デジタル画像の高精細化、処理の高速化が進展し、特にＪＰＥＧ、ＧＩＦ、ＰＮＧなどに代表される画像の圧縮、拡大・縮小等の画像変換技術の進展は目覚しい。
【０００３】
しかし、これらの一般的なＪＰＥＧ、ＧＩＦ、ＰＮＧに代表されるピクセル符号化方式では、拡大時にジャギーノイズを生じるなど、画質が劣化してしまうため、関数符号化方式が提案されている。画像の輪郭を追跡し、それを関数近似することによって、ピクセル符号化画像を関数符号化画像へ自動的に変換する手法の研究が行われている（例えば、特許文献１参照。）。
【０００４】
例えば、文字、イラスト、ロゴマークといった画像をフルーエンシ関数系により高精度に関数化することができる。フルーエンシ情報理論では、信号の滑らかさの基準を示す連続微分可能性に基づいたパラメータｍを用いて信号空間を類別している。ｍ次のフルーエンシ関数は、（ｍ−２）回のみ連続微分可能な（ｍ−１）次の区分的多項式から構成されている。画像関数近似では、輪郭線はその形状によった種類の関数を用いて近似される。ｍ＝２、ｍ＝３、ｍ＝∞のフルーエンシ関数はそれぞれ、直線、自由曲線、円弧を表現するのに用いられる。
【特許文献１】特開２００１−５１６７０号公報（第５−１３頁、図１−１１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上述した特許文献１に開示された手法では、輪郭線の形状を関数化処理する前処理として、明らかに直線と判断される部分を直線区間として検出し、このような直線と判断される部分が隣接する場合にはこれらの隣接部分を一つにして直線区間を延長する処理を行っている。このように、輪郭線の一部を構成する短い直線区間を延長し、輪郭線形状と直線との誤差が少ない場合にはこの直線区間を徐々に伸ばしていく方法では、誤差によって直線でないと判断される短い区間があると、その周辺が直線区間であっても、全体が一つの直線区間とは判断されないことになり、誤差の影響を受けやすいため、単一形状の長い区間検出が難しいという問題があった。検出される単一形状の区間は、長ければ長いほど、データ量の削減等の観点からは、その後に行われる近似関数の決定において有利である。また、直線区間の検出だけでなく、円弧区間を検出する場合にも同様の問題がある。
【０００６】
本発明は、このような点に鑑みて創作されたものであり、その目的は、画素列に含まれる単一形状の長い区間検出を行うことができる画像処理装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明の画像処理装置は、画像の入力を行う画像入力手段と、画像入力手段によって入力された画像の形状を示す複数のセグメントを抽出するセグメント抽出手段と、セグメント抽出手段によって抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する関数区間検出手段とを備えている。
【０００８】
また、本発明の画像処理方法は、画像の入力を行う第１のステップと、入力された画像の形状を示す複数のセグメントを抽出する第２のステップと、抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する第３のステップとを有している。
【０００９】
また、本発明の画像処理プログラムは、コンピュータを、画像の入力を行う画像入力手段と、画像入力手段によって入力された画像の形状を示す複数のセグメントを抽出するセグメント抽出手段と、セグメント抽出手段によって抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する関数区間検出手段として機能させる。
【００１０】
このように、画像の形状を示す各セグメントについてセグメント全体を初期状態として誤差が少なくなるまで徐々にセグメントを短くすることにより近似関数に対応する区間の検出が行われるため、近似関数に対応する短い区間を検出した後にこの区間を徐々に伸ばす場合に比べて、近似関数に対応する単一形状の長い区間を検出することが可能になる。
【００１１】
また、上述したセグメント抽出手段は、画像の輪郭線に対応する画素列に含まれる接合点を抽出する接合点抽出手段と、接合点抽出手段によって抽出された接合点を境界として、画素列を複数のセグメントに分割するセグメント分割手段とを有することが望ましい。これにより、画像の輪郭線に含まれる近似関数に対応する区間をできるだけ長い状態で検出することができる。
【００１２】
また、上述した接合点抽出手段は、画素列の前後の配置に基づいて、明らかな角点に相当する画素を接合点として抽出することが望ましい。明らかな角点のみを接合点として抽出することにより、接合点の設定位置が不適切であったために単一形状の長い区間が誤って分断されることを防止することができる。
【００１３】
また、上述した関数区間検出手段によって区間検出が行われる近似関数は直線であることが望ましい。これにより、画像の形状に含まれる長い直線部分の検出が可能になる。また、上述した関数区間検出手段によって区間検出が行われる近似関数は円弧であることが望ましい。これにより、画像の形状に含まれる長い円弧部分の検出が可能になる。
【００１４】
また、上述した関数区間検出手段によって区間検出が行われる近似関数は直線と円弧であり、複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とが別々に行われることが望ましい。これにより、画像の形状に含まれる長い直線部分と長い円弧部分を検出することが可能になり、それぞれの検出結果を用いた最適な関数化処理を行うことができる。特に、上述した関数区間検出手段によって検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて関数化処理を行う関数化処理手段をさらに備えることが望ましい。これにより、自由曲線よりも円弧や直線を優先させて関数化処理を行うことにより、関数化処理によるさらなるデータ量の削減が可能になる。また、上述した関数化処理手段は、関数区間検出手段によって検出された円弧と直線に共通の画素が含まれている場合に、円弧を優先させて関数化処理を行うことが望ましい。円弧は短い直線の集まりとして表現することもできるため、円弧を優先させることにより、精度の高い関数化処理を行うことが可能になる。
【００１５】
また、上述した関数区間検出手段は、セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点および終点を結ぶ直線との間の誤差が基準値を超える場合には検出候補を短くし、反対に誤差が基準値以下になった場合には検出候補を長くすることにより最終的に決定された検出候補を直線に対応する区間として検出することが望ましい。これにより、次第にセグメントに含まれる直線部分を絞っていって最終的に検出可能な最大長の直線部分を検出することが可能になる。
【００１６】
また、上述した関数区間検出手段は、セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点、終点およびこれら以外の中間点を通る円弧との間の誤差が基準値を超える場合には検出候補を短くし、反対に誤差が基準値以下になった場合には検出候補を長くすることにより最終的に決定された検出候補を円弧に対応する区間として検出することが望ましい。これにより、次第にセグメントに含まれる円弧部分を絞っていって最終的に検出可能な最大長の円弧部分を検出することが可能になる。
【００１７】
また、上述した関数区間検出手段は、それまでの検出候補の長さをＬとしたときに、Ｌ／２だけ検出候補の長さを長くあるいは短くすることが望ましい。これにより、最終的に直線部分あるいは円弧部分を検出するまでの検出候補の長さを変更する回数の削減が可能になり、直線部分あるいは円弧部分の検出に要する時間を短縮することができる。
【００１８】
また、上述した関数区間検出手段は、検出候補を構成する各画素と検出対象となる近似関数との距離の二乗の平均値ｅ１を誤差として計算することが望ましい。平均二乗誤差ｅ１によって誤差の大小を評価することにより、画像の読み取り等において発生するノイズの影響を少なくすることができる。
【００１９】
また、上述した関数区間検出手段は、平均値ｅ１とともに、検出候補を構成する各画素と検出対象となる近似関数との距離の二乗の最大値ｅ２を誤差として計算することが望ましい。検出対象となる直線部分や円弧部分を長くすればするほど、これらの近似関数の形状に一致しない局所的な特異形状があっても平均二乗誤差ｅ１が小さくなるため、この特異形状部分が無視されて関数化処理が行われやすくなる。しかし、最大二乗誤差ｅ２が考慮されるため、局所的な特異形状が無視されることがなく、精度の高い関数化処理を行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を適用した一実施形態の画像処理装置について、図面に基づいて詳細に説明する。
【００２１】
図１は、一実施形態の画像処理装置の構成を示す図である。図１に示すように、本実施形態の画像処理装置は、画像処理演算部１００、スキャナ２００、キーボード２１０、マウス２１２、ディスプレイ装置２２０、プリンタ２３０を含んで構成されている。
【００２２】
スキャナ２００は、ロゴマーク等の被写体を光学的に読み取って、白黒の二値画像を生成する。この生成された二値画像は、画像処理演算部１００に入力される。キーボード２１０およびマウス２１２は、画像処理演算部１００に対して利用者が各種の操作指示を行うために用いられる。例えば、スキャナ２００を用いた画像取込の操作指示や、その後の関数化処理の演算開始指示、関数化処理された画像データから原画像への復元指示、復元の際の拡大倍率等がキーボード２１０やマウス２１２を用いて行われる。
【００２３】
ディスプレイ装置２２０は、各種の操作画面や、取り込んだ画像および関数化処理された画像データを用いて原画像を復元した結果等を表示する。プリンタ２３０は、復元された所定倍率の原画像を所定サイズの紙に印刷する。
【００２４】
画像処理演算部１００は、入力画像に対して関数化処理を行うとともに、この関数化されたデータに基づいて画像を生成する処理を行う。このために、画像処理演算部１００は、画像格納部１１０、画素列追跡部１２０、接合点抽出部１３０、セグメント分割部１４０、直線検出部１５０、円弧検出部１６０、関数化処理部１７０、出力画像生成部１８０を備えている。この画像処理演算部１００は、ＣＰＵ、ＲＯＭ、ＲＡＭおよびハードディスク装置を備えたコンピュータによって実現することが可能であり、ＲＯＭ、ＲＡＭあるいはハードディスク装置に格納された画像処理プログラムをＣＰＵで実行することにより、画素列追跡部１２０、接合点抽出部１３０、セグメント分割部１４０、直線検出部１５０、円弧検出部１６０、関数化処理部１７０、出力画像生成部１８０の各機能が実現される。また、画像格納部１１０は、主にハードディスク装置によって実現される。
【００２５】
画像格納部１１０は、スキャナ２００を用いて読み取られた原画像に対応する画像データや、関数化処理等を行うために必要な中間データ、関数化処理によって得られた関数化データ等を格納する。
【００２６】
画素列追跡部１２０は、入力画像の輪郭線を構成する画素列に対して追跡処理を行う。例えば、二値化処理された後の入力画像に対してその輪郭線を抽出する処理が行われる。なお、二値化処理された入力画像の代わりに多値画像が入力された場合には、画素列追跡処理の前処理として二値化処理を行えばよい。また、カラー画像が入力された場合には、ＲＧＢの各色成分に分解した後に二値化処理を行って、各色成分毎に以後の処理を実施するようにしてもよい。
【００２７】
接合点抽出部１３０は、画素列追跡部１２０による追跡によって得られた画素列の中から明らかな接合点を抽出する。ここで、接合点とは、その前後で画素列の傾向が変化する画素である。例えば、接合点抽出部１３０は、デジタル曲率に基づいて前後の輪郭線が所定角度以上屈曲した角点を明らかな接合点として抽出する。具体的には、輪郭線を構成する画素列の一点Ｐ0 に着目し、その前後に画素Ｋ個分だけ離れた点Ｐ1 、Ｐ2 を設定し、線分Ｐ0 Ｐ1 と線分Ｐ0 Ｐ2 のなす角度の余弦Ｃを計算する。そして、この計算した余弦Ｃが所定値（例えば−０．６）以上であるときに、この着目点を角点、すなわち明らかな接合点として抽出する。この計算を輪郭線を構成する画素列の全てについて行うことにより、画素列に含まれる全ての明らかな接合点が抽出される。
【００２８】
なお、上述した説明では、余弦Ｃが−０．６以上のときに着目点が角点であると判定したが、この判定の閾値（−０．６）は適宜変更してもよい。また、入力画像が回路図のように細線からなる場合には、入力画像そのものが輪郭線に相当し、しかも輪郭線を構成する画素列に分岐が含まれるため、この分岐を明らかな接合点として抽出するようにしてもよい。
【００２９】
セグメント分割部１４０は、接合点抽出部１３０によって抽出された接合点を用いて、画素列追跡部１２０によって追跡された画素列を複数のセグメントに分割する。直線検出部１５０は、セグメント分割部１４０によって分割された各セグメントに含まれる直線部分を検出する。同様に、円弧検出部１６０は、セグメント分割部１４０によって分割された各セグメントに含まれる円弧部分を検出する。これらの直線部分および円弧部分の検出は、全てのセグメントを対象にして個別に行われるため、並行して行ってもよいし、前後して別々に行うようにしてもよい。本実施形態の画像処理装置では、最も長い直線部分や円弧部分を、後処理で延長することなく直接検出している点に特徴がある。
【００３０】
関数化処理部１７０は、セグメント分割部１４０によって複数に分割された各セグメント毎に、直線検出部１５０および円弧検出部１６０による検出結果を用いて関数化処理を行う。具体的には、自由曲線、円弧、直線のいずれかの関数を輪郭線形状に当てはめて関数化処理を行うが、円弧部分や直線部分はわずかに形状がゆがんでも不自然に感じるとともにデータ量削減の観点からも、これらを用いた関数化処理が可能な場合には自由曲線よりも優先的に円弧や直線による関数化処理を行う必要がある。また、円弧は短い直線の集まりでも表現できることから、直線よりも円弧を優先する方が好ましい。したがって、円弧検出部１６０によって検出された円弧部分に直線検出部１５０によって検出された直線部分が含まれている場合には、この共通する画素については円弧を用いて関数化処理される。それ以外の直線部分に含まれる画素については直線を用いて関数化処理され、円弧にも直線にも含まれない画素については自由曲線（例えば二次曲線）を用いて関数化処理される。
【００３１】
出力画像生成部１８０は、関数化処理部１７０によって得られた関数化データを用いて原画像を生成する。この原画像生成では倍率を指定することができ、原画像を指定された倍率で拡大した画像が生成される。
【００３２】
上述したスキャナ２００が画像入力手段に、接合点抽出部１３０、セグメント分割部１４０がセグメント抽出手段に、接合点抽出部１３０が接合点抽出手段に、セグメント分割部１４０がセグメント分割手段に、直線検出部１５０、円弧検出部１６０が関数区間検出手段に、関数化処理部１７０が関数化処理手段にそれぞれ対応する。
【００３３】
本実施形態の画像処理装置はこのような構成を有しており、次にその動作を説明する。
【００３４】
図２は、本実施形態の画像処理装置の全体の動作手順を示す流れ図である。画像格納部１１０は、スキャナ２００を用いて読み取られた画像が入力されると（ステップ１００）、この入力画像データを格納する。
【００３５】
次に、画素列追跡部１２０は、入力画像の輪郭線を構成する画素列に対して追跡を行う（ステップ１０１）。また、接合点抽出部１３０は、追跡された画素列に含まれる明らかな接合点を抽出する（ステップ１０２）。セグメント分割部１４０は、抽出された接合点によって輪郭線を構成する画素列を複数のセグメントに分割する（ステップ１０３）。
【００３６】
次に、直線検出部１５０は、セグメント分割部１４０によって分割された一のセグメントを取り出してこのセグメントに含まれる直線部分を検出する（ステップ１０４）。なお、セグメントによっては直線部分が全く含まれない場合や複数個が離散的に含まれる場合が考えられる。直線検出部１５０は、一のセグメントについて直線部分の検出処理を終了すると、輪郭線を構成する全てのセグメントについて直線部分の検出処理が終了したか否かを判定する（ステップ１０５）。直線部分の検出処理が行われていないセグメントが存在する場合には否定判断が行われ、未処理の他のセグメントについてステップ１０４の直線部分の検出処理が繰り返される。
【００３７】
また、輪郭線を構成する全てのセグメントについて直線部分の検出処理が終了するとステップ１０５の判定において肯定判断が行われ、次に、同様の手順で各セグメントについて円弧部分の検出が行われる。すなわち、円弧検出部１６０は、セグメント分割部１４０によって分割された一のセグメントを取り出してこのセグメントに含まれる円弧部分を検出する（ステップ１０６）。なお、セグメントによっては円弧部分が全く含まれない場合や複数個が離散的に含まれる場合が考えられる。円弧検出部１６０は、一のセグメントについて円弧部分の検出処理を終了すると、輪郭線を構成する全てのセグメントについて円弧部分の検出処理が終了したか否かを判定する（ステップ１０７）。円弧部分の検出処理が行われていないセグメントが存在する場合には否定判断が行われ、未処理の他のセグメントについてステップ１０６の円弧部分の検出処理が繰り返される。
【００３８】
なお、上述した説明では、ステップ１０４、１０５において直線部分の検出動作を行った後にステップ１０６、１０７において円弧部分の検出動作を行ったが、これら２種類のの検出動作は、並行して行ったり、順番を反対にして行うようにしてもよい。
【００３９】
このようにして輪郭線を構成する全てのセグメントについて直線部分と円弧部分の検出が終了した後、関数化処理部１７０は、分割されたセグメント毎に、関数化処理（関数近似処理）を行う（ステップ１０８）。例えば、最初に、円弧検出部１６０によって検出された各円弧部分に対して円弧を当てはめる関数化処理を行い、次に、直線検出部１５０によって検出された直線部分に対して直線を当てはめる関数化処理を行い（直線部分の一部あるいは全部が円弧部分に含まれる場合には、その範囲については円弧による関数近似を優先させる）、最後に、円弧部分にも直線部分にも該当しない画素列に対して自由曲線を用いた関数化処理を行う。このようにして関数化処理された結果は画像格納部１１０に格納される（ステップ１０９）。出力画像生成部１８０は、関数化処理された結果を用いて、元の画像を所定倍率で拡大して復元する処理を行う。このようにして復元された画像がディスプレイ装置２２０の画面に表示されたり、プリンタ２３０から記録紙に印刷される（ステップ１１０）。
【００４０】
次に、直線検出部１５０によって行われる直線部分の検出動作の詳細について説明する。図３、図４および図５は、直線検出部１５０による直線部分の検出動作の詳細を示す流れ図である。
【００４１】
まず、直線検出部１５０は、一のセグメントを読み込んで（ステップ２００）、この読み込んだセグメントの始点と終点のそれぞれを比較直線の始点と終点に設定するとともに（ステップ２０１）、調整値Ｌをセグメント長に設定する（ステップ２０２）。ここで、「比較直線」とは、始点と終点が一致したセグメント（検出候補）と比較され、誤差算出が行われる直線である。また、「調整値Ｌ」とは、比較直線とセグメントとを比較した結果に応じて、処理対象となるセグメントの長さを増減する場合のその増減の長さであり、処理の途中で順次値が変更される。また、セグメント長は、隣接する画素間の距離をこれらの画素の配置状態にかかわらずに（左右上下に配置されている場合と斜め方向に配置されている場合とで区別することなく）１として、構成画素数で示したものである。
【００４２】
次に、直線検出部１５０は、比較直線とセグメントとの間の平均二乗誤差ｅ１と最大二乗誤差ｅ２を算出する（ステップ２０３、２０４）。ここで、平均二乗誤差ｅ１とは、セグメントを構成する各画素から比較直線に下ろした垂線の長さを二乗した合計値をセグメントの画素数で割った値である。また、最大二乗誤差ｅ２とは、セグメントの構成する各画素から比較直線に下ろした垂線の長さを二乗した値の最大値である。なお、平均二乗誤差ｅ１と最大二乗誤差ｅ２の計算の順番はどちらが先であってもよいし、並行して行うようにしてもよい。
【００４３】
次に、直線検出部１５０は、平均二乗誤差ｅ１が基準値Ｅ１未満で、かつ、最大二乗誤差ｅ２が基準値Ｅ２未満であるか否かを判定する（ステップ２０５）。例えば、実験的評価からＥ１＝０．２、Ｅ２＝１．０に設定されている。これら２つの条件を満たす場合には肯定判断が行われ、次に、直線検出部１５０は、上述した比較線分を直線候補Ｄとして画像格納部１１０に格納して記憶した後（ステップ２０６）、比較直線の終点がセグメントの終点の初期値と一致するか否かを判定する（ステップ２０７）。セグメントの終点の初期値とは、ステップ２００において読み込まれたセグメントの終点のことであり、輪郭線を分割した際の接合点に一致する。本実施形態では、セグメントの形状が比較直線にほぼ一致していて平均二乗誤差ｅ１と最大二乗誤差ｅ２がともに小さい場合には、セグメントの終点が延長された後に同様の判定処理が繰り返されるが、比較直線の終点がセグメントの終点の初期値と同じ場合にはこのような終点の延長を行うことができないため、このような場合には肯定判断が行われた後、直線検出部１５０は、直線候補Ｄを検出直線Ｓとして記憶する（ステップ２１４）。これにより、ステップ２００において読み込まれた一のセグメントの全体に対する直線部分の検出動作が終了する。
【００４４】
また、比較直線の終点とセグメントの終点の初期値とが一致しない場合にはステップ２０７の判定において否定判断が行われる。次に、直線検出部１５０は、調整値Ｌの値を半分にした後（ステップ２０８）、この変更後の調整値Ｌが所定値以下か否かを判定する（ステップ２０９）。上述したように、本実施形態では、セグメントの形状が比較直線にほぼ一致している場合に、セグメントの終点を延長するがこの延長する長さ（調整値Ｌ）は延長する回数が増えるにしたがってそれぞれ半分に減っていく（ステップ２０８）。したがって、調整値Ｌが小さな値に収束したときにステップ２０９において肯定判断が行われる。次に、直線検出部１５０は、直線候補Ｄを検出直線Ｓとして記憶する（ステップ２１１）。また、直線検出部１５０は、セグメントの始点を検出直線Ｓの終点に、セグメントの終点を初期値にそれぞれ設定した後（ステップ２１２）、この始点と終点が変更されたセグメントの長さが所定値以下であるか否かを判定する（ステップ２１３）。これは、あまりにも短いセグメントに対して直線部分の検出を行わないようにするための判定動作であり、セグメント長が短くなりすぎた場合には肯定判断が行われ、ステップ２００において読み込まれた一のセグメントの全体に対する直線部分の検出動作が終了する。一方、セグメント長が所定値よりも長い場合にはステップ２１３の判定において否定判断が行われ、ステップ２０２に戻って、新しいセグメントについて直線部分を検出する動作が繰り返される。
【００４５】
また、変更後の調整値Ｌが所定値よりも大きい場合にはステップ２０９の判定において否定判断が行われ、次に、直線検出部１５０は、セグメントの終点を調整値Ｌだけ終点の初期値側にずらした後（ステップ２１０）、ステップ２０３に戻って平均二乗誤差ｅ１や最大二乗誤差ｅ２の計算以降の動作が繰り返される。
【００４６】
また、「平均二乗誤差ｅ１が基準値Ｅ１未満、かつ、最大二乗誤差ｅ２が基準値Ｅ２未満」という条件を満たさない場合、すなわち、平均二乗誤差ｅ１が基準値Ｅ１以上であったり、あるいは、最大二乗誤差ｅ２が基準値Ｅ２以上である場合にはステップ２０５の判定において否定判断が行われる。次に、直線検出部１５０は、セグメント長は所定値以下か否かを判定する（ステップ２１５）。この判定は、これ以上セグメント長を短くして直線部分の検出を継続するか否かを判定するために行われるものである。セグメント長が短くて所定値以下の場合には肯定判断が行われ、直線検出部１５０は、セグメントの始点を調整値Ｌだけ終点側にずらすとともに（ステップ２１６）、セグメントの終点を初期値に設定する（ステップ２１７）。このように、セグメントに含まれる直線部分が検出されずに比較直線とセグメントが徐々に短くなって所定値以下になってしまった場合には、ここでのセグメントの終点側の残りのセグメントを用いて新たに直線部分の検出動作を行うために新しいセグメントの始点と終点の再設定が行われた後、ステップ２０２に戻って直線部分を検出する動作が繰り返される。
【００４７】
また、セグメント長が所定値よりも大きい場合にはステップ２１５の判定において否定判断が行われる。次に、直線検出部１５０は、調整値Ｌの値を半分にするとともに（ステップ２１８）、セグメントの終点を調整値Ｌだけ始点側にずらしてセグメントを短くした後（ステップ２１９）、ステップ２０３に戻って平均二乗誤差ｅ１や最大二乗誤差ｅ２の計算以降の動作が繰り返される。
【００４８】
図６および図７は、直線部分の検出の具体例を示す図である。直線検出部１５０は、最初は、セグメント分割部１４０によって分割された一のセグメントＳＧ（０）の全体と、このセグメントＳＧ（０）の始点Ｓ（０）と終点Ｅ（０）を通る比較直線とを比較し、平均二乗誤差ｅ１と最大二乗誤差ｅ２の両方が所定の条件を満たすか否かを調べる（図６（Ａ））。
【００４９】
この例では条件を満たさないため、次に、セグメント長の半分に設定された調整値Ｌだけ始点Ｓ（０）側にずらしたセグメントＳＧ（１）の新たな終点Ｅ（１）を設定した後（ステップ２１８、２１９）、この短くなったセグメントＳＧ（１）と、このセグメントＳＧ（１）の始点Ｓ（０）と終点Ｅ（１）を通る新たな比較直線とを比較し、平均二乗誤差ｅ１と最大二乗誤差ｅ２の両方が所定の条件を満たすか否かを調べる（図６（Ｂ））。
【００５０】
この例ではこれら２つの条件を満たしており、次に、さらに半分の値に変更された調整値Ｌだけ終点Ｅ（０）側にずらしたセグメントＳＧ（２）の新たな終点Ｅ（２）を設定した後（ステップ２０８、２１０）、この少し長くなったセグメントＳＧ（２）と、このセグメントＳＧ（２）の始点Ｓ（０）と終点Ｅ（２）を通る新たな比較直線とを比較し、平均二乗誤差ｅ１と最大二乗誤差ｅ２の両方が所定の条件を満たすか否かを調べる（図６（Ｃ））。
【００５１】
このようにして、セグメントの終点位置が順次変更され、最終的に始点Ｓ（０）の最も長い比較直線が検出直線Ｓとして検出される。一の検出直線Ｓが決定された後は、この検出直線Ｓ以外の残りの部分を検出対象としての新たなセグメントに設定し（ステップ２１２）、再度直線部分の検出動作が繰り返される。
【００５２】
なお、セグメント分割部１４０によって分割された一のセグメントＳＧ（０）の始点Ｓ（０）近傍に直線部分が含まれない場合（図７（Ａ））には、セグメント長をどれだけ短くしていっても平均二乗誤差ｅ１や最大二乗誤差ｅ２の両方が所定の条件を満たすようにはならない。このような場合には、終点Ｅ（０）側にずらした始点Ｓ（１）を有するあらたなセグメントが設定され（ステップ２１６、２１７）、再度直線部分の検出動作が繰り返される（図７（Ｂ））。
【００５３】
円弧検出部１６０によって行われる円弧部分の検出動作についても上述した直線検出動作と基本的に同じであり、以下では相違点に着目して説明する。
【００５４】
図８、図９および図１０は、円弧検出部１６０による円弧部分の検出動作の詳細を示す流れ図である。これらの図に示す流れ図は、図３〜図５に示した流れ図に含まれる比較直線を比較円弧に、直線候補Ｄを円弧候補Ｄに、検出直線Ｓを検出円弧Ｓにそれぞれ変更するとともにステップ数を改めた点が異なっており、動作手順自体は基本的に同じである。
【００５５】
また、平均二乗誤差ｅ１と最大二乗誤差ｅ２の算出方法については、直線と円弧とでは異なっている。具体的には、セグメントの始点と終点の他に中間点を合わせた３点を通る円弧を比較円弧として設定し、この円弧の半径と円弧の中心からセグメントを構成する画素までの距離の差の二乗を用いて平均二乗誤差ｅ１や最大二乗誤差ｅ２が計算される。
【００５６】
なお、円弧検出の検出精度を高めるために以下の（１）〜（３）の工夫がなされている。
【００５７】
（１）比較円弧を設定する際の３点はセグメントの始点、終点、中間点を基本とするが、円弧の中心角が４π／３以上の場合、始点と終点が接近しすぎて、近似円のふれが大きくなってしまう。そのため、円弧の中心角が４π／３以上の場合は始点と始点からの中心角が４π／３となる点とこれらの中間点により比較円弧の設定を行う。
【００５８】
（２）比較円弧の中心角によって基準値Ｅ１、Ｅ２の値を変化させる。中心角の大きな比較円弧については、基準値Ｅ１、Ｅ２を大きくして判断の基準を甘くするようにする。
【００５９】
（３）中心角に閾値を設け、あまりに中心角が小さな比較円弧は設定されないようにする。例えば、中心角がπ／２よりも小さな比較円弧は設定されないようにする。
【００６０】
図１１、図１２、図１３および図１４は、具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図であり、本実施形態の手法と従来手法の両方を用いた結果が示されている。実験では図１１に示す画像が用いられた。
【００６１】
図１２（Ａ）、（Ｂ）には、本実施形態の手法によって検出された直線部分と円弧部分がそれぞれ示されている。これらの図に含まれる「×」は、検出された直線あるいは円弧の始点あるいは終点を示している。また、図１２（Ａ）において点線で囲まれた部分は直線として検出されたが、結果的には優先順位にしたがって円弧として関数近似された部分を表している。また、比較のために、図１３（Ａ）、（Ｂ）には従来の多段抽出法を用いて検出された直線部分と円弧部分がそれぞれ示されている。図１４（Ａ）、（Ｂ）には従来のＤＰ（Dynamic Programming）法を用いて検出された直線部分と円弧部分がそれぞれ示されている。
【００６２】
図１２〜図１４を比較して明らかなように、本実施形態の手法を用いることにより、従来手法に比べて、より長い直線部分、円弧部分を検出することに成功している。また、本実施形態の手法で検出した直線部分、円弧部分は、従来手法で検出した直線部分、円弧部分を包含していることがわかる。これは、従来手法が開始点から直線、円弧区間を徐々に延ばしていくアルゴリズムであるのに対して、本実施形態の手法はセグメント画素列の最大長から直線、円弧区間を徐々に削っていくアルゴリズムであるからであると思われる。
【００６３】
このように、画像の輪郭形状を示す各セグメントについてセグメント全体を初期状態として誤差が少なくなるまで徐々にセグメントを短くすることにより近似関数に対応する区間の検出が行われるため、近似関数に対応する短い区間を検出した後にこの区間を徐々に伸ばす場合に比べて、近似関数に対応する単一形状の長い区間を検出することが可能になる。
【００６４】
また、画像の輪郭線を構成する画素列の前後の配置に基づいて、明らかな角点に相当する画素を接合点として抽出することにより、画素列を複数のセグメントに分割しており、明らかな角点のみを接合点として抽出することにより、接合点の設定位置が不適切であったために単一形状の長い区間が誤って分断されることを防止することができる。
【００６５】
また、区間検出が行われる近似関数として直線あるいは円弧を採用することにより、画像の輪郭線形状に含まれる長い直線部分あるいは円弧部分の検出が可能になる。
【００６６】
また、複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とを別々に行うことにより、画像の形状に含まれる長い直線部分と長い円弧部分の両方を検出することが可能になり、それぞれの検出結果を用いた最適な関数化処理を行うことができる。特に、上述した関数区間検出手段によって検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて、自由曲線よりも円弧や直線を優先させて関数化処理を行うことにより、関数化処理によるさらなるデータ量の削減が可能になる。また、検出された円弧と直線が重複している場合に、円弧を優先させて関数化処理を行うことにより、精度の高い関数化処理を行うことが可能になる。
【００６７】
また、分割された各セグメントの全部あるいは一部を検出候補としてのセグメントに設定し、この検出候補としてのセグメントとその始点および終点を結ぶ直線との間の誤差が基準値を超える場合には検出候補としてのセグメントを短くし、反対に誤差が基準値以下になった場合には検出候補としてのセグメントを長くすることにより最終的な直線部分を検出することにより、次第にセグメントに含まれる直線部分を絞っていって最終的に検出可能な最大長の直線部分を検出することが可能になる。
【００６８】
また、分割された各セグメントの全部あるいは一部を検出候補としてのセグメントに設定し、この検出候補としてのセグメントとその始点、終点およびこれらの中間点を通る円弧との間の誤差が基準値を超える場合には検出候補としてのセグメントを短くし、反対に誤差が基準値以下になった場合には検出候補としてのセグメントを長くすることにより最終的な円弧部分を検出することにより、次第にセグメントに含まれる円弧部分を絞っていって最終的に検出可能な最大長の円弧部分を検出することが可能になる。
【００６９】
また、直線部分あるいは円弧部分の検出は、それまでの検出候補としてのセグメントのの長さをＬとしたときに、Ｌ／２だけセグメント長を長くあるいは短くして行っており、これにより、最終的に直線部分あるいは円弧部分を検出するまでのセグメント長を変更する回数の削減が可能になり、直線部分あるいは円弧部分の検出に要する時間を短縮することができる。
【００７０】
また、平均二乗誤差ｅ１によって誤差の大小を評価することにより、画像の読み取り等において発生するノイズの影響を少なくすることができる。また、検出対象となる直線部分や円弧部分を長くすればするほど、これらの近似関数の形状に一致しない局所的な特異形状があっても平均二乗誤差ｅ１が小さくなるため、この特異形状部分が無視されて関数化処理が行われやすくなる。しかし、最大二乗誤差ｅ２が考慮されるため、局所的な特異形状が無視されることがなく、精度の高い関数化処理を行うことができる。
【００７１】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。上述した実施形態では、スキャナ２００を用いて画像入力を行ったが、その他の入力装置（例えばデジタルカメラ）を用いたり、光磁気ディスク等に格納された画像データを読み込むことにより入力するようにしてもよい。
【００７２】
また、上述した実施形態では、画像の読み取り等において発生したノイズについては特に対策をしていないが、ノイズ対策を行うことでさらに精度の高い関数化処理を行うようにしてもよい。例えば、関数化処理の過程では、誤差の評価を行いながら適切な近似関数を選定することになるが、セグメント長が十分短い区間に対応する画素列に対しては自由曲線を用いた関数化処理が行われる場合が多い。このような場合には、隣接するセグメントの近似関数と比べて曲率が異なる場合にはこの自由曲線の部分はノイズであることが多い。このため、このような現象が発生した場合には、その発生状況をディスプレイ装置２２０の画面上に表示し、ノイズに相当する画素の削除の可否を操作者に問い合わせるようにしてもよい。
【００７３】
また、上述した実施形態では、検出された直線と円弧とが重複している場合には、円弧を優先させて関数化処理が行われるため、図２に示すステップ１０６、１０７における円弧検出を先に行うとともに、円弧として検出された部分を除いた区間を対象にステップ１０４、１０５における直線検出を行うようにしてもよい。
【図面の簡単な説明】
【００７４】
【図１】一実施形態の画像処理装置の構成を示す図である。
【図２】本実施形態の画像処理装置の全体の動作手順を示す流れ図である。
【図３】直線検出部による直線部分の検出動作の詳細を示す流れ図である。
【図４】直線検出部による直線部分の検出動作の詳細を示す流れ図である。
【図５】直線検出部による直線部分の検出動作の詳細を示す流れ図である。
【図６】直線部分の検出の具体例を示す図である。
【図７】直線部分の検出の具体例を示す図である。
【図８】円弧検出部による円弧部分の検出動作の詳細を示す流れ図である。
【図９】円弧検出部による円弧部分の検出動作の詳細を示す流れ図である。
【図１０】円弧検出部による円弧部分の検出動作の詳細を示す流れ図である。
【図１１】具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図である。
【図１２】具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図である。
【図１３】具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図である。
【図１４】具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図である。
【符号の説明】
【００７５】
１００  画像処理演算部
１１０  画像格納部
１２０  画素列追跡部
１３０  接合点抽出部
１４０  セグメント分割部
１５０  直線検出部
１６０  円弧検出部
１７０  関数化処理部
１８０  出力画像生成部
２００  スキャナ
２１０  キーボード
２１２  マウス
２２０  ディスプレイ装置
２３０  プリンタ
【図１】
2005071243.tif 000003
【図２】
2005071243.tif 000004
【図３】
2005071243.tif 000005
【図４】
2005071243.tif 000006
【図５】
2005071243.tif 000007
【図６】
2005071243.tif 000008
【図７】
2005071243.tif 000009
【図８】
2005071243.tif 000010
【図９】
2005071243.tif 000011
【図１０】
2005071243.tif 000012
【図１１】
2005071243.tif 000013
【図１２】
2005071243.tif 000014
【図１３】
2005071243.tif 000015
【図１４】
2005071243.tif 000016