JP4878209B2 - 画像処理装置、画像処理方法、コンピュータプログラム - Google Patents

画像処理装置、画像処理方法、コンピュータプログラム Download PDF

Info

Publication number
JP4878209B2
JP4878209B2 JP2006135072A JP2006135072A JP4878209B2 JP 4878209 B2 JP4878209 B2 JP 4878209B2 JP 2006135072 A JP2006135072 A JP 2006135072A JP 2006135072 A JP2006135072 A JP 2006135072A JP 4878209 B2 JP4878209 B2 JP 4878209B2
Authority
JP
Japan
Prior art keywords
approximation
outline
area
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
JP2006135072A
Other languages
English (en)
Other versions
JP2007305034A5 (ja
JP2007305034A (ja
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2006135072A priority Critical patent/JP4878209B2/ja
Priority to US11/748,357 priority patent/US8300946B2/en
Publication of JP2007305034A publication Critical patent/JP2007305034A/ja
Publication of JP2007305034A5 publication Critical patent/JP2007305034A5/ja
Application granted granted Critical
Publication of JP4878209B2 publication Critical patent/JP4878209B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Generation (AREA)

Description

本発明は、図面や文書画像内などに含まれる文字画像や線図形画像に基づいてベクトル情報の生成を行う装置とその方法に関するものである。
近年、ペーパーレス化への要求が高まり、既存の画像データを電子化して再利用することが頻繁に行われるようになってきた。画像データの再利用は、画像データを2値化処理した後にベクトル化技術を用いてベクトルデータに変換し、このベクトルデータをCADソフト等で使用するという提案が行われてきている。
例えば、特許第3026592号(特許文献1)では、2値画像のベクトル化に関する提案が為されている。この特許文献1では、『入力した画像を画素マトリクス内でラスタ走査して当該画素マトリクス内の複数画素の状態に応じて黒画素と白画素との境界に輪郭ベクトルを抽出する輪郭抽出方法であって、
前記複数画素の状態が主走査方向または副走査方向に継続する輪郭の途中部分を表わす場合、当該輪郭ベクトルの座標値のセット及び前記輪郭ベクトル同士の接続関係を特定するための処理を行わず、
前記複数画素の状態が主走査方向または副走査方向に開始する輪郭の開始部分を表わす場合には当該輪郭ベクトルの座標値をセットし接続状態を未定とし、
前記複数画素の状態が主走査方向又は副走査方向に途切れる輪郭の終了部分を表す場合には輪郭ベクトルの座標値をセットし接続状態を確定することにより前記輪郭ベクトルを抽出する』ことを提案している。特許文献1では、画像中の全ての輪郭線を1回のラスタ走査順で抽出でき、かつ、全画像データを記憶するための画像メモリを必要としないため、メモリの容量を少なくできる効果を有している。
また、特許第3049672号(特許文献2)では、2値画像の輪郭情報を用いて高画質な変倍画像を得る画像処理装置が紹介されている。特許文献3は、2値画像からアウトラインベクトルを抽出し、該抽出したアウトラインベクトルを所望の倍率で変倍することにより、高画質の変倍されたデジタル2値画像を得るようにするものである。
また、2値画像の輪郭情報を作成する際に、直線やベジェ曲線などを用いて関数近似することにより輪郭情報を作成することも考えられる。
特許第3026592号 特許第3049672号
特許文献1、2のように輪郭からアウトラインベクトルを作成する技術では、線状の図形(直線や曲線など)の場合であっても、その輪郭を表すベクトルデータが作成されることになる。このような輪郭ベクトルデータは、黒画素と白画素の境界(輪郭)に基づいて作成されるループ状のベクトルデータになる。つまり、輪郭ベクトルデータは、その図形をそのままの形状で再利用したり、そのままの形状で変倍だけを行って再利用する場合に適している。
一方、再利用する際、直線や曲線の太さだけを変更したり、長さだけを変更したり、曲率だけを変更したりして再利用したい場合もある。しかしながら、図形の輪郭を表す輪郭ベクトルデータは、全体をそのままの形状で全体的に変倍する際には適しているが、太さや長さだけを変更したい場合には扱いづらい。このように、太さだけを変更したい場合などにおいては、直線や曲線などの線状図形は、輪郭ベクトルデータではなく、中心線を表す線状ベクトルと線の太さ情報とで表現する方が望ましい場合がある。
しかしながら、従来技術では、これらのベクトルデータ化の手法を適切に切り替えることは考えられていなかった。
また、ビジネス文書などの画像であっても当該画像に含まれる文字の大きさは一定ではなく、フォントやサイズの異なる文字が混在している場合がある。また、それら全てに対して同一のベクトル化手法を適用すると、意図した文字の形状とは変わったり、データ量が多くなりすぎてしまったりする場合がある。
記課題を解決するために、本発明の画像処理装置は、入力画像を複数の領域に分割する領域分割手段と、前記領域分割手段により文字属性の領域として分割された領域について、当該文字属性の領域に含まれる文字画像の輪郭形状を表すアウトラインベクトルデータを生成するアウトライン化手段と、前記アウトラインベクトルデータに対して実行する関数近似処理を判定するための近似処理判定用閾値と、前記文字画像の大きさとを比較する第1の比較手段と、前記第1の比較手段での比較により前記文字画像の大きさが前記近似処理判定用閾値以下であると判定した場合、前記アウトライン化手段で生成された当該文字画像のアウトラインベクトルデータに対して、曲線近似を用いずに直線近似を用いた関数近似処理を実行することにより、関数近似された第1のアウトラインデータを生成する第1の近似手段と、前記第1の比較手段での比較により前記文字画像の大きさが前記近似処理判定用閾値より大きいと判定した場合、前記アウトライン化手段で生成された当該文字画像のアウトラインベクトルデータに対して、曲線近似を用いた関数近似処理を実行することにより、関数近似された第2のアウトラインデータを生成する第2の近似手段と、前記第1の比較手段で前記文字画像の大きさが前記近似処理判定用閾値以下であると判定した場合は、前記第1の近似手段で生成された前記関数近似された第1のアウトラインデータを出力する一方、前記第1の比較手段で前記文字画像の大きさが前記近似処理判定用閾値より大きいと判定した場合は、前記第2の近似手段で生成された前記関数近似された第2のアウトラインデータを出力する出力手段と、を有することを特徴とする。
本発明によれば、ベクトル化処理対象の画像に対して、それぞれの画像に適したベクトルデータになるように自動的に処理を選択できるようになる。
小さい文字に対し曲線で関数近似すると文字の品位が低下する場合があるが、請求項1記載の発明によれば、アウトラインベクトルデータを関数近似する際に、曲線近似を用いずに直線近似を用いて関数近似するか、曲線近似を用いて関数近似するかを、文字サイズに基づいて適応的に切り替えることで、文字形状の品位を向上させることもできる。
また、請求項2記載の発明によれば、非常に小さい文字に対してはアウトラインデータ化しないことで処理効率を高めることもできる。
また、請求項5記載の発明によれば、図形領域に対して細線ベクトル化に適しているかどうか判断して、図形の中心線を通るベクトルデータにするか、図形の輪郭そのものを示すベクトルデータにするか自動的に選択することができる。
(実施例1)
本実施形態1の画像処理装置は、例えば、SCAN/COPY/PRINT/FAXなどの機能を有するデジタル複合機で実現できる。図2は、本実施形態1の画像処理装置の概略ブロック図である。図2において、画像処理装置は、スキャナ部201、コントローラ202、プリンタ部203、操作部204、メモリ205等で構成される。スキャナ部201では、原稿の読み取り処理を行なう。コントローラ202は、スキャナ部201から読み取られた画像に画像処理を施しメモリ205に格納したり、その他の処理の制御を行ったりする。操作部204は、スキャナ部201で読み取った画像に対する各種の印刷条件を設定したり、ユーザからの各種指示を受けたりするためのユーザインタフェースである。プリンタ部203は、メモリ205から読み出された画像データを、操作部204で設定された印刷設定条件に従って記録用紙に印刷(画像形成)する。また、この画像処理装置は、ネットワーク206を介して、画像データを管理するサーバ207や、この画像処理装置に対してプリントの実行を指示するパソコン(PC)208等と接続されている。
図1は、本発明の処理フローの概略を説明するものである。
ステップS100(画像入力処理)では、スキャナ部201で原稿を読み取って生成された画像データや、他の装置からネットワークを介して送信されてきた画像データが、画像処理装置に入力される。
ステップS101(2値化処理)では、公知の2値化処理を用いて、入力画像の2値化処理を行う。2値化処理はどのような手法であっても構わないが、例えば、入力画像の輝度値を所定の閾値で2値化すればよい。ただし、入力画像がすでに2値画像だった場合には、この2値化処理を行う必要はない。
ステップS102(領域分割・属性識別処理)では、2値画像に基づいて公知の領域分割処理と属性識別処理を行う。ここでは、入力された2値画像データを、文字/図/線/表などの属性ごとの領域(ブロック形状の領域)を識別し、各領域に対して属性情報を付与する。
例えば、次のような処理を用いて領域分割・属性識別処理とを行うことができる。まず、2値化処理で得られた2値画像より、黒画素の輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出することによって領域分割する。更に、面積の大きい黒画素の塊については、内部にある白画素に対しても白画素の輪郭線追跡を行い、白画素の塊を抽出し、更に一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出していく。このようにして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つ領域へ分類していく。例えば、縦横比が1に近く、大きさが所定の範囲のものを文字相当の画素塊とする。そして、文字相当の画素塊同士が近接し且つ整列している場合はグループ化を行って、文字行を定め、更に所定の距離内にある同様の形状の文字行同士をグループ化して文字領域として判別する。また、扁平な画素塊を線領域とする。また、一定の大きさ以上で、かつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域とする。また、不定形の画素塊が散在している領域を写真領域とする。それ以外の形状の画素塊を図画領域などとして判別する。
ステップS103では、付加された属性が第1の属性であるか第2の属性であるかの判定を、領域毎に行う。本実施例では、第1の属性は文字属性とし、第2の属性は図形属性とする。第1の属性と判定された場合は、ステップS104へ進み、第2の属性と判定された場合はステップS108に進む。
ステップS104では、この後の処理(ステップS105やS106)で使うパラメータが設定される。このパラメータ設定では、第1の属性(文字属性)の領域を処理するのに適したパラメータがメモリから呼び出されて設定される。なお、この第1パラメータ設定S104は、パラメータ設定の変更が必要になるたび(処理する領域の属性が変わった場合だけ)に行うようにしても良い。
ステップS105(アウトライン化処理A)では、オブジェクト(ここでは文字画像)の輪郭形状に基づいて、輪郭そのものを表しているアウトラインベクトルデータ(粗輪郭ベクトル)を作成する。
ステップS106(関数近似処理)では、S105で作成されたアウトラインベクトルデータをベジェ関数近似など用いて、滑らかなアウトラインデータへ変換する処理である。S105では輪郭の画素形状をそのままベクトルデータ化するのでジャギーが反映されたベクトルデータになっているが、S106で関数近似することによって滑らかなアウトラインデータとなるので、アウトラインデータを再利用する際に拡大しても元画像のジャギーの影響が小さくなる。
ステップS107(出力変換処理)では、出力するファイル形式に合うように、ステップS106で生成された当該領域のアウトラインデータの記述を変換する。なお、文字属性の領域の横書き、縦書きの判定を行っておき、ここで、横書き・縦書きの情報を付加して出力するように変換しても構わない。
一方、ステップS103において、第2の属性(図形属性)と判定された場合には、ステップS108に進む。
ステップS108では、この後の処理(ステップS109〜S116)で使う第2パラメータが設定される。この第2パラメータ設定では、第2の属性(図形属性)の領域を処理するのに適したパラメータがメモリから呼び出されて設定される。なお、この第2パラメータ設定S108は、パラメータ設定の変更が必要になるたび(処理する領域の属性が変わった場合だけ)に行うようにしても良い。
ステップS109(細線化処理)では、公知の2値画像細線化手法で、細線化処理が施された2値画像を出力する。ステップS109の処理は、例えば、公知の細線化手法であるHilditch法(酒井幸市著“ディジタル画像処理の基礎と応用”第2版,ISBN4−7898−3707−6,CQ出版社,2004年2月1日発行,P.51−P.54,等)を用いて細線化する。図4(a)は入力された2値画像の一例であり、これに対して細線化処理が行われると、図4(b)のような細線化済画像が生成される。
例えば、細線化処理は、図形オブジェクトの黒画素部分をエッジの画素から1画素ずつ細線化していく処理を所定回数(例えば5回)繰り返し行い、1画素幅の細線に変換する。なお、この予め定めた回数分の細線化処理を行う途中で1画素幅の細線になった場合は細線化処理を終了する。
ステップS110では、細線化処理が成功したかどうかに基づいて、当該図形領域が細線化に適した領域であるか否か判断する。細線化に適した領域であると判断された場合にはステップS111に進み、細線化に適さないと判断された場合にはステップS114に進む。
ステップS111(アウトライン化処理B)では、細線化された図形オブジェクトにおける端点および交点を検知し、その検知した端点及び交点の間を結ぶ細線ごとにその輪郭に基づきアウトラインベクトルデータを生成する。ここでは、まず、端点及び交点の間を結ぶ細線(線素)の周りを周回するベクトルデータ(周回ベクトルデータ)が生成される。そして、この周回ベクトルデータを、線素の端点間を結ぶ1本のベクトルデータに変換する。この変換処理は、例えば、周回ベクトルデータが各線素の端点間を結ぶ2本のベクトルデータを繋げたものであると見なし、どちらか片方のベクトルデータの位置を2本のベクトルデータの中心線を通るように微調整したものを採用するようにすればよい。図4(c)は、図4(b)の細線化済画像の端点及び交点を検出し、点間毎の線素に分割した後にベクトル化処理を施すことによって、線素ごとに作成された周回ベクトルデータを輪郭画像として描画して可視化したものである。また、図4(d)は、図4(c)の点間線素ごとの周回ベクトルデータを、線素ごとに1本のベクトルデータへ変換した後のベクトルデータ(端点間ごとの線芯ベクトルデータ)を描画して可視化したものである。
ステップS112では、ステップS111で生成されたアウトラインベクトルデータを、ベジェ関数近似などを用いて、滑らかなアウトラインデータへ変換する。
ステップS113(出力変換処理)では、出力するファイル形式に合うように、ステップS112で生成された当該領域のアウトラインデータの記述を変換する。
一方、ステップS110において、細線化に適していない図形領域であると判断された場合には、ステップS114においてアウトライン化処理(ベクトル化処理)を行う。ステップS114で行われるベクトル化処理は、ステップS105のアウトライン化処理Aと同様の処理である。つまり、オブジェクト(ここでは図形画像)の輪郭形状に基づいて、輪郭そのものを表しているアウトラインベクトルデータ(粗輪郭ベクトル)を作成する。
ステップS115では、ステップS114で生成されたアウトラインベクトルデータを、ベジェ近似などを用いて、滑らかなアウトラインデータへと変換を行う処理である。
ステップS116では、出力するファイル形式に合うように、ステップS115で生成された当該領域のアウトラインデータの記述を変換する。
ステップS117では、領域ごとに作成されたアウトラインデータを統合し、所望のフォーマットのファイルを生成する。
本実施形態で出力されるファイルは、図3の311のような層構造のフォーマットになっている。図3において、301は入力画像、302はステップS101の処理を行う2値化処理部、303は2値画像、304はステップS図3の311はステップS102の領域分割・属性識別処理を行う領域識別処理部である。305はステップS104〜S107の処理を行う文字領域ベクトル化処理部、306はステップS108〜S116の処理を行う図形領域ベクトル化処理部である。一方、縮小処理部307では、入力画像の解像度変換を行って縮小多値画像308を生成する。文字部穴埋め処理部309では、領域識別結果を参照し、文字画像部分に相当する画素の色をその周囲の背景画素の色で置換することにより、文字画像部分の穴埋め処理を行う。JPEG圧縮処理部310では、文字画像部分の穴埋め処理(色置換処理)が行われた後の縮小多値画像をJPEG圧縮してJPEGデータを生成する。出力ファイル311は、上から、305で生成された文字領域のベクトルデータ、310で生成されたJPEGデータ、306で生成された図形領域のベクトルデータの順に再生されるように格納されたフォーマットである。このように構成することにより、出力ファイルを単に表示再生する際は、背景のJPEGデータ上に文字部分はベクトルデータを用いて表示されることになるので、文字がくっきりとした可読性の高い画像が表示される。また、図形領域を他のドローアプリケーションなどで再利用する際には、出力ファイルに格納されている図形領域のベクトルデータを用いることができるので、再利用するのにも都合がよい。また、図形領域の細線ベクトルデータ(S113で生成されたベクトルデータ)を利用することも可能になるので、ドローアプリケーションなどにおいて図形の線幅の変更や長さの変更を行いやすいベクトルデータを生成することができる。
なお、ステップS109における細線化の回数は5回としたが、これに限るものではなく、必要に応じてその回数を変更することが可能である。ユーザが操作部204を用いてその回数を設定するようにしてもよいし、属性判定処理S103で判定された図形画像の大きさ(面積)などに応じて、細線化回数を設定するようにしても良い。
(実施例2)
実施例2は、実施例1における図1のステップS103で図形属性と判定された場合に行われる処理の別実施例である。つまり、図1のステップS108〜S116の処理を、図5、図6のフローチャートの処理で置換したものに相当する。
ステップS501では、ステップS109と同様に図形領域画像の細線化処理を行う。
ステップS502では、細線化処理の結果に基づいて、当該図形領域が細線化に適した領域であるか否か判断する。細線化に適した領域であると判断された場合にはステップS503に進み、細線化に適さないと判断された場合にはステップS510に進む。
ステップS503では、ステップS111と同様に、細線化した図形画像の端点・交点間を結ぶ線素に基づき輪郭のアウトラインベクトルデータ(周回ベクトルデータ)を生成し、端点・交点間を結ぶ線素ごとに1本のベクトルデータになるように、線芯化処理と補助点(ベクトルデータのコントロールポイント)作成処理とを行う。
ステップS504では、生成されたアウトラインベクトルデータが正常に生成されたかどうかに基づいて、当該図形領域が細線化に適した領域か否か判断する。細線化に適した領域であると判断された場合にはステップS505に進み、細線化に適さないと判断された場合にはステップS510に進む。
ステップS505では、滑らかなアウトラインデータになるように関数近似処理を行う。ステップS506では関数近似処理自体が成功したか否か判断し、関数近似できなかった場合はステップS510に進み、関数近似できた場合にはステップS507に進む。
ステップS507では、関数近似して生成されたアウトラインデータ(アンカーポイントなどのコントロールポイント)が異常であるか正常であるか判断する。例えば、明らかに異常な座標点が含まれていないかどうか判断する。これは、ノイズの影響等によって明らかに図形が存在する位置とかけ離れた位置の座標点がコントロールポイントとして算出されてしまう場合があり、このような異常点があった場合には、形状としての問題が発生してしまうためである。異常があると判断した場合はステップS510に進み、異常がないと判断した場合はステップS508に進む。本実施例では、異常な座標点があると判断した場合はステップS510に進むものとするが、異常な座標点の数が少ない(例えば1点だけ)場合などは、この異常点を削除してステップS508に進むようにしてもよい。
また、ステップS507では、関数近似されたアウトラインデータの座標点(コントロールポイント)の数に基づいて、関数近似されたアウトラインデータに異常があるかどうか判断するようにしてもよい。この場合の異常点があるか否かの判定方法の一例を図6に示す。ステップS601では、当該アウトライン化処理対象の図形領域の面積を算出する。ステップS602では、アウトラインデータに含まれる座標点(コントロールポイント)の数を求める。ステップS603では、S601で求めた面積とS602で求めた座標点数から、処理対象領域あたりの座標点数の評価値を算出する。例えば、1画素あたりのベクトル座標の点数という数値を求める。ステップS604では、あらかじめ設定しておいた基準値をメモリから読み出して評価値との比較を行う。ステップS605では、比較した結果に基づいて、異常ではないと判断した場合はステップS606で正常であるとして結果出力し、一方、異常であると判断した場合はステップS607で異常であるとして結果出力する。例えば、基準値に0.5という値を設定しておき、この数値よりも算出した評価値の方が小さかった場合には正常と判断し、大きかった場合には異常と判断する。この処理は、座標点数の多いものや複雑なベクトル化したものの出力の制御を行うための処理となっている。なお、基準値として0.5をあげたが、この基準値は任意に設定できるようにしてもよい。このとき、この数値を大きくすると単位面積あたりの座標点数が多いものが出力されるようになり、小さくすると単位面積あたりの座標点数が多いものは出力されないように制御することができる。
ステップS508では、アウトラインデータのデータサイズと所定の閾値(例えばメモリ容量や、出力ファイルサイズをどの程度のサイズにしたいか等に基づいて定められる値)とを比較して、出力可能かどうかの判定を行う。OKであると判断した場合はステップS509に進み、NGの場合はステップ510に進む。
ステップS509では、出力するファイル形式に合うように、生成された当該領域のアウトラインデータの記述を変換する。
ステップS510では、ステップS114で行われるアウトラインベクトル化処理と同様に、オブジェクト(ここでは図形画像)の輪郭形状に基づいて、輪郭そのものを表しているアウトラインベクトルデータ(粗輪郭ベクトル)を作成する。
ステップS511では、ステップS510で作成されたアウトラインベクトルデータを、ベジェ関数近似などを用いて、滑らかなアウトラインデータに変換する。
ステップS512では、ステップS511で生成されたアウトラインデータに異常があるかどうか判断する。この処理は、ステップS507と同様の処理が行われる。正常と判断した場合は、ステップS513に進み、異常と判断した場合は、アウトラインデータを出力せずに処理を終了する。
ステップS513では、アウトラインデータのデータサイズと所定の閾値(例えばメモリ容量や、出力ファイルサイズをどの程度のサイズにしたいか等に基づいて定められる値)とを比較して、出力可能かどうかの判定を行う。OKであると判断した場合はステップS514に進み、NGの場合はアウトラインデータを出力せずに処理を終了する。
ステップS514では、出力するファイル形式に合うように、生成された当該領域のアウトラインデータの記述を変換する。
なお、本実施形態では、ステップS512で「異常」と判断した場合や、ステップS513でNGと判断した場合(エラー処理)、なにも出力せずに処理を終了したが、これに限るものではない。例えば、当該領域の2値画像を出力するようにしてもよいし、関数近似前のベクトルデータを出力するようにしてもよい。また、どれを出力するかユーザが選択できるようにするための設定を設けてもよい。
(実施例3)
実施例3は、実施例1における図1のステップS103で文字属性と判定された場合に行われる処理の別実施例である。つまり、図1のステップS104〜S107の処理を、図7のフローチャートの処理で置換したものに相当する。
ステップS701では、処理対象の文字領域内にある文字画像の大きさの平均を求める。この検出は、文字属性と判定された領域内の文字画像それぞれの高さの平均を求めることで実現できる。なお、本実施例では文字の高さに基づいて大きさを算出したがこれに限るものではなく、文字画像それぞれの外接矩形の面積に基づいて求めても良い。
ステップS702では、ステップS701で検出した文字の大きさとあらかじめ設定した閾値(例えば、4ポイント)との比較を行い、当該閾値よりも小さい場合(文字サイズが4ポイント以下)にはステップS712へ進み、当該文字領域に対応する2値画像を出力するものとする。このステップS702では、非常に小さい文字に対してはベクトル化処理を行わないという制御を行うための処理である。非常に小さい文字をベクトル化しても、品位が期待できない場合に対応するための処理である。
一方、ステップS702で、文字の平均サイズが該閾値より大きいと判断された場合、ステップS703に進み、当該文字領域に含まれる複数の文字画像の1つに対してアウトライン化処理が行われる。
ステップS704では、ステップS703のアウトライン化処理が成功したかどうか判断する。アウトライン化処理の中でエラーが発生すると、ステップS712へ進む。一方、アウトライン化処理が正常に終了したと判断すると、ステップS705に進む。
ステップS705では、アウトライン化処理した文字画像の大きさ(文字画像の高さや面積を用いればよい)を第2の閾値(例えば、9ポイント)と比較する。文字画像の大きさが第2閾値以下の場合(文字サイズが9ポイント以下の場合)には、ステップS707に進み、当該文字画像のアウトラインベクトルデータに対して直線近似のみを用いた関数近似処理を行う。ステップS708ではステップS707の平滑化処理(直線近似のみを用いた近似処理)中にエラーが発生したか判断し、エラーが発生したと判断した場合はステップS712に進み、近似処理が成功したと判断した場合はステップS711に進む。
一方、ステップS705で文字サイズが第2閾値よりも大きいと判断した場合には、ステップS706に進み、ベジェ近似処理が行われる。
ステップS709では、ベジェ近似されたアウトラインデータのコントロールポイントに異常な座標点がないかどうか判断する。異常な座標点があると判断した場合はステップS710に進み、当該異常な座標点を削除する。なお、異常な座標点を削除するだけでは対処できない場合(異常な座標点が多い場合など)は、ステップS712で2値画像の出力を行うようにしてもよい。
ステップS711では、作成されたアウトラインデータのデータサイズと所定の閾値(例えばメモリ容量や、出力ファイルサイズをどの程度のサイズにしたいか等に基づいて定められる値)とを比較して、出力可能かどうかの判定を行う。OKであると判断した場合はステップS713に進み、NGの場合はステップS712に進む。
ステップS713では、当該文字領域に含まれる全ての文字画像がアウトライン処理されたかどうか判断し、アウトライン処理が終了した場合はステップS714に進み、終了していないと判断した場合は次の文字画像を処理対象にしてステップS703に戻る。
なお、本実施例では、ステップS704、S708、S711などで失敗やNGと判断された場合、当該文字領域全体の2値画像を出力するようにしたが、これに限るものではなく、当該処理中の文字画像部分だけの2値画像を出力してステップS713に進むようにしてもよい。
(その他の実施例)
以上、実施例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、以下のようなものがある。フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットからハードディスク等の記録媒体にダウンロードすることによっても供給できる。すなわち、インテーネットから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるサーバからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるサーバも、本発明に含まれるものである。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他にも、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後にも前述した実施形態の機能が実現される。すなわち、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現される。
実施例1の処理を説明したフローチャートである。 本発明を適用できる画像処理装置の概略ブロック図である。 出力ファイルのフォーマット例である。 アウトライン化する図形画像の例である。 実施例2の処理を説明したフローチャートである。 実施例2のアウトラインデータの評価処理を説明したフローチャートである。 実施例3の処理を説明したフローチャートである。

Claims (12)

  1. 入力画像を複数の領域に分割する領域分割手段と、
    前記領域分割手段により文字属性の領域として分割された領域について、当該文字属性の領域に含まれる文字画像の輪郭形状を表すアウトラインベクトルデータを生成するアウトライン化手段と、
    前記アウトラインベクトルデータに対して実行する関数近似処理を判定するための近似処理判定用閾値と、前記文字画像の大きさとを比較する第1の比較手段と、
    前記第1の比較手段での比較により前記文字画像の大きさが前記近似処理判定用閾値以下であると判定した場合、前記アウトライン化手段で生成された当該文字画像のアウトラインベクトルデータに対して、曲線近似を用いずに直線近似を用いた関数近似処理を実行することにより、関数近似された第1のアウトラインデータを生成する第1の近似手段と、
    前記第1の比較手段での比較により前記文字画像の大きさが前記近似処理判定用閾値より大きいと判定した場合、前記アウトライン化手段で生成された当該文字画像のアウトラインベクトルデータに対して、曲線近似を用いた関数近似処理を実行することにより、関数近似された第2のアウトラインデータを生成する第2の近似手段と、
    前記第1の比較手段で前記文字画像の大きさが前記近似処理判定用閾値以下であると判定した場合は、前記第1の近似手段で生成された前記関数近似された第1のアウトラインデータを出力する一方、前記第1の比較手段で前記文字画像の大きさが前記近似処理判定用閾値より大きいと判定した場合は、前記第2の近似手段で生成された前記関数近似された第2のアウトラインデータを出力する出力手段と、
    を有することを特徴とする画像処理装置。
  2. 前記アウトライン化手段による処理よりも前に、前記近似処理判定用閾値より小さい所定の第1閾値と、前記文字画像の大きさとを比較する第2の比較手段と、
    前記第2の比較手段で前記文字画像の大きさが前記第1閾値以下であると判定した場合、前記アウトライン化手段と前記第1の比較手段と前記第1の近似手段と前記第2の近似手段とによる処理を行わずに当該文字画像の2値画像を出力する2値画像出力手段とを更に有し、
    前記第2の比較手段で前記文字画像の大きさが前記第1閾値より大きいと判定した場合、前記アウトライン化手段と前記第1の比較手段と前記第1の近似手段と前記第2の近似手段とによる処理を行うことにより生成されアウトラインデータを前記出力手段で出力させることを特徴とする請求項に記載の画像処理装置。
  3. 前記入力画像が2値画像でない場合は2値化処理を行って2値画像を生成する2値化手段を更に有し、
    当該生成された2値画像を前記領域分割手段の処理対象にすることを特徴とする請求項1または2のいずれかに記載の画像処理装置。
  4. 前記曲線近似を用いた関数近似処理は、ベジェ近似を用いた関数近似処理であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 前記領域分割手段により図形属性の領域として分割された領域について、細線化に適した領域であるか判断する細線化判断手段と、
    前記細線化判断手段で当該図形属性の領域が細線化に適した領域でないと判断した場合は、当該図形属性の領域に含まれる図形オブジェクトの輪郭形状を表すアウトラインベクトルデータを作成し、当該作成したアウトラインベクトルデータに対して曲線近似を用いた関数近似処理を実行することにより、当該図形オブジェクトの関数近似されたアウトラインデータを生成する一方、前記細線化判断手段で当該図形属性の領域が細線化に適した領域であると判断した場合は、当該図形属性の領域に含まれる図形オブジェクトに細線化処理を行うことによって得られる細線化された図形オブジェクトに基づいて、当該図形オブジェクトのアウトラインデータを生成する図形領域アウトライン化手段と、
    を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 画像処理装置の領域分割手段が、入力画像を複数の領域に分割する領域分割ステップと、
    前記画像処理装置のアウトライン化手段が、前記領域分割ステップで文字属性の領域として分割された領域について、当該文字属性の領域に含まれる文字画像の輪郭形状を表すアウトラインベクトルデータを生成するアウトライン化ステップと、
    前記画像処理装置の第1の比較手段が、前記アウトラインベクトルデータに対して実行する関数近似処理を判定するための近似処理判定用閾値と、前記文字画像の大きさとを比較する第1の比較ステップと、
    前記第1の比較ステップでの比較により前記文字画像の大きさが前記近似処理判定用閾値以下であると判定した場合、前記画像処理装置の第1の近似手段が、前記アウトライン化ステップで生成された当該文字画像のアウトラインベクトルデータに対して、曲線近似を用いずに直線近似を用いた関数近似処理を実行することにより、関数近似された第1のアウトラインデータを生成する第1の近似ステップと、
    前記第1の比較ステップでの比較により前記文字画像の大きさが前記近似処理判定用閾値より大きいと判定した場合前記画像処理装置の第2の近似手段が、前記アウトライン化ステップで生成された当該文字画像のアウトラインベクトルデータに対して、曲線近似を用いた関数近似処理を実行することにより、関数近似された第2のアウトラインデータを生成する第2の近似ステップと、
    画像処理装置の出力手段が、前記第1の比較ステップで前記文字画像の大きさが前記近似処理判定用閾値以下であると判定した場合は、前記第1の近似ステップで生成された前記関数近似された第1のアウトラインデータを出力する一方、前記第1の比較ステップで前記文字画像の大きさが前記近似処理判定用閾値より大きいと判定した場合は、前記第2の近似ステップで生成された前記関数近似された第2のアウトラインデータを出力する出力ステップと、
    を有することを特徴とする画像処理方法。
  7. コンピュータを、
    入力画像を複数の領域に分割する領域分割手段、
    前記領域分割手段により文字属性の領域として分割された領域について、当該文字属性の領域に含まれる文字画像の輪郭形状を表すアウトラインベクトルデータを生成するアウトライン化手段、
    前記アウトラインベクトルデータに対して実行する関数近似処理を判定するための近似処理判定用閾値と、前記文字画像の大きさとを比較する第1の比較手段、
    前記第1の比較手段での比較により前記文字画像の大きさが前記近似処理判定用閾値以下であると判定した場合、前記アウトライン化手段で生成された当該文字画像のアウトラインベクトルデータに対して、曲線近似を用いずに直線近似を用いた関数近似処理を実行することにより、関数近似された第1のアウトラインデータを生成する第1の近似手段、
    前記第1の比較手段での比較により前記文字画像の大きさが前記近似処理判定用閾値より大きいと判定した場合、前記アウトライン化手段で生成された当該文字画像のアウトラインベクトルデータに対して、曲線近似を用いた関数近似処理を実行することにより、関数近似された第2のアウトラインデータを生成する第2の近似手段、
    前記第1の比較手段で前記文字画像の大きさが前記近似処理判定用閾値以下であると判定した場合は、前記第1の近似手段で生成された前記関数近似された第1のアウトラインデータを出力する一方、前記第1の比較手段で前記文字画像の大きさが前記近似処理判定用閾値より大きいと判定した場合は、前記第2の近似手段で生成された前記関数近似された第2のアウトラインデータを出力する出力手段、
    として機能させるためのコンピュータプログラム。
  8. 更に、前記コンピュータを、
    前記アウトライン化手段による処理よりも前に、前記近似処理判定用閾値より小さい所定の第1閾値と、前記文字画像の大きさとを比較する第2の比較手段、
    前記第2の比較手段で前記文字画像の大きさが前記第1閾値以下であると判定した場合、前記アウトライン化手段と前記第1の比較手段と前記第1の近似手段と前記第2の近似手段とによる処理を行わずに、当該文字画像の2値画像を出力する2値画像出力手段、として機能させるためのコンピュータプログラムであって、
    前記第2の比較手段で前記文字画像の大きさが前記第1閾値より大きいと判定した場合、前記アウトライン化手段と前記第1の比較手段と前記第1の近似手段と前記第2の近似手段とによる処理を行うことにより生成されるアウトラインデータを前記出力手段で出力させることを特徴とする請求項7に記載のコンピュータプログラム。
  9. 更に、前記コンピュータを、前記入力画像が2値画像でない場合は2値化処理を行って2値画像を生成する2値化手段、として機能させるためのコンピュータプログラムであって、
    当該生成された2値画像を前記領域分割手段の処理対象にすることを特徴とする請求項7または8のいずれかに記載のコンピュータプログラム。
  10. 前記曲線近似を用いた関数近似処理は、ベジェ近似を用いた関数近似処理であることを特徴とする請求項7乃至9のいずれか1項に記載のコンピュータプログラム。
  11. 更に、前記コンピュータを、
    前記領域分割手段により図形属性の領域として分割された領域について、細線化に適した領域であるか判断する細線化判断手段、
    前記細線化判断手段で当該図形属性の領域が細線化に適した領域でないと判断した場合は、当該図形属性の領域に含まれる図形オブジェクトの輪郭形状を表すアウトラインベクトルデータを作成し、当該作成したアウトラインベクトルデータに対して曲線近似を用いた関数近似処理を実行することにより、当該図形オブジェクトの関数近似されたアウトラインデータを生成する一方、前記細線化判断手段で当該図形属性の領域が細線化に適した領域であると判断した場合は、当該図形属性の領域に含まれる図形オブジェクトに細線化処理を行うことによって得られる細線化された図形オブジェクトに基づいて、当該図形オブジェクトのアウトラインデータを生成する図形領域アウトライン化手段、
    として機能させるための請求項7乃至10のいずれか1項に記載のコンピュータプログラム。
  12. 請求項7乃至11のいずれか1項に記載のコンピュータプログラムが格納された、コンピュータ読取可能な記憶媒体。
JP2006135072A 2006-05-15 2006-05-15 画像処理装置、画像処理方法、コンピュータプログラム Expired - Fee Related JP4878209B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006135072A JP4878209B2 (ja) 2006-05-15 2006-05-15 画像処理装置、画像処理方法、コンピュータプログラム
US11/748,357 US8300946B2 (en) 2006-05-15 2007-05-14 Image processing apparatus, image processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006135072A JP4878209B2 (ja) 2006-05-15 2006-05-15 画像処理装置、画像処理方法、コンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2007305034A JP2007305034A (ja) 2007-11-22
JP2007305034A5 JP2007305034A5 (ja) 2009-06-25
JP4878209B2 true JP4878209B2 (ja) 2012-02-15

Family

ID=38684664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006135072A Expired - Fee Related JP4878209B2 (ja) 2006-05-15 2006-05-15 画像処理装置、画像処理方法、コンピュータプログラム

Country Status (2)

Country Link
US (1) US8300946B2 (ja)
JP (1) JP4878209B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4934015B2 (ja) * 2007-12-25 2012-05-16 京セラミタ株式会社 画像処理装置、画像読取装置
JP5137679B2 (ja) * 2008-05-07 2013-02-06 キヤノン株式会社 画像処理装置および画像処理方法
JP2009278363A (ja) 2008-05-14 2009-11-26 Canon Inc 画像処理装置及び画像処理方法
JP4582200B2 (ja) * 2008-06-03 2010-11-17 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像変換方法、およびコンピュータプログラム
JP4582204B2 (ja) * 2008-06-11 2010-11-17 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像変換方法、およびコンピュータプログラム
JP5302768B2 (ja) * 2008-06-26 2013-10-02 キヤノン株式会社 画像処理装置及び画像処理方法
JP5137759B2 (ja) * 2008-09-18 2013-02-06 キヤノン株式会社 画像処理装置
JP5328510B2 (ja) * 2009-06-24 2013-10-30 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
TWI475422B (zh) * 2012-10-31 2015-03-01 Wistron Corp 手勢辨識方法與電子裝置
CN105303588B (zh) * 2015-09-18 2018-11-13 中国航空工业集团公司沈阳发动机设计研究所 一种二维图形轮廓绘制方法
CN113268207A (zh) * 2021-05-12 2021-08-17 武汉先同科技有限公司 一种基于图像处理技术的打印控制方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2147474B (en) * 1983-10-03 1987-05-07 Shaken Kk Method of processing character or pictorial image data
JP3026592B2 (ja) 1990-10-22 2000-03-27 キヤノン株式会社 輪郭抽出方法及びその装置
JPH04294166A (ja) * 1991-03-25 1992-10-19 Ricoh Co Ltd 画像処理装置
JP3049672B2 (ja) 1991-12-26 2000-06-05 キヤノン株式会社 画像処理方法及び装置
JPH0844848A (ja) * 1994-07-28 1996-02-16 Brother Ind Ltd 画像処理装置及び刺繍データ作成装置
JP3238580B2 (ja) * 1994-09-14 2001-12-17 シャープ株式会社 太め細め文字生成装置
JP2001052188A (ja) * 1999-05-28 2001-02-23 Fluency Kenkyusho:Kk 文字図形データ通信システム
JP4185858B2 (ja) * 2003-12-15 2008-11-26 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
JP4625269B2 (ja) * 2004-05-17 2011-02-02 富士通株式会社 文字画像生成装置,文字画像生成方法,表示制御装置,文字画像生成プログラムおよび表示制御プログラム
JP4587167B2 (ja) * 2004-10-01 2010-11-24 キヤノン株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
US20070262992A1 (en) 2007-11-15
JP2007305034A (ja) 2007-11-22
US8300946B2 (en) 2012-10-30

Similar Documents

Publication Publication Date Title
JP4878209B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
US7551753B2 (en) Image processing apparatus and method therefor
US7831107B2 (en) Image processing apparatus, image processing method, and program
US8244035B2 (en) Image processing apparatus and control method thereof
JP5180670B2 (ja) 画像処理装置及び画像処理方法
JP5137759B2 (ja) 画像処理装置
US7864199B2 (en) Image processing apparatus and control method thereof
JP4310288B2 (ja) 画像処理装置及びその方法、プログラム並びに記憶媒体
JP2007074030A (ja) 画像処理装置及び方法
JP4708888B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JPH09172543A (ja) 画像処理装置
US20030169921A1 (en) Apparatus and method for image processing
JP4582204B2 (ja) 画像処理装置、画像変換方法、およびコンピュータプログラム
JP5178490B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP2006197178A (ja) 画像処理装置および画像処理方法およびプログラムおよび記憶媒体
JP2006345314A (ja) 画像処理装置および画像処理方法
JP2007129557A (ja) 画像処理システム
JP4873554B2 (ja) 画像配信装置および画像配信方法
JP7301529B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2008225654A (ja) 画像処理方法、画像処理装置、及び、プログラム、プログラム記憶媒体
JP2003046746A (ja) 画像処理方法及び画像処理装置
JP3885001B2 (ja) 画像処理方法及び画像処理装置
Kurilin et al. Generation of PDF with vector symbols from scanned document
JP3814547B2 (ja) 画像処理装置及びその方法
JP2008027132A (ja) 画像処理方法、画像処理装置、及び、プログラム、プログラム記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090507

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111125

R151 Written notification of patent or utility model registration

Ref document number: 4878209

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees