JP4605260B2 - ベクタ画像生成方法、画像処理装置、およびコンピュータプログラム - Google Patents

ベクタ画像生成方法、画像処理装置、およびコンピュータプログラム Download PDF

Info

Publication number
JP4605260B2
JP4605260B2 JP2008159501A JP2008159501A JP4605260B2 JP 4605260 B2 JP4605260 B2 JP 4605260B2 JP 2008159501 A JP2008159501 A JP 2008159501A JP 2008159501 A JP2008159501 A JP 2008159501A JP 4605260 B2 JP4605260 B2 JP 4605260B2
Authority
JP
Japan
Prior art keywords
line segment
pixel group
same line
vertex
pixel
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.)
Active
Application number
JP2008159501A
Other languages
English (en)
Other versions
JP2010003005A (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.)
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 JP2008159501A priority Critical patent/JP4605260B2/ja
Priority to US12/481,300 priority patent/US8274515B2/en
Publication of JP2010003005A publication Critical patent/JP2010003005A/ja
Application granted granted Critical
Publication of JP4605260B2 publication Critical patent/JP4605260B2/ja
Active 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Analysis (AREA)

Description

本発明は、ベクタ画像の生成方法およびベクタ画像を生成する画像処理装置などに関する。
近年、紙の文書をスキャナで読み取って電子化して保管することが多く行われている。スキャナで読み取られた文書は、例えばビットマップ形式の画像データとして保存される。
ビットマップ形式では、ドット(ピクセル)の集合で文字を表現するので、その文字を表示または印刷などの出力をする際に複雑な計算を必要としない。しかし、出力する装置(出力装置)の解像度によっては、出力した文字の輪郭にジャギー(がたつき)が目立ってしまうという欠点がある。
そこで、従来、アウトライン化と呼ばれる処理を施すことによってビットマップ形式の画像をベクタフォントの画像(ベクタ画像)に変換することが行われている。
ベクタ画像では、文字の輪郭を直線および曲線で近似することによって輪郭線を形成し、その輪郭線で囲まれた領域を塗りつぶすことによってその文字を再現するので、ジャギーが目立ちにくくなる。また、出力結果が出力装置の解像度に依存しないので、出力装置が変わっても文字の部分の画質が安定しやすい。
しかし、スキャナで読み取った画像には、通常、多少の傾きがある。傾いた文字をアウトライン化すると、文字の形状がガタついたり歪んだりしてしまうことがある。そこで、文字の傾きを補正することによって歪みを軽減することが考えられる。従来、画像の傾きを補正するための技術として、特許文献1、2のような方法が提案されている。
特許文献1の方法によると、原稿上の画像の輪郭を抽出し、抽出した輪郭を直線近似して複数の直線を生成し、生成した複数の直線の中から1つを傾き補正の基準となる直線として選択する。それによって、選択された直線が示す線分情報を基に傾き補正に必要な回転補正パラメータを算出し、その回転補正パラメータに基づいて傾きの補正を行う。
特許文献2の方法によると、まず図枠図形に相当する輪郭ベクトルループを画像のベクトル情報から検出し、その輪郭ベクトルループが内接する方形領域の中心点から図枠図形の4つの頂点を求める。求めた4つの頂点に対応する基準点を設定し、それらの基準点で座標を回転させることによって図面の傾きを補正する。
特開2002―77566号公報 特開平5―46752号公報
ところが、傾き補正の処理を、アウトラン化を行う前のラスタ形式の画像データに対して行うと計算量が多くなり長い時間を要してしまう恐れがある。
また、画像に含まれる傾いた文字の中には、スキャンによって傾いたのではなく、意図的に傾けられて記載された文字もある。そのような文字については、傾き補正をしてアウトライン化をした後、さらに、元の傾きに戻す処理を行わなければならないので、さらに処理の効率が悪くなる。
本発明はこのような問題点に鑑み、傾きのある文字を含むラスタ形式の画像をベクタ形式に変換する処理を、従来よりも、文字の形状をきれいに保ちかつ高速に行えるようにすることを目的とする。
本発明の一形態に係るベクタ画像生成方法は、画像形成装置において、画像に含まれる文字の傾きを求め、前記傾きと同じ傾きを有する直線またはその直線に対して垂直な直線を基準直線として設定し、前記文字の輪郭を形成する頂点画素を求め、前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を、複数の前記頂点画素が階段状に位置しておりかつ隣り合う当該頂点画素同士の距離が所定の範囲内である場合に当該複数の頂点画素の画素群を前記同一線分候補画素群であると判定することによって、または、前記文字が所定のサイズよりも小さい場合において、隣り合う前記頂点画素同士の距離が所定の範囲内である場合にそれらの頂点画素の画素群を前記同一線分候補画素群であると判定することによって求め、求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、前記基準直線と前記同一線分候補画素群の前記頂点画素との距離である画素直線間距離を、当該同一線分候補画素群の当該各頂点画素について求め、いずれの前記画素直線間距離も所定の範囲内である場合に当該同一線分候補画素群を前記同一線分画素群であると判別することによって抽出し、抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出し、抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似し、前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する。
または、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、求めた前記傾きを有する直線を前記基準直線として用い、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、求めた前記傾きの直線に対して直角の傾きを有する直線を前記基準直線として用いる。
または、求めた前記傾きが45度よりも小さい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、求めた前記傾きが45度よりも大きい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とする。
本発明によると、傾きのある文字を含むラスタ形式の画像をベクタ形式に変換する処理を、従来よりも、文字の形状をきれいに保ちつつ高速に行うことができる。
図1は本発明の一実施形態に係る画像形成装置1のハードウェア構成の例を示す図である。
画像形成装置1は、コピー、スキャナ、ファックス、ネットワークプリンティング、ドキュメントサーバ、およびファイル転送などの様々な機能を集約した画像処理装置である。複合機またはMFP(Multi Function Peripherals)などと呼ばれることもある。
画像形成装置1は、図1に示すように、スキャナ10a、CPU10b、ハードディスク10c、RAM10d、ROM10e、印刷装置10f、モデム10g、ネットワークインタフェース10h、制御用回路10k、および操作パネル10mなどによって構成される。
スキャナ10aは、原稿の用紙(以下、単に「原稿」と記載する。)に描かれている写真、文字、絵、図表などの画像を光学的に読み取って電子データ化する装置である。読み取られた画像は、RGB(R(赤)、G(緑)、およびB(青))によって表されるフルカラーの画像データとして、TIFF、JPEG、ビットマップなどの形式で保存される。予め指定しておくことによって、PDF(Portable Document Format)の形式で保存することもできる。
CPU10bは、スキャナ10aが読み取った原稿の画像データをTIFF、JPEG、ビットマップ、およびPDFなどの形式のファイルに変換するための処理を行う。また、ユーザからの入力の検出、操作パネル10mの表示の制御,または電子メールの作成など、画像形成装置1の全体的な制御も行う。
印刷装置10fは、スキャナ10aで読み取られた画像データが示す画像または他の装置から送信されてきた画像データが示す画像を用紙に印刷する装置である。画像形成装置1がカラー印刷に対応している場合は、イエロー、マゼンタ、シアン、およびブラックの4色のトナーを用いて印刷を行う。
操作パネル10mは、ユーザが画像形成装置1に対して種々の入力を行うための装置である。操作部および表示部などによって構成される。ユーザは、操作パネル10mを用いて、画像データの保存形式の選択、スキャンの条件の設定、処理の開始または実行の指令の入力、電子メールの宛先の入力などの種々の入力を行うことができる。
モデム10gは、NCU(Network Control Unit)が内蔵されており、アナログの公衆回線を介して他のファックス端末と接続し、ファクシミリプロトコルに基づくデータ制御およびファックスデータの変復調などを行う。
ネットワークインタフェース10hは、NIC(Network Interface Card)であって、LANまたはインターネットなどを介して他の装置への接続を行う。
制御用回路10kは、ハードディスク10c、操作パネル10m、スキャナ10a、印刷装置10f、モデム10g、およびネットワークインタフェース10hなどの装置を制御するための回路である。制御用回路10kは、例えば、種々の電子部品を用いたハードウェア回路によって構成される。
ハードディスク10cには、後に説明する図2に示すような各部の機能を実現するためのプログラム(コンピュータプログラム)およびデータなどが格納されている。これらは必要に応じてRAM10dに読み出され、CPU10bによってプログラムが実行される。これらのプログラムまたはデータの一部または全部を、ROM10eに記憶させておいてもよい。または、図2の機能の一部または全部を、制御用回路10kによって実現するようにしてもよい。
図2は画像形成装置1の機能的構成の例を示す図、図3は原稿画像とそれに含まれる文字の領域および背景の領域とを示す図、図4は文字のブロックBKを抽出する処理を説明するため図、図5は文字の傾きの検出の方法を説明するための図、図6は頂点検出パターンPTの例を示す図、図7は「国」の文字の特定部分AR1における頂点画素の例を示す図、図8は水平垂直線処理の流れを説明するためのフローチャート、図9は文字の輪郭のうちに含まれる縦の線分および横の線分の例を示す図、図10は同一線分候補画素群の抽出の処理を説明するための図、図11は基準直線の例を示す図、図12は画素直線間距離の例を示す図、図13は近似された部分の輪郭を示す図、図14および図15はアウトライン化の処理の手順を説明するための図、図16および図17は傾きの異なる文字列を含む原稿画像の例を示す図である。
次に、図3(a)に示すような複数行の文章が記載されている原稿をスキャナ10aで読み取って得られる画像データ(以下、「原稿画像データGD」と記載する。)からPDF形式のファイル(PDFファイル)を生成して保存する際の画像形成装置1の各部の処理について説明する。
一般に、原稿をスキャナで読み取ると、多少の傾きが生じる。本実施形態では、傾いた画像を示す原稿画像データGDが処理の対象である。なお、図3に示される黒色の各横棒は、それぞれ、1行の文章を表す。以下、原稿画像データGDが示す画像を「原稿画像」と記載する。
図2に示すように、画像形成装置1は、画像データ取得部101、背景抽出部102、二値化部103、文字ブロック抽出部104、傾き検出部105、頂点画素抽出部106、同一線分画素候補抽出部107、同一線分画素抽出部108、同一線分画素近似処理部109、アウトライン化部110、文字圧縮処理部111、低解像度化部112、背景圧縮処理部113、ファイル生成部114、およびファイル保存部115などによって構成される。
ユーザが原稿をスキャナ10aにセットし、スキャン開始の指令を入力すると、画像形成装置1は、その原稿をスキャンしビットマップ形式の原稿画像データGDを生成する。
画像データ取得部101は、その原稿画像データGDを取得する。背景抽出部102は、図3(c)に示すような、原稿画像の背景の部分の画素を抽出する処理を行う。この処理は、例えば、原稿画像において、RGBの各色の濃度値が所定の閾値よりも低い画素を背景の画素として抽出することによって行う。
二値化部103は、原稿画像を二値化することによって二値の画像(二値画像)を生成する。以下、二値化部103によって生成された、原稿画像に対応した二値画像を「二値原稿画像」と記載する。
文字ブロック抽出部104は、二値原稿画像を用いてラベリングを行うことによって、図3(b)に示すような、原稿画像に含まれる文字の部分を抽出する処理を行う。この処理は、例えば、次のようにして行う。
二値原稿画像に示される連続する黒画素である黒画素群を検出する。所定の閾値よりも近い距離にある黒画素群同士は、1つの黒画素群として検出する。その閾値を調整することによって、1つの文字が1つの黒画素群として検出されるようにしてもよいし、比較的近い距離の文字同士で構成される文字列が1つの黒画素群として検出されるようにしてもよい。1つの行が1つの黒画素群として検出されるようにしてもよい。
次に、検出した黒画素群を包含する矩形の領域(矩形領域)を定義する。すなわち、例えば二値原稿画像に左上端を原点とした場合のその矩形領域の左上端および右下端の画素の座標を求める。以下、この矩形領域のことを「ブロックBK」と記載することがある。
または、文字ブロック抽出部104は、次のような方法でブロックBKを抽出するようにしてもよい。
原稿画像において、色または明度などの属性が同じ画素が連続している箇所を探索する。そのような画素群のうちで所定の距離範囲内にあるものを1つの画素群とし、その画素群を包含する矩形領域を定義する。これによって、例えば、図4(a)に示すように複数行に跨る文章を包含する矩形領域を抽出する。抽出した矩形領域内の画像を二値化する。
次に、図4(b)に示すように、二値化した矩形領域内の画像について、垂直方向の位置と黒画素の個数との関係を示すヒストグラムHt1、および水平方向の位置と黒画素の個数との関係を示すヒストグラムHy1を生成する。
ヒストグラムHt1およびHy1において個数が所定の閾値以下である部分を水平方向および垂直方向について探索し、その部分(図4(c)においてグレーで表される部分)の画素をラベリングする。次に、図4(c)に示すような、ラベリングされずに残った領域NL1およびNL2のそれぞれについて、水平方向の位置と黒画素の個数との関係を示すヒストグラムHt2およびHt3を作成する。以下、ヒストグラムHt1、Ht2、…を「ヒストグラムHt」のように総称して記載することがある。他のデータまたは部材などについても同様に符号の末尾に付した連番またはアルファベットを省略することによって総称して記載することがある。
領域NL1およびNL2のそれぞれについて、対応するヒストグラムHtにおいて個数が所定の閾値以下である部分を探索し、その部分の画素をラベリングする。これによって、ラベリングされずに残った部分(図4(d)のグレー以外で表される部分)を包含する矩形領域がブロックBKとして抽出される。この例では、図4(e)に示すような各領域NL11、NL12、NL21、NL22、およびNL23がブロックBKとして抽出される。なお、ヒストグラムHy1のような行間を抽出可能なヒストグラムを作成することによって、図4(c)に示す領域NL1およびNL2のような1つの行を包含する矩形領域をブロックBKとして抽出することもできる。
傾き検出部105は、抽出したブロックBKごとに、ブロックBK内の文字の傾きを求める。ここで、傾きの求め方について図5を参照しながら説明する。
図5(a)には、「国」の文字について定義されたブロックBKが示される。まず、ブロックBKに対して、図5(b)に示すように、互いに垂直に交わる軸Ztおよび軸Zyを定義する。二値原稿画像におけるブロックBKに対応する部分の二値画像(部分二値画像)をZy方向に走査して、軸Zt方向の画素の位置と黒画素の個数との関係を示すヒストグラムKを求める。軸Ztおよび軸Zyを傾けながら、所定の角度ごとに、そのようなヒストグラムKを求めていく。そして、ヒストグラムKにおいて最小値と最大値との差が最大となる図5(c)に示すようなヒストグラムKを求め、そのヒストグラムKの軸Zyの水平方向に対する角度θをブロックBK内の文字の傾き角度として保存する。文字の傾きは、傾き角度がθである場合において、tan(θ)で表される。
なお、ヒストグラムKは、軸Zt方向および軸Zy方向のそれぞれについて作成するようにしてもよいし、図5の例のように片方だけを作成するようにしてもよい。また、ブロックBKの部分二値画像を低解像度化した画像を用いてヒストグラムKを作成し傾きを求めてもよい。
頂点画素抽出部106は、各ブロックBK内に含まれる文字の頂点の画素(頂点画素)を抽出する。この処理は、図6に示す、頂点画素の検出に用いる白画素と黒画素の配置のパターン(配置パターン)である頂点検出パターンPT1〜PT8を用いたパターンマッチングによって行う。すなわち、ブロックBK内の部分二値画像において、これら頂点検出パターンPT1〜PT8のいずれかと一致する箇所を探索し、一致した箇所の画素のうちでその一致した頂点検出パターンPTの頂点位置Tに位置する画素を頂点画素として抽出する。
図7(b)には、図7(a)に示す「国」の文字の特定の部分(特定部分AR1)の拡大図が示される。図7(b)の例の場合は、上記の頂点画素抽出部106の処理によって、GS32、GS33、GS82、GS87、およびGS97が頂点画素として抽出される。
なお、文字の輪郭を形成する任意の画素から順にその輪郭をたどって行き、輪郭の方向が変化した点の画素を頂点画素として抽出するようにしてもよい。
同一線分画素候補抽出部107、同一線分画素抽出部108、および同一線分画素近似処理部109は、連携して水平垂直線処理を行う。この処理については、図8のフローチャートを参照しながら説明する。
同一線分画素候補抽出部107は、各ブロックBK内の文字の輪郭のうちの横方向または縦方向において一本の線分で表されるべき部分(辺)において同じ一本の線分上に位置すべき頂点画素群(以下、「同一線分画素群」と記載する。)の候補(以下、「同一線分候補画素群」と記載する。)を求める(図8の#101)。
横方向および縦方向とは、それぞれ、文字が傾いていない場合における水平方向および垂直方向のことである。文字の輪郭のうちの横方向または縦方向において一本の線分で表されるべき部分とは、例えば「国」の文字の場合は、図9(a)に示すような、「国」の文字に含まれる「口」の部分の輪郭を形成する角から角までの縦方向および横方向の各辺HE1〜HE8、および図9(b)に示すような、「国」の文字に含まれる「王」の部分の輪郭を形成する縦方向および横方向の各辺HE9〜HE16のことである。
同一線分画素候補抽出部107は、頂点画素抽出部106が抽出した頂点画素のうちで次の(A1)〜(A4)の条件を全て満たす複数の頂点画素を同一線分候補画素群として抽出する。
(A1)複数の頂点画素が図10(a)に示すような階段状に位置している。
(A2)形成されている階段状の輪郭の長さ(図10(a)の例では、頂点画素GS1とGS8との距離)が所定の長さ(第一の長さ)以上である。
(A3)階段状の輪郭を形成している水平方向に隣り合う頂点画素同士の距離が所定の距離範囲(第一の水平距離範囲)内である。
(A4)階段状の輪郭を形成している垂直方向に隣り合う頂点画素同士の距離が所定の距離範囲(第一の垂直距離範囲)内である。
図10(a)の例では、頂点画素GS1〜GS8は階段状の輪郭を形成している。階段状であるか否かは、隣り合う頂点画素GS同士を結ぶベクトルの方向によって判定できる。よって、頂点画素GS1とGS2との距離、頂点画素GS3とGS4との距離、頂点画素GS5とGS6との距離、頂点画素GS7とGS8との距離が、それぞれ、第一の水平距離範囲内であり、かつ頂点画素GS2とGS3との距離、頂点画素GS4とGS5との距離、頂点画素GS6とGS7との距離が、それぞれ、第一の垂直距離範囲内であり、かつ頂点画素GS1と頂点画素GS8との距離が第一の長さ以上であれば、頂点画素GS1〜GS8の画素群は、上記の(A1)〜(A4)の条件を全て満たすので、同一線分候補画素群として抽出されることになる。
同一線分画素候補抽出部107は、次の(B1)および(B2)の条件を共に満たす画素群も同一線分候補画素群として抽出する。
(B1)その画素群を含む文字が所定のサイズ(閾値サイズ)よりも小さい。
(B2)隣り合う頂点画素同士の距離が所定の距離範囲(第二の距離範囲)内である。
図10(c)には、図10(b)に示す「色」の文字の特定の部分(特定部分AR2)の拡大図が示される。図10(b)において、この「色」の文字が所定のサイズよりも小さい場合は、上記の(B1)の条件が満たされる。さらに、図10(c)に示す隣り合う頂点画素GS25と頂点画素GS75との距離が第二の距離範囲内である場合、これらの頂点画素GS25および頂点画素GS75は同一線分候補画素群として抽出される。頂点画素GS84と頂点画素GS134との距離が第二の距離範囲内である場合、これらの頂点画素GS84および頂点画素GS134も同一線分候補画素群として抽出される。なお、近傍にある同一線分候補画素群同士をまとめて1つの同一線分候補画素群として抽出してもよい。すなわち、図10(c)の例では、頂点画素GS25、GS75、GS84、およびGS134を1つの同一線分候補画素群として抽出してもよい。
なお、文字のサイズとして、ブロックBKの縦の長さ(垂直方向の長さ)を用いてもよい。または、ブロックBKが1つの文字ごとに定義される場合は、そのブロックBKの縦および横の長さによって定義されるサイズを文字のサイズとして用いてもよい。
同一線分画素抽出部108は、傾き検出部105が求めた傾きを用いて同一線分候補画素群ごとに判定を行うことによって、同一線分画素群を抽出する処理を行う。この処理は次のようにして行う。
判定対象の同一線分候補画素群を1つ選択する。その同一線分候補画素群の判定に用いる直線である基準直線LKを定義する(図8の#102)。
その同一線分候補画素群が、図9(a)の辺HE1のようなその文字の輪郭における横方向の線分に係るものである場合は、傾き検出部105が求めた傾きの直線を基準直線LKとして定義する。すなわち、例えば、求められた文字の傾き角度が「10度」である場合、基準直線LKの傾きaは、a=tan(10)となる。さらに、その同一線分候補画素群に属する任意の頂点画素GSの座標の(x1,y1)の値および求められた傾きのaの値を、y=ax+bの式に代入して切片のbを算出し、図11(a)に示すようなその頂点画素GSをとおる基準直線LKを求める。なお、切片のbの算出方法として、例えば、同一線分候補画素群の両端に位置する頂点画素GSの座標を代入して算出される2つのbの値の平均値を基準直線LKの切片のbとして用いてもよい。または、同一線分候補画素群の各頂点画素GSの座標を代入して算出される各bの値の平均値を基準直線の切片bとして用いてもよい。
次に、同一線分候補画素群に属する各頂点画素GSと基準直線LKとの距離を求める(#103)。以下、頂点画素GSと基準直線LKとの距離のことを「画素直線間距離」と記載する。画素直線間距離として、例えば、図12(a)に示すような垂直方向の距離を用いる。その場合は、頂点画素GSのx座標の値を基準直線LKの式に代入したときに得られるyの値とその頂点画素GSのy座標の値との差(y差)が画素直線間距離となる。なお、画素直線間距離を、図12(b)に示すような水平方向の距離としてもよいし、図12(c)に示すような基準直線LKに対して垂直な方向の距離としてもよい。
また、傾き角度が45度以下である場合に、図12(a)のように垂直方向の距離を画素直線間距離として用い、45度を越える場合に、図12(b)のように水平方向の距離を画素直線間距離として用いるようにしてもよい。すなわち、画素直線距離が短くなる方向の距離を用いてもよい。そうすることによって、画素直線間距離のばらつきを小さくすることができ計算効率を向上できる。
そして、その同一線分候補画素群に属する全ての頂点画素GSの画素直線間距離が所定の距離範囲(第三の距離範囲)内である場合に、その同一線分候補画素群を同一線分画素群であると判定する(#104)。
一方、同一線分候補画素群が、図9(a)の辺HE2のようなその文字の輪郭における縦の線分に係るものである場合は、傾き検出部105が求めた傾きの直線と垂直に交わる直線を基準直線LKとして定義する(#102)。以下、傾き検出部105が求めた傾きの基準直線LKを「基準直線LKy」、傾き検出部105が求めた傾きの直線と垂直に交わる基準直線LKを「基準直線LKt」として、それぞれ区別して記載することがある。すなわち、傾き検出部105が求めた傾きをaとすると、基準直線LKtは、その傾きが−1/aとなり、y=(−1/a)x+bの式で表される。基準直線LKtは、図11(b)に示すように、基準直線LKyと直角に交わる直線である。
次に、同一線分候補画素群に属する各頂点画素GSと求めた基準直線LKtとの水平方向の距離を画素直線間距離として求める(#103)。その場合は、頂点画素GSのy座標の値を基準直線LKtの式に代入したときに得られるxの値とその頂点画素GSのx座標の値との差(x差)が画素直線間距離となる。なお、画素直線間距離を、頂点画素GSと基準直線LKtとの水平方向の距離としてもよいし、基準直線LKtに対して垂直な方向の距離としてもよい。
そして、その同一線分候補画素群に属する全ての頂点画素GSの画素直線間距離が所定の距離範囲(第三の距離範囲)内である場合に、その同一線分候補画素群を同一線分画素群であると判定する(#104)。
なお、第三の距離範囲は、基準直線LKtを用いるか基準直線LKyを用いるかに応じて所定のルールに従って求める。また、基準直線LKは、同一線分候補画素群ごとに求めてもよいし、各同一線分候補画素群に対して共通の基準直線LKを用いてもよい。各同一線分候補画素群に対して共通の基準直線LKを用いる場合は、同一線分候補画素群ごとにそれぞれに応じた第三の距離範囲を所定のルールに従って求め、それらを用いて各同一線分候補画素群が同一線分画素群であるか否かの判定を行う。
上記の第一の長さ、第一の水平距離範囲、第一の垂直距離範囲、第二の距離範囲、第三の距離範囲、および閾値サイズは、傾き検出部105が求めた傾きおよび文字のサイズなどに応じて決定する。
同一線分画素近似処理部109は、文字の輪郭のうちの横方向または縦方向において一本の線分で表されるべき部分を、同一線分画素を用いて直線で近似する。この処理は、具体的には次のようにして行う。
同一線分画素抽出部によって抽出された同一線分画素群において両端に位置する画素(両端画素)を抽出する。それら両端画素を結ぶ線分によって、その同一線分画素群に対応する部分の文字の輪郭を近似する(図8の#105でYesおよび106)。すなわち、その輪郭の部分の両端の画素としてそれら両端画素を保存しておく。このような処理を抽出された全ての同一線分画素群に対して行う(#107でNo)。
「国」の文字の例では、上記の処理によって、図13(a)において実線で示すように、その文字の横方向および縦方向において一本の線分で表されるべき部分がそれぞれに対応する両端画素を結ぶ線分によって近似される。
アウトライン化部110は、文字の輪郭のうちの両端画素を結ぶ線分によって近似された以外の部分(アウトライン化対象部分)、すなわち「国」の文字の例の場合は図13(b)において実線で示す「点」の部分を直線または曲線で近似する。
それに際して、アウトライン化部110は、頂点画素抽出部106が抽出した各頂点画素GSのうちの同一線分画素群に属する頂点画素(同一線分画素)GS以外の頂点画素GSを用いて、まず直線近似の処理を行い、直線近似された後の輪郭を曲線近似する。以下、直線近似する線分のことを「近似線分」と記載する。ここでこのアウトライン化の処理について図14を参照して具体的に説明する。
図14(a)には、「国」の文字の輪郭の画像が示される。この画像は、抽出した頂点画素GSの中心の点を結ぶことによって描くことができる。図14(b)には、図14(a)の輪郭を示す画像の特定の部分(特定部分AR3)の拡大図が示される。
特定部分AR3において、まず、任意の頂点を始点として選択する。ここでは、頂点P1を始点として選択したものとする。始点P1と始点P1から2つ隣の頂点P3を近似線分の終点の候補(終点候補)として選択する。始点P1と終点候補の頂点(終点候補点)P3とを結ぶ線分と、始点P1と終点候補点P3との間にある頂点である頂点P2との距離を求める。求めた距離が所定の閾値(直線近似閾値)よりも短いか否かをチェックする。短い場合は、終点候補を次の頂点P4に移して同様の処理を行う。すなわち、始点P1と終点候補点P4とを結ぶ線分と、始点P1と終点候補点P4との間にある各頂点である頂点P2およびP3のそれぞれとの距離を求める。求めた各距離が直線近似閾値よりも短いか否かをチェックする。いずれの距離も直線近似閾値よりも短い場合は、終点候補をさらに次の頂点である頂点P5に移して同様の処理を行う。
始点と終点候補点とを結ぶ線分と、始点とその終点候補の頂点との間にある各頂点との距離のいずれかが直線近似閾値よりも長くなるような終点候補が現れるまで、終点候補を、順次、次の頂点に移していく。そのいずれかの距離が直線近似閾値以上になった時点で近似線分の終点を決定する。図14(b)の例では、終点候補が頂点P9となったときに、始点P1と終点候補点P9とを結ぶ線分と頂点P8との距離が直線近似閾値よりも長くなるものとする。
頂点候補が頂点P9に移ると、同様にして、始点P1と終点候補点P9とを結ぶ線分と、始点P1と終点候補点P9との間にある各頂点との距離を求める。その線分と頂点P8との距離は直線近似閾値よりも長いので、この時点で頂点P1を始点とする近似線分の終点を決定する。終点は、その時点の終点候補の1つ手前の頂点に決定する。図14(b)の例では、終点候補点P9の1つ手前の頂点P8を終点として決定する。そして、頂点P1〜P8によって形成される輪郭が、図9(c)に示すような始点P1と終点P8とを結ぶ近似線分S1で近似されるように、頂点P1および頂点P8をそれぞれ始点および終点として記録しておく。
終点が決まると、その終点を次の近似線分の始点として、当該次の近似線分を求める処理を行う。すなわち、頂点P8を始点とし、その2つ隣の頂点である頂点P10を終点候補として、それらを結ぶ線分と、それら始点P8と終点候補点P10との間にある各頂点との距離を求める。以下、既に説明した方法と同様にして、終点候補を移して行き、終点を決定する。同様の処理を繰り返し、アウトライン化対象部分の全てについて近似線分の始点および終点を求める。これによって、図14(b)の例では、輪郭が図15(a)のように近似される。
次に、直線近似された輪郭を曲線近似する。この処理では、輪郭を形成する近似線分のうちの隣り合う2つの近似線分に着目し、それら2つの近似線分が次の(C1)および(C2)の条件をともに満たす場合に、それら2つの近似線分によって表される輪郭をベジェ曲線で近似する。
(C1)2つの近似線分の両方が所定の長さ(曲線近似閾値)よりも短い。
(C2)2つの近似線分の接点にできる小さいほうの角度(判定対象角度)が所定の角度(近似閾値角度)よりも大きい。
図15(a)には、近似線分S1〜S5によって形成される、「国」の文字の特定部分AR3の輪郭が示される。図15(a)の例では、判定対象角度K8、K11、およびK13が近似閾値角度よりも大きく、判定対象角度K12が近似閾値角度よりも小さいものとする。また、近似線分S1、S2、S3、およびS4の長さは、曲線近似閾値よりも短く、近似線分S5は、曲線近似閾値よりも長いものとする。
図15(a)において、近似線分S1とS2とに着目すると、これらの近似線分S1およびS2はいずれも曲線近似閾値よりも短いので上記の(C1)の条件を満たす。また、判定対象角度K8は、近似閾値角度よりも大きいので上記の(C2)の条件も満たす。すなわち、近似線分S1およびS2は上記の(C1)および(C2)の条件をともに満たすので、これらの近似線分の輪郭に対して曲線近似を行う。曲線近似は、例えば、次のようにして行う。
近似線分S1の中点C1および近似線分S2の中点C2を求める。それら中点C1およびC2をそれぞれ始端点および終端点とし、所定のルールに従ってさらに別の2つの制御点を決めて、図15(b)に示すようなベジェ曲線BC1を求める。2つの制御点は、中点C1において近似線分S1に接しかつ中点C2において近似線分S2に接するベジェ曲線が描かれる点とする。例えば、それぞれ、頂点P8と中点C1との中点および頂点P8と中点C2との中点としてもよい。また、そのベジェ曲線がP8とできるだけ近くなるような点としてもよい。
次に、近似線分S2およびS3に着目し同様に上述の(C1)および(C2)の条件を共に満たす場合に、それらの近似線分によって表される輪郭を曲線近似する。同様にして着目する線分を順次移して行き、上述の(C1)および(C2)の条件を共に満たす近似線分の箇所の輪郭を曲線によって近似する。
以上のようにして、各ブロックBK内に含まれる全ての文字に対して水平垂直線処理およびアウトライン化の処理を行い、処理が施された後のブロックBKのデータである処理済みブロックデータDZを文字圧縮処理部111に出力する。
文字圧縮処理部111は、処理済みブロックデータDZをMMRなどの可逆圧縮の方式で圧縮する。
低解像度化部112は、背景抽出部102によって抽出された背景の画像を低解像度化する。背景圧縮処理部113は、低解像度化された後の背景のデータをJPEGなどの非可逆圧縮の方式で圧縮する。
ファイル生成部114は、文字圧縮処理部111および背景圧縮処理部113によって生成されたそれぞれの圧縮データを用いてPDFファイルを生成する。ファイル保存部115は、生成されたPDFファイルを保存する。
本実施形態において、傾き検出部は、抽出されたブロックBKごとに傾きを求めてもよいし、原稿画像全体に対して1つの傾きを求めてもよい。原稿画像全体に対して1つの傾きを求める場合は、例えば、抽出された任意のブロックBKの傾きを求め、それを原稿画像全体の傾きとして用いる。または、各ブロックBKの傾きの平均値を原稿画像全体の傾きとして用いる。
ブロックBKごとに傾きを求めると、例えば、図16(a)または図17(a)のように傾き角度の異なる文字列を含む原稿画像に対しても適切な水平垂直線処理を行うことができる。なお、図16および図17に示される黒の棒およびグレーの棒は1行の文章を表す。このように、傾きの異なる文字列を含む原稿画像については、図16(b)および図17(b)に示すように、傾きの異なる文字列ごと分けてブロックBKを抽出する。
図18はPDFファイルを生成する際の画像形成装置1の全体的な処理の流れを説明するためのフローチャート、図19は文字領域に対する処理の流れを説明するためのフローチャート、図20は背景領域に対する処理の流れを説明するためのフローチャートである。
次に、スキャンして得た原稿画像データGDをPDFファイルに変換してとして保存する場合の画像形成装置1の処理の流れについて説明する。
ユーザがスキャナ10aに原稿をセットし、保存の形式としてPDFを選択してスキャンの実行を指示すると、画像形成装置1は、その原稿をスキャンする。
画像形成装置1は、スキャンして得た原稿画像データGDに含まれる文字の領域(ブロックBK)とその背景の領域とを分離し(#201)、それぞれの領域ごとに処理を行う(#202および#203)。文字ブロックBKに対しては次のような処理を行う。
処理対象のブロックBKを1つ選択し、そのブロックBK内の文字の傾きを求める(#301)。その文字の輪郭を形成する頂点画素を求める(#302)。求めた頂点画素を用いて、図8において説明した水平垂直線処理を行う(#303)。
水平垂直線処理によって近似された以外の部分の輪郭を、アウトライン化によって直線または曲線で近似する(#304)。
そのブロックBK内の全ての文字について完了するまでステップ#303および#304の処理を繰り返す(#305でNo)。さらに、抽出した全てのブロックBKについて、ステップ#301〜#305の処理を繰り返す(#306でNo)。
全てのブロックBKについて完了すると(#306でYes)、水平垂直線処理およびアウトライン化が施されたブロックBKのデータを可逆圧縮する(#307)。
背景の領域に対しては次のような処理を行う。抽出した背景の領域の画像を低解像度化する(図20の#401)。低解像度化された後のデータを非可逆圧縮する(#402)。
可逆圧縮された後のブロックBKのデータと非可逆圧縮された後の背景領域のデータとを用いてPDFファイルを生成し(図18の#204)、保存する(#205)。
図21は傾いた状態の文字をアウトライン化した結果を示す図、図22は画像形成装置1の構成の他の例を示す図である。
上述のように、本実施形態では、アウトライン化を行う前に、水平垂直線処理を行うことによって、文字の輪郭のうちで横方向および縦方向において本来直線であるべき部分、すなわち横方向および縦方向において一本の線分で表されるべき部分を直線で近似する。従来のように、傾いた画像に対してアウトライン化の処理を行うと、アンカー数が増加することによって、そのような一本の線分で表されるべき部分が複数の線分によって近似され、図21(a)に示すように文字が歪な形に変形してしまう。しかし、本実施形態では、上述のように、アウトライン化に先立って水平垂直線処理を行って、横方向および縦方向において一本の線分で表されるべき部分を直線で近似する。よって、図21(b)に示すように、従来の方法よりも文字の形を良好に保つことができる。このような効果は、横方向および縦方向の線分を多く含む文字に対して特に顕著に現れる。
なお、図22に示すように、アウトライン化部110の次に傾き補正部116を設けておき、アウトライン化された後の文字の傾きを補正するようにしてよい。すなわち、図19のステップ#304の後に傾き補正を行うようにしてもよい。この傾き補正は公知の方法で行う。例えば、二次元マトリクスを用いた補正を行ってもよい。
従来のように、アウトライン化をする前のラスタ画像(ビットマップ形式の画像)に対して傾き補正を行うと、計算量が多くなりその傾き補正に多くの時間を要してしまうことがある。そこで、傾いた状態のラスタ画像をアウトライン化してベクタ画像に変換してから傾き補正を行う方法が考えられる。しかし、傾いた画像に対してアウトライン化を行うと、図21(a)で示したように文字の形状が歪な形に変換されてしまう。そこで、水平垂直線処理を施すことによってそのような一本の線分で表されるべき部分を直線で近似し、近似後の画像に対してアウトライン化を行い、アウトライン化した後のベクタ画像に対して傾き補正を行うようにする。そうすることによって、従来のように文字を歪に変形させることなくかつ簡単な処理で、傾きが補正されたベクタ画像を生成することができる。
本実施形態では、画像形成装置1として、複合機またはMFPなどの画像処理装置を用いたが、パーソナルコンピュータまたはワークステーションなどを用いてもよい。または、画像処理装置とパーソナルコンピュータなどとで処理を分担するようにしてもよい。例えば、背景抽出部102、二値化部103、および文字ブロック抽出部104などの処理を画像処理装置で行い、他の処理を、パーソナルコンピュータなどで行うようにしてもよい。
なお、図2の各部の機能の一部をハードウェアによって実現してもよい。例えば、入力画像処理部および出力画像処理部などのハードウェアを画像形成装置1に設けておく。入力画像処理部は、スキャナ10aから原稿画像データGDを受け付け、それに対して、色変換、色補正、解像度変換、および領域判別などの処理を行う。出力画像処理部は、スクリーン制御、スムージング処理、およびPWM制御などを行う。
その他、画像形成装置1の全体または各部の構成、機能、処理の内容または順序、各データが示す内容などは、本発明の趣旨に沿って適宜変更することができる。
本発明の一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。 画像形成装置の機能的構成の例を示す図である。 原稿画像とそれに含まれる文字の領域および背景の領域とを示す図である。 文字のブロックを抽出する処理を説明するため図である。 文字の傾きの検出の方法を説明するための図である。 頂点検出パターンの例を示す図である。 「国」の文字の特定部分における頂点画素の例を示す図である。 水平垂直線処理の流れを説明するためのフローチャートである。 文字の輪郭のうちに含まれる縦の線分および横の線分の例を示す図である。 同一線分候補画素群の抽出の処理を説明するための図である。 基準直線の例を示す図である。 画素直線間距離の例を示す図である。 近似された部分の輪郭を示す図である。 アウトライン化の処理の手順を説明するための図 アウトライン化の処理の手順を説明するための図である。 傾きの異なる文字列を含む原稿画像の例を示す図である。 傾きの異なる文字列を含む原稿画像の例を示す図である。 PDFファイルを生成する際の画像形成装置の全体的な処理の流れを説明するためのフローチャートである。 文字領域に対する処理の流れを説明するためのフローチャートである。 背景領域に対する処理の流れを説明するためのフローチャートである。 傾いた状態の文字をアウトライン化した結果を示す図である。 画像形成装置の構成の他の例を示す図である。
符号の説明
1 画像形成装置(画像処理装置、コンピュータ)
105 傾き検出部(傾き検出手段)
106 頂点画素抽出部(頂点画素抽出手段)
107 同一線分画素候補抽出部(同一線分候補画素群抽出手段)
108 同一線分画素抽出部(同一線分画素群抽出手段)
109 同一線分画素近似処理部(両端画素抽出手段、第一近似手段)
110 アウトライン化部(第二近似手段)
GS 頂点画素
LK 基準直線

Claims (12)

  1. 画像処理装置におけるベクタ画像の生成方法であって、
    画像に含まれる文字の傾きを求め、前記傾きと同じ傾きを有する直線またはその直線に対して垂直な直線を基準直線として設定し、
    前記文字の輪郭を形成する頂点画素を求め、
    前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を
    複数の前記頂点画素が階段状に位置しておりかつ隣り合う当該頂点画素同士の距離が所定の範囲内である場合に当該複数の頂点画素の画素群を前記同一線分候補画素群であると判定することによって、または、
    前記文字が所定のサイズよりも小さい場合において、隣り合う前記頂点画素同士の距離が所定の範囲内である場合にそれらの頂点画素の画素群を前記同一線分候補画素群であると判定することによって求め、
    求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、前記基準直線と前記同一線分候補画素群の前記頂点画素との距離である画素直線間距離を、当該同一線分候補画素群の当該各頂点画素について求め、いずれの前記画素直線間距離も所定の範囲内である場合に当該同一線分候補画素群を前記同一線分画素群であると判別することによって抽出し、
    抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出し、
    抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似し、
    前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する、
    ことを特徴とするベクタ画像生成方法。
  2. 前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、求めた前記傾きを有する直線を前記基準直線として用い、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、求めた前記傾きの直線に対して直角の傾きを有する直線を前記基準直線として用いる、
    請求項記載のベクタ画像生成方法。
  3. 求めた前記傾きが45度よりも小さい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、
    求めた前記傾きが45度よりも大きい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とする、
    請求項記載のベクタ画像生成方法。
  4. 画像処理装置におけるベクタ画像の生成方法であって、
    画像に含まれる1つまたは複数の文字を含む文字群を抽出し、
    抽出した文字群ごとに、
    当該文字群の傾きを求め、前記傾きと同じ傾きを有する直線またはその直線に対して垂直な直線を基準直線として設定し、
    当該文字群に含まれる前記各文字の輪郭を形成する頂点画素を求め、
    前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を
    複数の前記頂点画素が階段状に位置しておりかつ隣り合う当該頂点画素同士の距離が所定の範囲内である場合に当該複数の頂点画素の画素群を前記同一線分候補画素群であると判定することによって、または、
    前記文字が所定のサイズよりも小さい場合において、隣り合う前記頂点画素同士の距離が所定の範囲内である場合にそれらの頂点画素の画素群を前記同一線分候補画素群であると判定することによって求め、
    求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、前記基準直線と前記同一線分候補画素群の前記頂点画素との距離である画素直線間距離を、当該同一線分候補画素群の当該各頂点画素について求め、いずれの前記画素直線間距離も所定の範囲内である場合に当該同一線分候補画素群を前記同一線分画素群であると判別することによって抽出し、
    抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出し、
    抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似し、
    前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する、
    ことを特徴とするベクタ画像生成方法。
  5. 前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、求めた前記傾きを有する直線を前記基準直線として用い、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、求めた前記傾きの直線に対して直角の傾きを有する直線を前記基準直線として用いる、
    請求項4記載のベクタ画像生成方法。
  6. 求めた前記傾きが45度よりも小さい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、
    求めた前記傾きが45度よりも大きい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とする、
    請求項5記載のベクタ画像生成方法。
  7. 画像をラスタ形式からベクタ形式に変換する処理を行う画像処理装置であって、
    前記画像に含まれる文字の傾きを求める傾き検出手段と、
    前記文字の輪郭を形成する頂点画素を求める頂点画素抽出手段と、
    前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を、複数の前記頂点画素が階段状に位置しておりかつ隣り合う当該頂点画素同士の距離が所定の範囲内である場合に当該複数の頂点画素の画素群を前記同一線分候補画素群であると判定することによって、または、前記文字が所定のサイズよりも小さい場合において、隣り合う前記頂点画素同士の距離が所定の範囲内である場合にそれらの頂点画素の画素群を前記同一線分候補画素群であると判定することによって求める同一線分候補画素群抽出手段と、
    前記傾き検出手段が求めた傾きと同じ傾きを有する直線またはその直線に対して垂直な直線を基準直線として設定し、前記同一線分候補画素群抽出手段が求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、前記基準直線と前記同一線分候補画素群の前記頂点画素との距離である画素直線間距離を、当該同一線分候補画素群の当該各頂点画素について求め、いずれの前記画素直線間距離も所定の範囲内である場合に当該同一線分候補画素群を前記同一線分画素群であると判別することによって抽出する同一線分画素群抽出手段と、
    前記同一線分画素群抽出手段が抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出する両端画素抽出手段と、
    前記両端画素抽出手段が抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似する第一近似手段と、
    前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する第二近似手段と、
    を有することを特徴とする画像処理装置。
  8. 前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、求めた前記傾きを有する直線を前記基準直線として用い、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、求めた前記傾きの直線に対して直角の傾きを有する直線を前記基準直線として用いる、
    請求項7記載の画像処理装置。
  9. 求めた前記傾きが45度よりも小さい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、
    求めた前記傾きが45度よりも大きい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とする、
    請求項8記載の画像処理装置。
  10. 画像をラスタ形式からベクタ形式に変換する処理を行うためのコンピュータに、
    画像に含まれる文字の傾きを求め、前記傾きと同じ傾きを有する直線またはその直線に対して垂直な直線を基準直線として設定する処理と、
    前記文字の輪郭を形成する頂点画素を求める処理と、
    前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を
    複数の前記頂点画素が階段状に位置しておりかつ隣り合う当該頂点画素同士の距離が所定の範囲内である場合に当該複数の頂点画素の画素群を前記同一線分候補画素群であると判定することによって、または、
    前記文字が所定のサイズよりも小さい場合において、隣り合う前記頂点画素同士の距離が所定の範囲内である場合にそれらの頂点画素の画素群を前記同一線分候補画素群であると判定することによって求める処理と、
    求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、前記基準直線と前記同一線分候補画素群の前記頂点画素との距離である画素直線間距離を、当該同一線分候補画素群の当該各頂点画素について求め、いずれの前記画素直線間距離も所定の範囲内である場合に当該同一線分候補画素群を前記同一線分画素群であると判別することによって抽出する処理と、
    抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出する処理と、
    抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似する処理と、
    前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する処理と、
    を実行させることを特徴とするコンピュータプログラム。
  11. 前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、求めた前記傾きを有する直線を前記基準直線として用い、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、求めた前記傾きの直線に対して直角の傾きを有する直線を前記基準直線として用いるように処理を実行させる、
    請求項10記載のコンピュータプログラム。
  12. 求めた前記傾きが45度よりも小さい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、
    求めた前記傾きが45度よりも大きい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とするように処理を実行させる、
    請求項11記載のコンピュータプログラム。
JP2008159501A 2008-06-18 2008-06-18 ベクタ画像生成方法、画像処理装置、およびコンピュータプログラム Active JP4605260B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008159501A JP4605260B2 (ja) 2008-06-18 2008-06-18 ベクタ画像生成方法、画像処理装置、およびコンピュータプログラム
US12/481,300 US8274515B2 (en) 2008-06-18 2009-06-09 Vector image generation method, image processing apparatus, and computer-readable storage medium for computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008159501A JP4605260B2 (ja) 2008-06-18 2008-06-18 ベクタ画像生成方法、画像処理装置、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2010003005A JP2010003005A (ja) 2010-01-07
JP4605260B2 true JP4605260B2 (ja) 2011-01-05

Family

ID=41430751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008159501A Active JP4605260B2 (ja) 2008-06-18 2008-06-18 ベクタ画像生成方法、画像処理装置、およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US8274515B2 (ja)
JP (1) JP4605260B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258196B (zh) * 2013-05-30 2016-05-18 电子科技大学 复杂环境中紧连字符串的字符分离方法
CN107221020B (zh) * 2017-05-27 2021-04-16 北京奇艺世纪科技有限公司 一种文字纹理绘制方法及装置
US10515295B2 (en) * 2017-10-27 2019-12-24 Adobe Inc. Font recognition using triplet loss neural network training
CN111369577B (zh) * 2020-03-03 2023-02-17 浙江大学城市学院 一种将位图转换为矢量图像的方法
CN113362427B (zh) * 2021-06-29 2024-03-15 深圳市创想三维科技股份有限公司 斜边立体字的轮廓生成方法、装置、计算机设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01197890A (ja) * 1988-02-02 1989-08-09 Fujitsu Ltd 傾斜文字の認識方式

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3102805B2 (ja) * 1990-10-23 2000-10-23 株式会社リコー 図形出力装置
JPH0546752A (ja) 1991-08-20 1993-02-26 Meidensha Corp 図面の傾き補正方法
JPH05268477A (ja) 1992-03-18 1993-10-15 Murata Mach Ltd 画像形成装置
JPH076211A (ja) 1993-06-16 1995-01-10 Oki Electric Ind Co Ltd オンライン文字認識装置
JP3480971B2 (ja) * 1993-10-17 2003-12-22 ヒューレット・パッカード・カンパニー 画像データの生成方法及び復元方法
JP3471578B2 (ja) * 1997-08-29 2003-12-02 シャープ株式会社 行方向判定装置、画像傾き検出装置及び画像傾き補正装置
JP2002077566A (ja) 2000-08-23 2002-03-15 Nec Microsystems Ltd 画像補正装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01197890A (ja) * 1988-02-02 1989-08-09 Fujitsu Ltd 傾斜文字の認識方式

Also Published As

Publication number Publication date
JP2010003005A (ja) 2010-01-07
US8274515B2 (en) 2012-09-25
US20090315892A1 (en) 2009-12-24

Similar Documents

Publication Publication Date Title
JP5875637B2 (ja) 画像処理装置、画像処理方法
US8401306B2 (en) Image processing apparatus and control method
US10477063B2 (en) Character detection and binarization
JP4586891B2 (ja) 減色方法、減色処理装置、画像形成装置、およびコンピュータプログラム
JP4582204B2 (ja) 画像処理装置、画像変換方法、およびコンピュータプログラム
JP4605260B2 (ja) ベクタ画像生成方法、画像処理装置、およびコンピュータプログラム
JP2018139457A (ja) 画像処理装置、画像処理の制御方法、及びプログラム
JP4582200B2 (ja) 画像処理装置、画像変換方法、およびコンピュータプログラム
JP2010056827A (ja) 画像処理装置および画像処理プログラム
JP4579759B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP5893379B2 (ja) 画像圧縮装置、画像圧縮方法、コンピュータプログラム
JP4442651B2 (ja) 画像処理装置およびプログラム
CN102592120B (zh) 电子文档生成系统和电子文档生成方法
JP2022030055A (ja) 画像処理装置及び画像処理方法、プログラム
US8441684B2 (en) Between-segment discontinuity reduction for text vectorization using dominant point classification
JP7301529B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7134045B2 (ja) 画像処理装置と画像処理方法、及びプログラム
JP5517028B2 (ja) 画像処理装置
JP7185451B2 (ja) 画像処理装置と画像処理方法、及びプログラム
JP6957912B2 (ja) 画像処理装置、および、コンピュータプログラム
JP5018739B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2024097205A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2023111408A (ja) 画像処理装置及びその制御方法とプログラム
US20100067066A1 (en) Outlining method for properly representing curved line and straight line, and image compression method using the same
JP4412339B2 (ja) 画像形成装置および画像データの補正方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4605260

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350