説明

アウトライン化方法およびそれを用いた画像圧縮方法、アウトライン化装置、ならびにアウトライン化プログラム

【課題】2値化画像のアウトライン化において、2値化画像に含まれる外郭の中で適切な部分については残しつつ、滑らかな曲線等を得るための画像処理を実行することができる、アウトライン化方法およびそれを用いた画像圧縮方法、アウトライン化装置、ならびにアウトライン化プログラムを提供する。
【解決手段】2値化された画像データから抽出された複数の輪郭画素について、所定の方向に隣接する画素間を直線で結んだ場合、ある直線が、隣接する直線よりも3倍を超えて長く、また、さらに先の直線よりも同様に3倍を超えて長い場合には、隣接する画素同士を結んだ直線が、直線ベクトル近似後のデータに、輪郭として残される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データからアウトラインデータを生成するアウトライン化方法およびそれを用いた画像圧縮方法、アウトライン化装置、ならびにアウトライン化プログラムに関する。
【背景技術】
【0002】
画像データに含まれる文字部分をアウトライン化する技術が、従来から種々提案されている。
【0003】
たとえば、特許文献1(特開2005−346137号公報)には、用紙に印刷された画像をスキャンすることによりアウトライン化データを作成する技術が開示されている。
【0004】
なお、特許文献1では、スキャン時に、文字の輪郭上で画素の欠落等のノイズが発生した場合には、アウトライン化後に除去される。
【特許文献1】特開2005−346137号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来のアウトライン化データの生成の際には、1文字ごとに、2値化データに対して輪郭画素が抽出され、当該輪郭画素に基づいてその外郭が直線近似され、そして、直線近似されたデータが曲線近似されていた。
【0006】
たとえば、図17に示される画素P1〜P4の4点が輪郭画素として抽出された場合、図18の直線L0で示される線が求められ、一定の条件が満たされれば、図18中に破線で示された、画素P1〜P4を結ぶ線の代わりに当該直線L0が外郭として直線近似データが作成されていた。なお、直線L0は、たとえば、画素P1〜P4の各点から等しい距離にある直線である。一定の条件とは、たとえば、画素P1〜P4の各点から直線L0の距離の和が予め定められた閾値以下となることである。
【0007】
しかしながら、図17および図18を参照して説明したような態様で文字の外郭が直線近似された場合、アウトライン化データにおいて、本来水平または垂直の線で表されるべきところが、端部の画素の欠けによって、本来表されるべき向きに対して多少斜めに表される事態が生じる。図19を参照して、具体的に説明する。
【0008】
図19(A)は、アルファベット「E」の2値化画像の一例であり、図19(B)は、図19(A)の2値化画像をアウトライン化したデータの一例である。
【0009】
図19(B)の左上の破線の円内の、下側の外郭を構成する線LX1は、図19(A)内の対応箇所と対比することにより理解されるように、本来は、2値化画像のデータのままで水平とされるべきところ、図17および図18を参照して説明したような直線近似が行なわれてしまったために、水平方向とは交わる方向に(右肩下がりに)伸びている。
【0010】
また、図19(B)の下方の破線の円内の、上側の外郭を構成する線LX2も、同様に、図19(A)内の対応箇所と対比して、本来は2値化画像のデータのままで水平とされるべきところが、水平方向とは交わる方向に(右肩上がりに)伸びている。
【0011】
つまり、従来のアウトライン化では、本来その外郭が水平または垂直にされるべきところであって、2値化画像では水平または垂直に表現されているにもかかわらず、画像処理を行なうことにより却って水平または垂直方向に対して多少角度をもった方向とされる場合があった。アウトライン化された画像の外郭において、水平方向または垂直方向とされるべきところがこれらの各方向に対して角度を持つ方向とされると、目立つとともに見る人に違和感を与える。
【0012】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、2値化画像のアウトライン化において、2値化画像に含まれる外郭の中で適切な部分については残しつつ、滑らかな曲線等を得るための画像処理を実行することができる、アウトライン化方法およびそれを用いた画像圧縮方法、アウトライン化装置、ならびにアウトライン化プログラムを提供することである。
【課題を解決するための手段】
【0013】
本発明に従ったアウトライン化方法は、2値化された画像データに対して、輪郭画素を抽出する輪郭画素抽出ステップと、前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似ステップとを備え、前記直線近似ステップは、隣接する輪郭画素間の距離を算出する算出ステップと、第1の輪郭画素と前記第1の輪郭画素に隣接する第2の輪郭画素とを結ぶ直線である第1の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第1の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第1の直線を、前記画像データの輪郭にするか否かを決定する決定ステップとを含むことを特徴とする。
【0014】
また、本発明のアウトライン化方法は、前記決定ステップでは、前記第1の直線が、前記第1の直線に隣接する直線を含む直線の長さに基づいて算出される長さよりも長い場合に、前記画像データの輪郭とされることが決定されることが好ましい。
【0015】
また、本発明のアウトライン化方法は、前記決定ステップでは、前記第1の直線が、前記第1の直線に隣接する第2の直線に対して所定の倍率以上長く、かつ、前記第2の直線に隣接する第3の直線に対して所定の倍率以上長い場合に、前記画像データの輪郭とされることが好ましい。
【0016】
また、本発明のアウトライン化方法では、前記所定の倍率は2〜4倍であることが好ましい。
【0017】
また、本発明のアウトライン化方法では、前記決定ステップは、前記第1の直線の長さが、前記第1の直線の一方側に隣接する前記第2の直線および前記第3の直線の長さに対して前記所定の倍率未満であった場合に、隣接する輪郭画素間を結んだ直線であって、前記第1の直線の他方側に隣接する第4の直線に対して前記所定の倍率以上長い場合には、前記第1の直線を前記画像データの輪郭とすると決定することが好ましい。
【0018】
本発明に従った画像圧縮方法は、上記したアウトライン化方法によりアウトライン化された画像データを少なくとも含む画像データを圧縮するステップを備えることを特徴とする。
【0019】
本発明に従ったアウトライン化装置は、2値化された画像データに対して、輪郭画素を抽出する抽出部と、前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似部とを備え、前記直線近似部は、隣接する輪郭画素間の距離を算出する算出部と、第1の輪郭画素と前記第1の輪郭画素に隣接する第2の輪郭画素とを結ぶ直線である第1の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第1の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第1の直線を、前記画像データの輪郭にするか否かを決定する決定部とを含むことを特徴とする。
【0020】
本発明に従ったアウトライン化プログラムは、画像処理装置に、画像データからアウトラインデータを生成させる、コンピュータ読取可能なアウトライン化プログラムであって、前記画像処理装置に、2値化された画像データに対して、輪郭画素を抽出する輪郭画素抽出ステップと、前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似ステップとを実行させ、前記直線近似ステップは、隣接する輪郭画素間の距離を算出する算出ステップと、第1の輪郭画素と前記第1の輪郭画素に隣接する第2の輪郭画素とを結ぶ直線である第1の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第1の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第1の直線を、前記画像データの輪郭にするか否かを決定する決定ステップとを含むことを特徴とする。
【発明の効果】
【0021】
本発明によれば、画像のアウトライン化において、2値化された画像データから輪郭画素を抽出した際に、隣接する2つの輪郭画素を結ぶことによって生じる直線の長さに応じて、当該直線が、2値化画像が直線で近似された際にそのまま残されるか否かが決定される。
【0022】
これにより、アウトライン画像の生成において直線近似された画像では、上記のような直線の長さによっては当該直線がそのまま残される場合がある。
【0023】
したがって、2値化画像のアウトライン化において、2値化画像の外郭を構成する直線の中で、適切な部分については残しつつ、他の部分については滑らかな曲線等を得るための画像処理が実行される。よって、2値化画像に含まれる外郭の中で適切な部分については残しつつ、上記画像処理により滑らかな曲線等を含むアウトライン画像を生成できるようにすることができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の画像処理装置の実施の形態について、図面を参照して説明する。
図1は、本発明の画像処理装置の一実施の形態であるMFP(Multi Function Peripherals)1の外観を示す図である。
【0025】
MFP1は、各種の処理に対する操作指示、ならびに、文字および数字のデータの入力を受付ける操作パネル15を備えている。操作パネル15には、電源キー等の、ユーザが操作するための複数のキーが設けられている。
【0026】
また、MFP1は、原稿を光電的に読取って画像データを得るスキャナ11、画像データに基づいて記録シート上に画像を印刷する印刷装置(エンジン)12、印刷装置12に記録シートを供給する給紙部18、印刷装置12によって画像を印刷された記録シートが排出されるトレイ19、および、後述するCPU(central processing unit)10A等を収納する制御部10を備えている。
【0027】
スキャナ11は、写真、文字、絵などの画像情報を原稿から光電的に読取って画像データを取得する。取得された画像データは、適宜処理を施された後、ネットワークを介して送信される電子メールの添付ファイル用のデータとして利用されたり、電話回線等を介して他の機器に送信されたり、印刷装置12に送られて印刷に供されたりする。
【0028】
図2は、図1のMFP1のハードウェア構成を示す図である。
図2を参照して、MFP1は、上述した構成要素の他に、入力画像処理部10B、記憶部10C、CPU10A、ネットワークI/F(インターフェイス)10E、出力画像処理部10D、および通信部10Fを含む。
【0029】
MFP1では、スキャナ11で取得された画像データは、入力画像処理部10Bに送られる。
【0030】
入力画像処理部10Bは、入力された画像の色変換、色補正、解像度変換、および領域判別等の処理を実行する。入力画像処理部10Bにおいて処理されたデータは、記憶部10Cで保存される。記憶部10Cは、DRAM(Dynamic Random Access Memory)等のメモリ、および、磁気メモリの一例であるハードディスクを備えたハードディスクドライブ(HDD)を含む。なお、MFP1では、入力画像処理部10Bは、たとえば、CPU10Aが記憶部10C(またはMFP1に対して着脱可能な記録媒体)に記録されたプログラムを実行することによって実現されても良いし、MFP1に実装される1つのまたは複数のASIC(Application Specific Integrated Circuit)によって実現されても良い。
【0031】
CPU10Aは、MFP1の全体的な制御、操作キー(表示パネル15の表示部に表示されるキー等)に対する操作の検出、操作パネル15の表示、入力されたデータの画像ファイルへの変更等の処理を実行する。
【0032】
ネットワークI/F10Eは、電子メール等をネットワークへ送信するI/F部分であり、プロトコルの作成等を行なう。
【0033】
出力画像処理部10Dは、写真画像の粒状性を向上させるためのスクリーン制御、文字エッジの滑らかさを向上させるためのスムージング処理、PWM(Pulse Width Modulation)制御等を行なう。
【0034】
印刷装置12は、出力画像処理部で生成されたデータを用紙に印刷する。
通信部10Fは、モデムおよびNCU(Network Control Unit)を含み、ファクシミリの送受信の変復調、ファクシミリの通信プロトコルの生成、電話回線への接続等を行なう。
【0035】
操作パネル15は、操作キーと表示部とを含む。表示部は、たとえば液晶のタッチパネルによって構成される。操作キーは、たとえば当該液晶のタッチパネルに表示されるタッチキーによって構成される。
【0036】
図3は、図2の入力画像処理部10Bの詳細な構成を示す図である。
図3を参照して、入力画像処理部10Bは、前処理部210と、領域判別部220と、2値化処理部231と、輪郭画像抽出部232と、直線ベクトル近似処理部233と、曲線ベクトル近似処理部234と、文字領域圧縮部235と、写真・背景領域圧縮部236と、圧縮データ合成部240とを含む。
【0037】
スキャナ11は、原稿をスキャンすることによって画像データを生成すると、その画像データを前処理部210に出力する。
【0038】
前処理部210では、画像データに対して、画像形式の変換、解像度の変換、および下地処理等の処理が行なわれる。これらの処理を施された画像データは、領域判別部220に送られる。
【0039】
領域判別部220では、まず、写真、背景、文字等の領域判別を行なうことにより、画像データを、文字領域と文字以外の領域(写真・背景領域)とに分ける。
【0040】
そして、領域判別部220は、文字領域の画像データを2値化処理部231に送り、写真・背景領域の画像データを写真・背景領域圧縮部236に送る。
【0041】
なお、領域判別部220は、写真・背景領域の画像データについては、入力されたフルカラー24bitの画像データから8bitの明度画像を生成し、当該明度画像にスムージング処理を行ない、ノイズを除去する。そして、生成されたスムージング画像を、ラベリング処理することにより、前処理部210から送られた画像データに含まれる複数の写真・背景領域の位置を検出する。
【0042】
2値化処理部231は、入力された文字領域の画像データに対し、2値化処理を行ない、文字と背景を分離する。2値化された画像データは、輪郭画素抽出部232へ送られ、輪郭画素抽出部232と直線ベクトル近似処理部233と曲線ベクトル近似処理部234とにおいて行なわれるアウトラインデータ変換処理に供される。
【0043】
輪郭画素抽出部232では、2値化された文字画像を走査して、パターンマッチングにより、輪郭画素が抽出される。
【0044】
図5(A)には、パターンマッチングに用いる輪郭画素抽出パターンの一例が示されており、図5(B)には、2値化された文字画像の一部が拡大されて示されている。2値化らされた文字画像を(たとえば、4画素単位で)走査し、図5(A)にいずれかのパターンに合致する画素が輪郭画素として抽出される。このようなパターンマッチングによって、一例として、図5(B)に示されるように、一点鎖線で囲まれた画素が、輪郭画素として抽出される。
【0045】
輪郭画素抽出部232において輪郭画素を抽出された後、画像データは、直線ベクトル近似処理部233に送られる。直線ベクトル近似処理部233では、輪郭画素抽出部232において抽出された輪郭画素について、近隣の輪郭画素が1つのベクトルとして表現されることにより、文字画像の輪郭が直線近似される。直線ベクトル近似処理部233において輪郭を直線近似された文字画像のデータは、曲線ベクトル近似処理部234に送られる。
【0046】
曲線ベクトル近似処理部234では、直線ベクトル近似処理部233において生成された、文字画像の輪郭の直線ベクトルに対し、曲線条件に応じて適宜制御点が設定され、当該制御点に基づいて、文字画像の輪郭の曲線近似がなされる。
【0047】
本実施の形態のMFP1では、曲線条件に応じた制御点の設定を、特徴の1つとする。なお、直線ベクトル近似処理部233における輪郭画素に基づいた直線ベクトルの設定、および、曲線ベクトル近似処理部234における制御点に基づいて曲線近似については、周知の技術を採用することができるため、ここでは説明を繰返さない。
【0048】
文字領域圧縮部235では、文字領域に適したデータの圧縮が行なわれる。また、写真・背景領域圧縮部236では、写真・背景領域に適したデータの圧縮が行なわれる。文字領域の画像データは、ベクトルデータ(位置情報)になっているため、FLATE圧縮方式のような可逆性の圧縮方式が好適と考えられる。写真・背景領域は、画質の維持よりもファイルサイズが小さくなることを優先させる場合、たとえば圧縮率を高く設定したJPEG圧縮方式のような非可逆性の圧縮方式が好適と考えられる。
【0049】
圧縮データ合成部240は、文字領域圧縮部235で圧縮された文字領域の画像データと写真・背景領域圧縮部236において圧縮された写真・背景領域の画像データとを合成して、PDF(Portable Document Format)ファイルを生成して、記憶部10Cへ出力する。
【0050】
MFP1では、文字には文字用に好適な圧縮を、写真には写真用に好適な圧縮を施し、最終的には、両者をレイヤとして重ね合わせて1つのPDFファイルフォーマットのデータを生成する。これにより、画像データを、単一の圧縮方式(例えば、JPEG圧縮)で圧縮するよりもサイズの小さいファイルに変換することができる。
【0051】
以上説明したように、MFP1では、スキャナ11で読込まれた画像は、入力画像処理部10Bで処理されることにより、文字領域と写真・背景領域とで異なる方式で圧縮処理されたPDFファイルに変換されて、記憶部10Cに保存される。
【0052】
図4は、このようなPDFファイルへの画像データの変換が行なわれる際の、輪郭画素抽出部232と直線ベクトル近似処理部233と曲線ベクトル近似処理部234において実行される処理(アウトライン変換処理)のフローチャートである。以下、アウトライン変換処理について、詳細に説明する。
【0053】
図4を参照して、輪郭画素抽出部232に2値化された画像データが入力されると、輪郭画像抽出部232は、ステップS10で、文字領域の画像データを、1文字単位に分離して、ステップS20へ処理を進める。
【0054】
ステップS20では、輪郭画素抽出部232は、ステップS10において分離されたすべての文字について、ステップS30〜ステップS80の処理の対象とされたか否かを判断し、対象とされたと判断するとアウトライン変換処理を終了させ、まだ対象とされていない文字があると判断するとステップS30へ処理を進める。
【0055】
ステップS30では、輪郭画素抽出部232は、ステップS10で分離された各文字の中でまだステップS30〜ステップS80の処理対象とされていない文字を処理対象とし、当該処理対象の文字について、パターンマッチングにより輪郭画素を抽出して、ステップS40へ処理を進める。
【0056】
ステップS30の処理により、図5を参照して上述したように、図5(B)において一点鎖線で囲まれた画素が、輪郭画素として抽出される。
【0057】
ステップS40では、輪郭画素抽出部232は、処理対象の文字においてすべての輪郭画素が抽出されたか否かを判断し、抽出されたと判断するとステップS50へ処理を進める。
【0058】
ステップS50では、直線ベクトル近似処理部233が、上述したように、輪郭画素抽出部232によって抽出された輪郭画素に基づいて、複数の輪郭画素を所定のアルゴリズムに従って直線近似し、近似された直線を順に直線ベクトルとして連結してゆくことにより、処理対象となっている文字の輪郭を直線ベクトルで近似して、ステップS60へ処理を進める。なお、直線近似アルゴリズムとしては、公知のいずれの方法も適用可能である。
【0059】
ステップS50における直線ベクトル近似処理の内容については、後述する。
ステップS60では、直線ベクトル近似処理部233は、処理対象となっている文字について抽出されたすべての輪郭画素について直線ベクトル近似が終了したか否かを判断し、まだ終了していないと判断するとステップS50へ処理を戻し、終了したと判断するとステップS70へ処理を進める。
【0060】
図6は、「u」が処理対象の文字とされている場合に、当該文字の画像に対して抽出された輪郭画素を模式的に示す図である。
【0061】
図6では、「u」の文字画像に対して抽出された輪郭画素が、点線の円を付されて示されている。そして、これらの輪郭画素に基づいて当該文字画像が直線ベクトル近似されたものを、図7に示す。
【0062】
図7では、直線ベクトルが、「●」という記号で連結されている状態が示されている。
ステップS70では、図7に示したような直線ベクトル近似された処理対象の文字について、各直線ベクトル上に適宜制御点を設定し、当該制御点を用いて、処理対象の輪郭を曲線ベクトル近似して、処理をステップS80へ進める。
【0063】
ステップS80では、曲線ベクトル近似処理部234は、処理対象の文字画像についてステップS50で生成された直線ベクトルのすべてについて曲線ベクトル近似が終了したか否かを判断し、終了していないと判断するとステップS70へ処理を戻し、終了したと判断するとステップS20へ処理を戻す。
【0064】
ステップS70の処理によりすべての直線ベクトルについて曲線ベクトル近似がなされると、図7に示した直線ベクトルによって表現された文字画像が、図8に示すように、曲線を含む文字画像へと変換される。
【0065】
図9から図11は、図4のステップS50の直線ベクトル近似処理のサブルーチンのフローチャートである。
【0066】
まず図9を参照して、直線ベクトル近似処理では、処理対象とされている文字画像について抽出された輪郭画素の中から、1つの処理対象の輪郭画素と、当該処理対象の輪郭画素にある方向に隣接する輪郭画素とが選択されて、処理がステップS503へ進められる。以下の説明では、便宜上、処理対象の輪郭画素を「輪郭画素A」とし、上記のある方向を「第1の方向」とし、また、処理対象の輪郭画素に隣接する輪郭画素を「輪郭画素B」とする。
【0067】
図12は、処理対象とされている文字画像の2値化画像から抽出された複数の輪郭画素の一部について、その配列の一部を示す図である。図12では、反時計方向(第1の方向)に、点X、点Y、点Z、点A、点B、点C、点D、点Eが並んでいる。
【0068】
そして、図12中の点Aと点Bが、それぞれ上記したステップS501において選択された輪郭画素Aと輪郭画素Bとする。
【0069】
さらに図9を参照して、ステップS503では、処理対象の輪郭画素Aについて、第1の方向に隣接する輪郭画素Bに加え、さらに当該輪郭画素Bと第1の方向に隣接する輪郭画素(図12の点C)と、さらに輪郭画素Cと第1の方向に隣接する輪郭画素(図12の点D)とが選択されて、ステップS505へ処理が進められる。
【0070】
ステップS505では、ステップS501とステップS503とにおいて選択した4つの輪郭画素について、各画素間の距離が算出される。つまり、点Aと点Bの距離(|AB|)と、点Bと点Cの距離(|BC|)と、点Cと点Dの距離(|CD|)とが算出される。
【0071】
そして、ステップS507では、|AB|が|BC|の3倍よりも長く、かつ、|AB|が|CD|の3倍よりも長いものであるか否かが判断される。そして、|AB|が|BC|の3倍よりも長く、かつ、|AB|が|CD|の3倍よりも長いと判断されると、ステップS509へ処理が進められ、そうではないと判断されると、ステップS519へ処理が進められる。
【0072】
ステップS509では、処理対象とされている輪郭画素(輪郭画素A)の、第2の方向に隣接する2つの輪郭画素(図12の輪郭画素Zと輪郭画素Y)が選択されて、ステップS511へ処理が進められる。
【0073】
なお、第2の方向とは、図12に示すように、第1の方向とは反対の方向であり、たとえば、時計方向とされる。
【0074】
ステップS511では、処理対象の輪郭画素とステップS509で選択された2つ輪郭画素との距離(つまり、点Aと点Zの距離|AZ|および点Zと点Yの距離|ZY|)が算出されて、ステップS513へ処理が進められる。
【0075】
ステップS513では、|BA|が、|AZ|を3倍したものよりも大きく、かつ、|ZY|を3倍したものよりも大きいか否かが判断される。なお、|BA|と|AB|は、ともに点Aと点Bの距離である。
【0076】
そして、|BA|が、|AZ|を3倍したものよりも大きく、かつ、|ZY|を3倍したものよりも大きいと判断されると、ステップS515へ処理が進められる。一方、|CB|が、|AZ|を3倍したものまたは|ZY|を3倍したものの少なくとも一方以下であれば、ステップS517へ処理が進められる。
【0077】
ステップS517では、処理対象の輪郭画素Aと当該画素と第1の方向に隣接する輪郭画素である輪郭画素Bについて、これらを結んだ直線が、処理対象の文字画像の直線ベクトル近似データにおいて輪郭を構成する直線ベクトルとして残されて、ステップS537に処理が進められる。
【0078】
一方、ステップS515では、点Bと点Aと点Zの近似直線の方程式が算出されて、ステップS516へ処理が進められる。また、ステップS519では、点Aと点Bと点Cの近似直線の方程式が算出されて、ステップS521へ処理が進められる。
【0079】
ここで、3点の近似直線とは、当該3点から等距離にある直線をいう。たとえば、点Aと点Bと点Cの近似直線とは、これらの点から等距離にある直線であり、たとえば図13に一点鎖線L1として示す。
【0080】
ステップS516では、ステップS515で算出された近似直線と点Z、点A、点Bの各点との距離(または、近似直線と各点の距離との平均)が、予め定められた閾値RW2未満であるか否かが判断され、RW2未満であると判断されるとステップS539(図11参照)へ処理が進められ、そうではないと判断されるとステップS517へ処理が進められる。なお、図9のステップS516では、ステップS519で算出された近似直線と点B、点A、点Zの各点との距離が、それぞれ、RB、RA、RZとして示されている。
【0081】
一方、ステップS521では、ステップS519で算出された近似直線と点A〜点Cの各点との距離(または、近似直線と各点の距離との平均)が、予め定められた閾値RW1未満であるか否かが判断され、RW1未満であると判断されるとステップS523へ処理が進められ、そうではないと判断されるとステップS517へ処理が進められる。なお、図9のステップS521では、ステップS519で算出された近似直線と点A〜点Cの各点との距離が、それぞれ、RA、RB、RCとして示されている。
【0082】
図10を参照して、ステップS523では、点Aと点Bと点Cと点Dについての近似直線が算出されて、ステップS525へ処理が進められる。
【0083】
ステップS525では、ステップS523で算出された近似直線と点A〜点Dの各点との距離の平均が予め定められた閾値RW1未満であるか否かが判断される。RW1未満であると判断されるとステップS529へ処理が進められ、そうではないと判断されるとステップS527へ処理が進められる。
【0084】
ステップS527では、点A〜点Cの3点が、点Aと点Cを直接接続する直線(直線AC)と近似されて直線ベクトル近似後のデータとされて、ステップS537へ処理が進められる。
【0085】
ステップS529では、点A〜点Eの5点についての近似直線が算出される。
これ以降、ステップS521やステップS525のように、処理対象となる文字画像について抽出された、隣接する複数の輪郭画素について、当該複数の画素と等距離となるような近似直線が算出され、そして、当該近似直線と各点との距離(または、その平均)が閾値RW1未満となるか否かが判断される。そして、閾値RW1未満となれば、さらに第1の方向(図12参照)に隣接する輪郭画素が、前回近似直線が算出された際に利用された輪郭画素に加えられて、新たな近似直線が算出され、そして、当該近似直線と各点との距離(または、その平均)が閾値RW1と比較される。
【0086】
一方、近似直線と各輪郭画素の距離の平均が閾値RW1以上となった場合には、最後に近似直線の算出の対象とした輪郭画素の1つ手前の輪郭画素と処理対象の輪郭画素とを直接結ぶ直線を直線ベクトル近似後のデータに含まれる近似直線とされる。近似直線の算出は、上記の距離が閾値RW1以上となるまで行なわれる。
【0087】
つまり、処理対象の輪郭画素から、第1の方向(図12参照)にN番目に隣接する輪郭画素Nまでを用いて近似直線を算出した場合に(S531)、点A〜点Nの各点と近似直線との距離の平均が閾値RW1以上となるところまで近似直線の算出などが続けられる。そして、そのような、つまり、算出された近似直線と当該近似直線のもととなった各隣接画素との距離の平均が閾値RW1以上となるところまで続けられ、そのような隣接画素が見つかれば(S533)、その1つ手前の隣接画素までを対象として算出された近似直線(隣接画素Nまでの近似直線を算出したときに各輪郭画素と近似直線の距離の平均が閾値RW1以上となった場合であれば、輪郭画素(N−1)までを対象とされた近似直線が、輪郭画素A〜輪郭画素(N−1)を近似する直線ベクトルとされて、ステップS537へ処理が進められる。
【0088】
図11を参照して、ステップS539では、点Bと点Aと点Zと点Yについての近似直線が算出されて、ステップS541へ処理が進められる。
【0089】
ステップS541では、ステップS539で算出された近似直線と点Bと点Aと点Zと点Yの各点との距離の平均が予め定められた閾値RW2未満であるか否かが判断される。RW2未満であると判断されるとステップS545へ処理が進められ、そうではないと判断されるとステップS543へ処理が進められる。
【0090】
ステップS543では、点B、点A、点Zの3点が、点Bと点Zを直接接続する直線(直線BZ)と近似されて直線ベクトル近似後のデータとされて、ステップS537へ処理が進められる。
【0091】
ステップS545では、点B、点A、点Z、点Y、点Xの5点についての近似直線が算出される。
【0092】
これ以降、ステップS516やステップS541のように、処理対象となる文字画像について抽出された、隣接する複数の輪郭画素について、当該複数の画素と等距離となるような近似直線が算出され、そして、当該近似直線と各点との距離(または、その平均)が閾値RW2未満となるか否かが判断される。そして、閾値RW2未満となれば、さらに第2の方向(図12参照)に隣接する輪郭画素が、前回近似直線が算出された際に利用された輪郭画素に加えられて、新たな近似直線が算出され、そして、当該近似直線と各点との距離(または、その平均)が閾値RW2と比較される。
【0093】
一方、近似直線と各輪郭画素の距離の平均が閾値RW2以上となった場合には、最後に近似直線の算出の対象とした輪郭画素の1つ手前の輪郭画素と処理対象の輪郭画素とを直接結ぶ直線を直線ベクトル近似後のデータに含まれる近似直線とされる。近似直線の算出は、上記の距離が閾値RW2以上となるまで行なわれる。
【0094】
つまり、処理対象の輪郭画素から、第2の方向(図12参照)にM番目に隣接する輪郭画素Mまでを用いて近似直線を算出した場合に(S547)、点Bから、当該点Bに対して時計方向(第2の方向)に並ぶM番目までの各点と近似直線との距離の平均が閾値RW2以上となるところまで近似直線の算出などが続けられる。そして、そのような、つまり、算出された近似直線と当該近似直線のもととなった各隣接画素との距離の平均が閾値RW2以上となるところまで続けられ、そのような隣接画素が見つかれば(S549)、当該隣接画素に対して第2の方向について1つ手前の隣接画素までを対象として算出された近似直線(隣接画素Mまでの近似直線を算出したときに各輪郭画素と近似直線の距離の平均が閾値RW2以上となった場合であれば、輪郭画素(M−1)までを対象とされた近似直線が、輪郭画素Bから第2の方向に並ぶ輪郭画素(M−1)までを近似する直線ベクトルとされて、ステップS537へ処理が進められる。
【0095】
図10に戻って、ステップS537では、処理対象となる輪郭画素が更新されて、ステップS501(図9参照)へ処理が戻される。
【0096】
なお、ステップS537では、ステップS517、ステップS527、ステップS535、ステップS543またはステップS551において直線近似の対象とされた最後の輪郭画素と第1の方向に隣接する輪郭画素に、処理対象の輪郭画素が更新される。
【0097】
以上説明した本実施の形態では、直線ベクトル近似において、処理対象とされた輪郭画素(輪郭画素A)について、当該輪郭画素と第1の方向に隣接する輪郭画素(輪郭画素B)を接続する第1の直線(直線AB)が、所定の条件が満たされる場合に、直線ベクトル近似後のデータにおいて直線ベクトルとして残される。
【0098】
なお、上記した説明における閾値RW1と閾値RW2は、互いに独立に設定されることが好ましく、また、M,Nの値についても、これらの値は互いに独立して設定されることが好ましい。
【0099】
つまり、ステップS507のように、当該直線(線分AB)の長さが当該直線ABに隣接する直線BCに対して3倍よりも長く、かつ、直線BCと第1の方向に隣接する直線CDと比べてその3倍よりも長い場合には、図14に示されるように、直線ABは、直線ベクトル近似されたデータにおいて、当該画像データの輪郭とされる(ステップS517)。つまり、本実施の形態では、隣接する輪郭画素を直接結んだ直線を直線ベクトル近似後のデータにおいてそのまま残すことができる。
【0100】
また、本実施の形態では、上記直線(線分AB)の長さが当該直線ABに隣接する直線BCの3倍以下であるか、または、直線BCと第1の方向に隣接する直線CDと比べてその3倍以下である場合には、たとえば、図15に示されるように、点Aと点Cとが直接結ばれた直線ACが、直線ベクトル近似されたデータにおいて、当該画像データの輪郭とされる(ステップS527)。
【0101】
なお、図9を参照して説明した本実施の形態では、ステップS507において、直線ABの長さが直線BCの長さの3倍より長くかつ直線CDの長さの3倍よりも長い場合(ステップS507においてYES)には、直接ステップS517へ処理を進めて(ステップS509〜ステップS515を省略して)、ステップS517で直線ABを直線近似後のデータにおいて輪郭として残すための処理が実行されてもよい。
【0102】
以上説明した本実施の形態では、2値化された画像データから抽出された複数の輪郭画素について、所定の方向に隣接する画素間を直線で結んだ場合、ある直線が、隣接する直線よりも3倍を超えて長く、また、さらに先の直線よりも同様に3倍を超えて長い場合には、隣接する画素同士を結んだ直線が、直線ベクトル近似後のデータに、輪郭として残される。
【0103】
なお、本実施の形態では、隣接する輪郭画素間を結ぶ直線を直線ベクトル近似後のデータにおいてそのまま輪郭として残すか否かを決定する場合の、長さの比率の一例として「3」が採用されたが、本発明におけるこのような倍率は、この値に限定されない。
【0104】
図16に、直線ベクトル近似処理において利用される倍率を変更して生成されたアウトライン化データの一例を示す。
【0105】
図16(A)は、輪郭画素の抽出の対象となった入力2値画像を示す。また、図16(B)には、ステップS507等で利用される倍率を1としてアウトライン化された画像が、図16(C)には、ステップS507等で利用される倍率を2としてアウトライン化された画像が、図16(D)には、ステップS507等で利用される倍率を3としてアウトライン化された画像が、図16(E)には、ステップS507等で利用される倍率を4としてアウトライン化された画像が、そして、図16(F)には、ステップS507等で利用される倍率を5としてアウトライン化された画像が、それぞれ示されている。なお、利用される倍率が5以上とされた場合のアウトライン化された画像の結果は、図16(F)に示されたものと同様の結果となった。
【0106】
図16(A)〜図16(F)には、それぞれ、アルファベット「E」と「Y」についての画像が示されている。
【0107】
図16(B)に示された結果では、破線の楕円で示されているように、2値画素においける画像の粗さが完全には取りきれずに残されている。
【0108】
図16(C)では、図16(B)において破線の楕円で示したような画像の粗さはほぼ解消され、図16(C)では、破線の円で示される場所において多少画像の粗さが残される程度とされている。
【0109】
図16(D)では、ほぼ理想的なアウトライン化された画像が得られている。
図16(E)では、破線の円で示されているように、水平な線とされるべき外殻の下側の線が、線LX3で示されるように、右肩下がりの線となっている。
【0110】
図16(F)では、図19(B)と同様に、2ヶ所で、本来水平とされるべきところが右肩下がりまたは右肩上がりになっている。
【0111】
以上より、閾値倍率の値としては、2〜4が好ましく、3程度であれば最も好ましいと考えられる。
【0112】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0113】
【図1】本発明の画像処理装置の一実施の形態であるMFPの外観を示す図である。
【図2】図1のMFPのハードウェア構成を示す図である。
【図3】図2の入力画像処理部の詳細な構成を示す図である。
【図4】図1のMFPにおいて実行されるアウトライン変換処理のフローチャートである。
【図5】図1のMFPで実行される輪郭画素の抽出の態様を説明するための図である。
【図6】図4のアウトライン変換処理において抽出された輪郭画素を模式的に示す図である。
【図7】図4のアウトライン変換処理における直線ベクトル近似によって得られた画像の一例を示す図である。
【図8】図4のアウトライン変換処理における曲線ベクトル近似によって得られた画像の一例を示す図である。
【図9】図4の直線ベクトル近似処理のサブルーチンのフローチャートである。
【図10】図4の直線ベクトル近似処理のサブルーチンのフローチャートである。
【図11】図4の直線ベクトル近似処理のサブルーチンのフローチャートである。
【図12】本実施の形態の直線ベクトル近似処理の内容を説明するための図である。
【図13】本実施の形態の直線ベクトル近似処理の内容を説明するための図である。
【図14】本実施の形態の直線ベクトル近似処理の内容を説明するための図である。
【図15】本実施の形態の直線ベクトル近似処理の内容を説明するための図である。
【図16】本実施の形態の直線ベクトル近似処理において、(A)は、輪郭画素の抽出の対象となった入力2値画像を示し、(B)は、利用される倍率が1とされた場合のアウトライン化された画像を示し、(C)は、利用される倍率が2とされた場合のアウトライン化された画像を示し、(D)は、利用される倍率が3とされたアウトライン化された画像を示し、(E)は、利用される倍率が4とされたアウトライン化された画像を示し、(F)は、利用される倍率が5とされたアウトライン化された画像を示す。
【図17】一般的なアウトライン化処理の内容を説明するための図である。
【図18】一般的なアウトライン化処理の内容を説明するための図である。
【図19】(A)はアウトライン化の前段階で2値化された画像の一例を示す図であり、(B)は、従来の技術に従ってアウトライン化された画像の一例を示す図である。
【符号の説明】
【0114】
1 MFP、10 制御部、10A CPU、10B 入力画像処理部、10C 記憶部、10D 出力画像処理部、10E ネットワークI/F、10F 通信部、11 スキャナ、12 印刷装置、15 操作パネル、18 給紙部、19 トレイ、210 前処理部、220 領域判別部、231 2値化処理部、232 輪郭画素抽出部、233 直線ベクトル近似処理部、234 曲線ベクトル近似処理部、235 文字領域圧縮部、236 写真・背景領域圧縮部、240 圧縮データ合成部。

【特許請求の範囲】
【請求項1】
2値化された画像データに対して、輪郭画素を抽出する輪郭画素抽出ステップと、
前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似ステップとを備え、
前記直線近似ステップは、
隣接する輪郭画素間の距離を算出する算出ステップと、
第1の輪郭画素と前記第1の輪郭画素に隣接する第2の輪郭画素とを結ぶ直線である第1の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第1の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第1の直線を、前記画像データの輪郭にするか否かを決定する決定ステップとを含む、アウトライン化方法。
【請求項2】
前記決定ステップでは、前記第1の直線が、前記第1の直線に隣接する直線を含む直線の長さに基づいて算出される長さよりも長い場合に、前記画像データの輪郭とされることが決定される、請求項1に記載のアウトライン化方法。
【請求項3】
前記決定ステップでは、前記第1の直線が、前記第1の直線に隣接する第2の直線に対して所定の倍率以上長く、かつ、前記第2の直線に隣接する第3の直線に対して所定の倍率以上長い場合に、前記画像データの輪郭とされる、請求項2に記載のアウトライン化方法。
【請求項4】
前記所定の倍率は2〜4倍である、請求項3に記載のアウトライン化方法。
【請求項5】
前記決定ステップは、前記第1の直線の長さが、前記第1の直線の一方側に隣接する前記第2の直線および前記第3の直線の長さに対して前記所定の倍率未満であった場合に、隣接する輪郭画素間を結んだ直線であって、前記第1の直線の他方側に隣接する第4の直線に対して前記所定の倍率以上長い場合には、前記第1の直線を前記画像データの輪郭とすると決定する、請求項3または請求項4に記載のアウトライン化方法。
【請求項6】
請求項1〜請求項5のいずれか1項に記載のアウトライン化方法によりアウトライン化された画像データを少なくとも含む画像データを圧縮するステップを備える、画像圧縮方法。
【請求項7】
2値化された画像データに対して、輪郭画素を抽出する抽出部と、
前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似部とを備え、
前記直線近似部は、
隣接する輪郭画素間の距離を算出する算出部と、
第1の輪郭画素と前記第1の輪郭画素に隣接する第2の輪郭画素とを結ぶ直線である第1の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第1の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第1の直線を、前記画像データの輪郭にするか否かを決定する決定部とを含む、アウトライン化装置。
【請求項8】
画像処理装置に、画像データからアウトラインデータを生成させる、コンピュータ読取可能なアウトライン化プログラムであって、
前記画像処理装置に、
2値化された画像データに対して、輪郭画素を抽出する輪郭画素抽出ステップと、
前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似ステップとを実行させ、
前記直線近似ステップは、
隣接する輪郭画素間の距離を算出する算出ステップと、
第1の輪郭画素と前記第1の輪郭画素に隣接する第2の輪郭画素とを結ぶ直線である第1の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第1の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第1の直線を、前記画像データの輪郭にするか否かを決定する決定ステップとを含む、アウトライン化プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2010−74275(P2010−74275A)
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2008−236771(P2008−236771)
【出願日】平成20年9月16日(2008.9.16)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】