JP5111226B2 - 画像処理方法、画像処理装置、及び、そのプログラムならびにコンピュータ読み取り可能な記憶媒体 - Google Patents

画像処理方法、画像処理装置、及び、そのプログラムならびにコンピュータ読み取り可能な記憶媒体 Download PDF

Info

Publication number
JP5111226B2
JP5111226B2 JP2008120296A JP2008120296A JP5111226B2 JP 5111226 B2 JP5111226 B2 JP 5111226B2 JP 2008120296 A JP2008120296 A JP 2008120296A JP 2008120296 A JP2008120296 A JP 2008120296A JP 5111226 B2 JP5111226 B2 JP 5111226B2
Authority
JP
Japan
Prior art keywords
line
image
core
pixel
core line
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
JP2008120296A
Other languages
English (en)
Other versions
JP2009271657A (ja
JP2009271657A5 (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 JP2008120296A priority Critical patent/JP5111226B2/ja
Priority to US12/431,833 priority patent/US8520951B2/en
Publication of JP2009271657A publication Critical patent/JP2009271657A/ja
Publication of JP2009271657A5 publication Critical patent/JP2009271657A5/ja
Application granted granted Critical
Publication of JP5111226B2 publication Critical patent/JP5111226B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/42Document-oriented image-based pattern recognition based on the type of document
    • G06V30/422Technical drawings; Geographical maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Image Processing (AREA)

Description

本発明は、図面や文書画像内の線図形等の処理に向く、ラスタ走査順に記憶された二値画像から図形のベクトル情報を生成する方法とその装置に関する。特に、等幅線部分と面部分の混在した二値画像に対して、等幅線部分は細線化して得られる芯線をベクトル化処理した後に再生時の線幅情報を付与する一方、面部分は輪郭をベクトル化処理することを特徴とする方法とその装置に関するものである。
近年、ペーパーレス化への要求が高まり、既存の画像データを電子化して再利用することが頻繁に行われるようになってきた。従来、図面や文書画像内の線図形といった画像データの再利用は、画像データを二値化処理した後にベクトル化技術を用いてベクトルデータに変換し、このベクトルデータをCADソフト等で使用するという形で行われてきた。
またビジネス文書においても、既存の画像データを電子化して再利用することが望まれている。例えば、原画の各部分の部分的な太さの差や面積等をも、所望する変倍率を反映した形で(即ち、原画中の太い部分は変倍後の図中でも相対的に太く、原画中での細い部分では変倍後の図中でも相対的に細く)変倍するような再利用形態がある。このような再利用形態については、オリジナル文書中の画像の二値画像を作成し、その輪郭をベクトル化処理する輪郭ベクトル化処理で実現出来る。
さて、二値画像の輪郭ベクトル化処理に関しては、本出願人は既に特許文献1に開示の技術を提案している。この特許文献1における処理では、近傍画素の状態により該輪郭線を構成する点の接続方向を決定する工程と、前記輪郭線を構成する点と、該輪郭線を構成する他の点との接続状態を判断する工程とを備えている。そして、注目画素とその近傍画素の状態により、予め定められた位置を、輪郭線を構成する点とし、注目画素の位置をラスタ走査順に画像データ上を更新し、注目画素毎に近傍画素の状態に基づいて前記工程を実行し、輪郭点を抽出する。
以上の構成において、画像データにおける注目画素と、その近傍画素の状態を保持し、この注目画素をラスタ走査順に取り出し、その注目画素とその近傍画素の状態に基づいて、水平方向及び垂直方向の画素間ベクトルを検出する。これら画素間ベクトル同士の接続状態を判別して、この判別された画素間ベクトルの接続状態をもとに、画像データの輪郭を抽出するように動作する、という手法を提案している。
上記手法は、原画中の全ての輪郭線を1回のラスタ走査で抽出でき、かつ、全画像データを記憶するためのメモリを必要としないため、メモリの容量を少なく出来る効果を有している。また、画素の中心位置ではなく、画素の縁単位に輪郭を抽出することにより、1画素幅の細線に対しても有為な幅を持たせることが出来る輪郭線抽出法である。更に、原画中の画素が4方向に連結した4連結画素領域の輪郭線を抽出するのみならず、8方向に連結した8連結画素領域も抽出可能であることを開示している。
また、本出願人は特許文献2において、特許文献1に開示されるベクトル抽出ルールをモジュール化することにより、効率的な輪郭点抽出が可能であることを開示している。
ところで、ビジネス文書で既存の画像データを再利用する場合、ある図形を構成する線を、単なる線(直線、開曲線、閉曲線等)、あるいはその線の集まりとして扱いたい場合も少なくない。例えば線の集まりの中から一部の線のみを削除したり、別な線を追加したり、これら各線の一部のみに部分的な曲率、長さ、太さや線種(実線、破線、一点鎖線等)の変更を加える等の編集操作が代表的な活用法である。このような要求に答えるものとして、原図形の特徴を示す芯線をベクトル化する芯線ベクトル化処理が挙げられる。
芯線ベクトル化処理では、芯線を抽出するために細線化と呼ばれる画像処理が良く利用される。細線化処理は二値画像に対して、各部の接続関係を維持したまま、その線幅が1ピクセルになるように細める処理である。そして得られた線幅1ピクセルの芯線の二値画像を、それらの端点や交点間をつなぐ独立した線や閉曲線毎にベクトル化する。芯線ベクトル化については、例えば特許文献3で開示される方法を用いて構成される。
しかしながら、この細線化処理を施して得られる芯線からは、原画像(細線化前の二値画像)中の各線の太さに関する情報は無くなっているため、芯線の二値画像をベクトル化して得られるベクトルデータにも、原画像の太さに関する情報が反映されていなかった。このため原画像と比べてベクトルデータでは線の太さが細く再生され、利用者に違和感を与えていた。
また、処理対象とする原画像の中には等幅線部分と面部分が混在したものも多々あり、等幅線部分は、芯線を抽出して芯線ベクトル化処理し、面部分は、輪郭を輪郭ベクトル化処理した方が好ましい場合がある。図2に等幅線部分と面部分が混在した画像の例を示す。中が塗られた円等の図形や、線幅が途中で変化するような線は、線幅情報をつけた線だけでは表現することができない。
特許文献4では、始めに画像の輪郭を検出して輪郭ベクトルを生成した後に、向かい合う輪郭ベクトルが一定幅以内の時に輪郭ベクトルの中心線を芯線として芯線ベクトルを生成させている。そして、芯線ベクトルが生成されなかった中断点に対応する両側の輪郭線を連結する仮想ベクトルを設定することで線部と面部の分離を行うことを特徴とする画像処理装置が記載されている。
しかしながら特許文献4では芯線ベクトルを生成するかどうかの条件を、向かい合う輪郭が一定幅以内であるかどうかとしている。したがって、太さが徐々に変化する線も等幅線になったり、太い線を含む画像では等幅線部と面部の分離に失敗して原画像とベクトル再生画像で見た目が大きく変わったりする問題がある。
また特許文献5では、画像の輪郭ベクトルを抽出した後に、ある区間で輪郭が接近していて、かつ輪郭間の距離が平均的に一定長の場合、2つの輪郭の中心線を幅つきでベクトル化することを特徴とする画像処理装置が記載されている。
しかしながら特許文献5で開示されている手法では等幅線同士が接続する交点において、交点部分がどの等幅線にも含まれず、面部分として残ってしまう問題がある。これは編集性が悪く、ベクトルデータ量も増加する。
また上記2つの先行技術のように、輪郭のベクトル情報から等幅線部分と面部分を分離する方式は輪郭線のペアを求める処理や輪郭線間の距離を求める処理等、計算負荷が高い処理が必要となってしまう問題がある。
特許第3026592号公報 特開平05−108823号公報 特願2006−100381号公報 特開平06−020040号公報 特開2004−265384号公報 特開2005−346137号公報 安居院、長尾著"C言語による画像処理入門"初版,ISBN4-7856-3124-4,昭晃堂,2000年11月20日発行,P.53-P.58 鳥脇純一郎著"画像理解のためのディジタル画像処理(II)"初版, ISBN4-7856-2004-8, 昭晃堂, 昭和63年4月30日発行, P.32-P.37
本願では、上記従来技術における問題点に鑑み、等幅線部分と面部分の混在した二値画像に対し、等幅線部分は細線化を用いて芯線を抽出した後に原画像での線の太さを反映した情報を付加して芯線ベクトル化処理し、面部分は輪郭ベクトル化処理をする。このようにして芯線ベクトル化処理と輪郭ベクトル化処理の混在を可能とする方法、装置、及びプログラムを提案することをその課題としている。
上記課題を解決するために、本発明の画像処理方法は、画像処理装置の画像入力手段が、ベクトル化処理対象画像を入力する画像入力工程と、前記画像処理装置の芯線抽出手段が、前記ベクトル化処理対象画像の芯線を抽出する芯線抽出工程と、前記画像処理装置の線幅推定手段が、前記芯線抽出工程にて得られる芯線の画素毎に元の線幅を計算する線幅推定工程と、前記画像処理装置の判定手段が、前記芯線抽出工程にて得られた芯線を交点及び端点間で区切った区間毎に、前記線幅推定工程にて得られた芯線の画素毎の線幅値を用いて、等幅線を表しているか面図形を表しているかを判定する判定工程と、前記画像処理装置の分離手段が、前記判定工程で前記等幅線を表すと判定された区間の芯線と、前記判定工程で前記面図形を表すと判定された区間の芯線と、前記ベクトル化処理対象画像とに基づいて、前記ベクトル化処理対象画像から前記等幅線に対応する部分の画像を除いた前記面図形に対応する部分の画像で構成される面画像を抽出する分離工程と、前記画像処理装置の手段が、前記判定工程で等幅線と判定された芯線と、前記分離工程にて抽出された前記面画像の輪郭のそれぞれを関数近似する関数近似工程とから構成される。
また、本発明の画像処理装置は、ベクトル化処理対象画像を入力する画像入力手段と、前記ベクトル化処理対象画像の芯線を抽出する芯線抽出手段と、前記芯線抽出手段にて得られる芯線の画素毎に元の線幅を計算する線幅推定手段と、前記芯線抽出手段にて得られた芯線を交点及び端点間で区切った区間毎に、前記線幅推定手段にて得られた芯線の画素毎の線幅値を用いて、等幅線を表しているか面図形を表しているかを判定する判定手段と、前記判定手段で前記等幅線を表すと判定された区間の芯線と、前記判定工程で前記面図形を表すと判定された区間の芯線と、前記ベクトル化処理対象画像とに基づいて、前記ベクトル化処理対象画像から前記等幅線に対応する部分の画像を除いた前記面図形に対応する部分の画像で構成される面画像を抽出する分離手段と、前記判定手段で等幅線と判定された芯線と、前記分離手段にて抽出された前記面画像の輪郭のそれぞれを関数近似する関数近似手段とから構成される。
本発明では、画像の一部に面部分を含む線画でも、面部分以外を芯線ベクトル化処理し、その他の部分は輪郭ベクトル化処理(あるいはベクトル化処理しないことも可)を行う。そうすることにより、従来のような、一律な方法(画像全体を芯線ベクトル化処理、または画像全体を輪郭ベクトル化処理)によるベクトル化ではなく、適応的なベクトル化が可能となる効果を有する。
また等幅線部分は原画像に比して視覚的な違和感が少ないベクトル結果を得ることができ、一部の線の削除や追加、部分的な曲率・長さ・太さや線種(実線、破線、一点鎖線等)の変更を加える等の編集操作を行うことができる。等幅線は原画像の接続状態を踏まえた交点で分離できるため、直感的に編集しやすい単位で分離することができる。
<実施形態1>
はじめに、本実施形態の画像処理装置の構成例について、図3のブロック図を参照して説明する。
同図において、7は装置全体を制御するCPU(Central Processing Unit)である。6は変更を必要としないプログラムやパラメータを格納するROM(Read Only Memory)である。5は外部装置等から供給されるプログラムやデータを一時記憶するRAM(Random Access Memory)である。
1は、文書等を光電走査して電子的な画像データを得るためのスキャナであり、3はこのスキャナ1と画像処理装置を接続する画像入出力インターフェースである。2は、スキャナ1で読み取られた画像データ等を保持する画像メモリである。
12は固定して設置されたハードディスクやメモリカード、あるいは着脱可能なフレキシブルディスク(FD)やCD(Compact Disk)等の光ディスク、磁気や光カード、ICカード、メモリカード等を含む外部記憶装置である。また、13はこれら外部記憶装置12とコンピュータ装置との入出力(Input / Output)インターフェースである。
15はユーザの操作を受け、データを入力するマウス等のポインティングデバイス10やキーボード9等の入力デバイスとのインターフェースである。14は画像処理装置の保持するデータや供給されたデータを表示するためのディスプレイモニタ8とのインターフェースである。4はインターネット等のネットワーク回線に接続するためのネットワークインターフェースである。11は1〜15の各ユニットを通信可能に接続するシステムバスである。
以下、CPU7上で実行されるプログラムにより本願発明を実現する処理手順を、図1のフローチャートを用いて説明する。
図1は、本願による発明を実施する装置における動作全体の流れを示すフローチャートである。
同図に示すように、処理を開始すると、処理対象となる画像領域(ベクトル化処理対象画像の領域)を含む画像データの入力が行われる。画像入力に関しては、スキャナ1にて読み取られた画像データを画像入出力I/O 3を介して画像メモリ2に入力する。また、通信I/F4を介して、装置外部より処理対象となる画像領域を含む画像を入力してもよい。あるいは、外部記憶装置12に予め記憶される画像データをI/O 13を介して読み込むものであってもよい。入力された入力画像は、画像メモリ2上に保持される。
ステップS100では、入力された画像を二値画像へ変換した後に、細線化処理を用いて芯線を抽出する(芯線抽出)。入力された画像が多値画像の場合、ROM6上の図示しない領域に予め記憶される閾値を用いて二値化処理を行い、二値画像を得る。尚、入力した画像が既に二値画像である場合はそのまま次の処理に移る。二値化処理に用いる閾値は、入力された画像データを映像I/Oを介してディスプレイモニタ8上に表示した上で、これを操作者が視認しながらI/O 15を介してキーボード9やマウス9等を用いて指示入力するように構成してもよい。
次に得られた二値画像に対して細線化処理を施す。細線化処理とは二値画像中の図形に対し、各部の接続状態を維持したまま、その線幅が1ピクセルになるように細めていく処理である。細線化処理には、公知のHilditch法を用いる。
Hilditch法は、注目画素位置の画素を中心画素とし、その周囲の8画素とからなる3×3のウィンドウ内を予め用意されたマスクパターンとの比較することにより細線化による削除対象画素であるかを判定する。そして、注目画素位置(x,y)の画素が削除対象画素であると判定された場合には、この画素を削除する。即ちこの画素を黒画素から白画素に置き換える。
一方、注目画素位置(x,y)の画素が削除対象画素ではないと判定された場合には、細線化処理範囲内におけるラスタ走査での次の画素位置に注目画素位置を移し、以後、細線化対象領域内全ての画素に対して同処理を繰り返す。そして、一回のラスタ走査において削除される画素が全く発生しなくなるまで、このラスタ走査による一連の処理を繰り返す。一回のラスタ走査において削除される画素が全く発生しなくなった時点で細線化の処理を完了するというものである。
図5に、図4で示す線画像のHilditch法による細線化結果を示す。Hilditch法に関しては、非特許文献1の、安居院、長尾著“C言語による画像処理入門”初版,ISBN4-7856-3124-4,昭晃堂,2000年11月20日発行,P.53-P.58等に述べられている。
次いで、ステップS200では注目芯線画素毎の線幅推定処理を行う。これはステップS100の結果得られる芯線の画素毎に、対応する原画像での線幅を推定する処理である。ここでステップS200の処理の詳細を図6に示し、この図6を用いてステップS200の処理の詳細を以下に説明する。
(線幅推定処理)
まずステップS201では入力画像として得られた二値画像に対して距離変換を行う。距離変換は二値画像中の図形画素(黒画素)の値を背景画素(白画素)からの距離値に置き換える処理である。距離変換に関しては非特許文献2の、鳥脇純一郎著“画像理解のためのディジタル画像処理(II)”初版, ISBN4-7856-2004-8, 昭晃堂, 昭和63年4月30日発行, P.32-P.37等に述べられている。距離変換により二値画像の図形画素毎に、一番近い背景までの背景画素までの距離が求められる。距離変換の中でも各画素に数学的な距離を与えるユークリッド距離変換を用いると斜め方向も考慮した距離をより正確に求めることができる。一例として、図4で示す線画像のユークリッド距離変換結果を図7に示す。
次にステップS201で得られた距離変換の結果を用いて、先のステップ100で得られた芯線の画素毎に、原画像で対応する線幅を推定する。この処理の概要について図8に示している。
まずS202で芯線の画素を1つ選択して中心画素とし、ステップS203でその周囲の8画素とからなる3×3のウィンドウ内に対応する、ステップS201で求めた距離変換の結果を取得する。例えば図5の細線化結果における一番左上に位置する芯線の交点を例にとると、図7における3×3の枠線20、または図8における枠線30に対応する距離変換結果を取得することになる。
ステップS204はステップS202で得られた芯線上に位置する画素に対し、ステップS203で得られた3×3のウィンドウ内に対応する距離変換結果(距離変換値)を用いて、原画像で対応する線幅を推定する。注目芯線画素の周囲8近傍のうち、芯線画素でない位置の距離変換結果の最大値を、ステップS202で選択した着目画素に対応する距離変換結果に加算することで、ステップS202で選択した芯線上の画素の線幅値を求める。図8における注目画素は31で示される”2”であり、芯線画素でない位置にある距離変換結果は31の周囲で白地になっている個所である。そのうち最大の距離変換結果は32で示される“1”となる。よって注目画素の距離変換結果“2”に“1”を足し、注目画素の線幅値として3が求められる。
ステップS205では全ての芯線の画素を処理したかを確認する。まだ未処理の画素があればステップS206で注目画素を更新した後、ステップS202へ戻り処理を続ける。全ての画素を処理した場合は芯線の画素毎の線幅推定処理を終了し、次の処理へ移る。図9は、図4で示す線画像の全ての芯線画素に対して、画素毎線幅値を求めた結果である。
次に、図1に戻り、ステップS300ではステップS100で得られた芯線と、ステップS200で得られた芯線の画素毎の線幅情報を元に等幅線・面判定処理を行う。ステップS300の処理の詳細を図10に示し、この図10を用いてステップS300の処理の詳細を以下に説明する。
(等幅線・面判定処理)
ステップS301では等幅線・面判定を行う芯線を選択する。芯線の選択はステップS100で得られた芯線をそれらの端点や交点間をつなぐ独立した線や閉曲線毎に、すなわち芯線の端点や交点間で区切った単位毎に、選ぶようにする。図9にはaからfの記号を振った交点とgからkまでの記号を割り振った端点が存在する。このときgからaの区間、aからbの区間、bからhの区間、aからcの区間といった単位で等幅線・面判定を行う芯線を決定する。
ステップS302では、ステップS301で選択した芯線に対して、選択した芯線の各画素に対応する、ステップS200で求めた画素毎の線幅値の分散を計算する。等幅線の芯線は画素毎線幅値が近い値となるので分散値は小さくなる傾向にあり。逆に等幅でない線や面の芯線は画素毎線幅値の大きさがばらばらになり、分散値は大きくなる傾向にある。図9のbからdの特定区間の分散を標準偏差で求めると0.445となり、cからdの特定区間の標準偏差は2.095となる。
ステップS303ではステップS302で求めた分散値がROM6上の図示しない領域に予め記憶される閾値以下かどうかを判定する。この閾値は判定対象の芯線の長さ等の情報に応じて変更することもできる。閾値以下の場合、ステップS304で等幅線と判定し、ステップS301で選択した芯線に対して等幅線部であるという情報を付与する。閾値を1.0とすると、bからdの特定区間は標準偏差が0.445なので等幅線部に、cからdの特定区間は標準偏差が2.095なので面部に判断される。
その後ステップS305で、ステップS200にて求めた画素毎の線幅値の平均を求め、芯線に対して線幅情報を付与する。bからdの特定区間を例にとると線幅値の平均が3.273となり、少数点以下を四捨五入すると線幅3ピクセルという情報を付与することができる。ステップS303で、ステップS302で求めた分散値が閾値よりも大きかった場合は、ステップS306で面部と判定し、芯線に対して面であるという情報を付与する。
ステップS307では全ての芯線を判定したかを確認する。まだ未判定の芯線がある場合はステップS308で注目芯線を更新した後、ステップS301へ戻って処理を続ける。全ての芯線を判定した場合は等幅線・面判定を終了し、次の処理へ移る。
次に、図1に戻り、ステップS400では、ステップS300で得られた等幅線・面判定結果を用いて等幅線・面分離処理を行う。ここで、ステップS400の処理の詳細フローを図11に示し、この図11を用いてステップS400の処理の詳細を以下に説明する。またステップS400の処理の概要を図12に示している。
(等幅線・面分離処理)
まず全ての芯線を、等幅線部を表す芯線か、面部(面図形)を表す芯線かに分ける処理を行う。ステップS401において、ステップS301で選択したのと同じく芯線をそれらの端点や交点間をつなぐ独立した線や閉曲線毎を単位として芯線を1つ選択する。そして、ステップS402で、選択した芯線がステップS300で等幅線と判定されたか面と判定されたかの情報を参照する。ここで、等幅線と判定されていた場合は芯線の情報をステップS403で線膨張対象画像に追加し、面と判定されていた場合は芯線の情報をステップS404で面膨張対象画像に追加する。
次いで、ステップS405で全ての芯線を処理したかどうかを判断し、未処理の芯線がある場合はステップS406で注目芯線を更新した後、ステップS401へ戻って処理を続ける。全ての芯線を判定した場合は次の処理へ移る。
次に線膨張対象画像に膨張処理を施し、原画と膨張処理を施した線膨張対象画像(線膨張処理結果)の差分を求める。ステップS407で線膨張対象画像中の各画素に対して個別に背景までの距離だけ膨張処理を行う。ここで言う各画素から背景までの距離はステップS201で求めた距離変換結果を用いる。一例として、各画素から背景までの距離に基づいた膨張処理を図13に示す。
ステップS408では原画像と膨張処理を施した線膨張対象画像を重ね合わせた時に対応する位置にある画素毎に以下のようにして原画像と線膨張対象画像の差分を求める。
・原画像で図形画素(黒画素)かつ膨張処理を施した線膨張対象画像で背景画素(白画素)の時は図形画素とする。
・原画像で図形画素かつ膨張処理を施した線膨張対象画像で図形画素の時は背景画素とする。
・原画像で背景画素の時は背景画素とする。
以上のようにして得られる画像をもって、原画像と線膨張対象画像の差分を求める(差分算出)。
次にステップS409で面膨張対象画像にステップS407と同様の膨張処理(面膨張処理)を施す。そして、ステップS410において原画像と膨張処理を施した面膨張対象画像(面膨張処理結果)を重ね合わせた時に対応する位置にある画素毎に論理積をとって得られる画像をもって、原画像と面膨張対象画像の膨張処理結果の論理積を求める(論理積算出)。
次いで、ステップS411では輪郭ベクトル化処理の対象とすべき成分画像(面画像)を抽出する。即ち、ステップS408で得られた膨張処理を施した線膨張対象画像の差分と、ステップS410で得られた面膨張対象画像の論理積の結果とを、重ね合わせたときに対応する位置にある画素毎に論理和をとる。このようにして得られる画像をもって、輪郭ベクトル化処理の対象とすべき成分画像(面画像)とする。
原画と各画素から背景までの距離に基づいた膨張処理を施した線膨張対象画像の差分では、等幅線部と面部の境界が切れて離れてしまう問題がある。そこでステップS410で得られた原画と各画素から背景までの距離に基づいた膨張処理を施した面膨張対象画像の論理積の結果との論理和を求めることで、切れて離れてしまう箇所を補正することができる。
次に、図1に戻り、ステップS500では、ステップS300で得られた芯線のうち、等幅線部であると判定された芯線に対しては芯線ベクトル化処理を行い、ステップ400で得られた面部の輪郭に対しては輪郭ベクトル化処理を行う。
芯線ベクトル化処理は細線化された二値画像を構成する端点や交点間をつなぐ独立した線や閉曲線毎にベクトル化する。芯線ベクトル化処理に関しては先述の特許文献3によるベクトル化を行う。そこでは、細線化された二値画像を構成する端点や交点間をつなぐ独立した線や閉曲線のそれぞれから得られる線成分に対応する、芯線化された端点間毎の芯線(周回)化済ベクトルを平滑化(関数近似)する処理が行われる。この処理の際に、端点部分に相当するベクトルが、他のベクトルと統合されて端点位置が不明にならぬように、端点部分に相当する部分を明示する始端点・終端点情報を生成する。
そして、端点部分に相当する部分が端点として保存される(ベジェ曲線のアンカーポイントとなる)ように補助ベクトルを挿入する。そして、得られた端点間毎の補助ベクトル入り(周回)ベクトルに対して、特許文献6に開示される方法で2次や3次のベジェ曲線近似をする。このようにして、端点や交点間をつないだり、独立した線や閉曲線部分を残したりすることで、得られた線幅1の二値画像をそれらの端点や交点間をつなぐ独立した線や閉曲線毎に芯線ベクトル化する。
一方、輪郭(アウトライン)ベクトル化処理に関しては、先述の特許文献1や特許文献2によるベクトル化を行う。即ち、二値画像から輪郭ベクトルを抽出し、抽出した輪郭ベクトル表現の状態で、所望の倍率(任意)で滑らかに変倍可能な輪郭ベクトルを作成する。
ステップS500で得られた輪郭(アウトライン)ベクトルと、芯線(ラインアート)ベクトルと、ステップS300で得られた等幅線の芯線に付加された線幅情報を統合して、1つのベクトルデータとして出力することで一連の処理を終える。一例として、図14に、先に示した図2の画像を等幅線部と面部に分離して、等幅線部は線幅情報付きで芯線ベクトル化処理し、面部は輪郭ベクトル化処理した結果を示す。
<実施形態2>
上記の実施形態1において、ステップS302において分散を求める対象とする画素は、判定対象の芯線の全画素を対象としてもよいし、一部分のみを対象としてもよい。他の芯線との交点付近では推定した画素毎線幅値が実際の値よりも大きくなるため、分散の計算から除いた方がより正確に等幅線判定を行うことができる。
またステップS305における線幅情報の生成は、必ずしも画素毎の線幅値の平均を求めることによるのみならず、平均値ではなく、最頻値を用いたり、最小値・最大値を考慮した重み付きの平均(加重平均)を用いたりして求めてもよい。
<実施形態3>
上記の実施形態1及び2においては、距離変換をユークリッド距離変換で行う前提で話を進めたが、これに限らず他の手法を用いてもよい。すなわち、公知の距離変換手法としてのユークリッド距離変換の他にも、4近傍距離(シティブロック距離)、8近傍距離(チェスボード距離)、8角形距離等が知られており、いずれを用いてもよい。
<実施形態4>
本発明の目的は前述した実施形態で示したフローチャートの手順を実現するプログラムコードを記録した記録媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)がそのプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータ実行可能なプログラムコード自体が前述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記憶したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVD等を用いることが出来る。
また、CPUが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、CPU上で稼動しているOperating System(OS)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、画像処理装置に挿入された機能拡張ボードや画像処理装置に接続された機能拡張ユニットによっても実現することができる。この場合、記憶媒体から読み出されたプログラムコードが、機能拡張ボードや機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
実施形態1における一連の処理手順を表すフローチャートである。 等幅線部分と面部分が混在する線画像の例を示す図である。 実施形態1における装置構成例を示すブロック図である。 等幅線部分と面部分が混在する簡単な線画像例を示す図である。 図4の画像をHilditch法にて細線化した処理結果示す図である。 芯線画素毎の線幅推定処理手順を表すフローチャートである。 図4の画像をユークリッド距離変換した処理結果を示す図である。 線幅推定処理の概要を示す図である。 図4の画像を線幅推定処理した処理結果を示す図である。 線・面判定処理手順を表すフローチャートである。 線・面分離処理手順を表すフローチャートである。 線・面分離処理の概要を示す図である。 各画素から背景までの距離に基づいた膨張処理の一例を示す図である。 図2の画像を等幅線部は線幅情報付きで芯線ベクトル化処理し、面部は輪郭ベクトル化処理した結果を示す図である。
符号の説明
1 スキャナ
2 画像メモリ
3 画像入出力I/O
4 通信I/F
5 RAM
6 ROM
7 CPU
8 ディスプレイ
9 キーボード
10 マウス
11 バス
12 外部記憶装置
13 I/O
14 映像I/O
15 I/O

Claims (14)

  1. 画像処理装置の画像入力手段が、ベクトル化処理対象画像を入力する画像入力工程と、
    前記画像処理装置の芯線抽出手段が、前記ベクトル化処理対象画像の芯線を抽出する芯線抽出工程と、
    前記画像処理装置の線幅推定手段が、前記芯線抽出工程にて得られる芯線の画素毎に元の線幅を計算する線幅推定工程と、
    前記画像処理装置の判定手段が、前記芯線抽出工程にて得られた芯線を交点及び端点間で区切った区間毎に、前記線幅推定工程にて得られた芯線の画素毎の線幅値を用いて、等幅線を表しているか面図形を表しているかを判定する判定工程と、
    前記画像処理装置の分離手段が、前記判定工程で前記等幅線を表すと判定された区間の芯線と、前記判定工程で前記面図形を表すと判定された区間の芯線と、前記ベクトル化処理対象画像とに基づいて、前記ベクトル化処理対象画像から前記等幅線に対応する部分の画像を除いた前記面図形に対応する部分の画像で構成される面画像を抽出する分離工程と、
    前記画像処理装置の手段が、前記判定工程で等幅線と判定された芯線と、前記分離工程にて抽出された前記面画像の輪郭のそれぞれを関数近似する関数近似工程と
    を有することを特徴とする画像処理方法。
  2. 前記芯線抽出工程は、前記ベクトル化処理対象画像に細線化処理を行うことにより、前記ベクトル化処理対象画像の芯線を抽出することを特徴とする請求項1に記載の画像処理方法。
  3. 前記線幅推定工程は
    前記ベクトル化処理対象画像における各図形画素について、背景画素までの距離値に変換する工程と、
    前記芯線の画素を順に注目芯線画素とし、当該注目芯線画素の周囲8近傍に位置する画素の距離値の最大値を注目芯線画素の距離値に加算することで当該注目芯線画素の線幅を推定する工程とからなることを特徴とする請求項1に記載の画像処理方法。
  4. 前記判定工程は
    前記区間毎に芯線の線幅値の分散を求める工程と、
    前記分散が閾値以下の場合に等幅線と判定する工程と、
    前記分散が閾値より大きい場合に面図形と判定する工程とからなることを特徴とする請求項1に記載の画像処理方法。
  5. 前記判定工程で等幅線と判定した区間の芯線に対して線幅情報を推定し、推定した線幅情報をベクトルデータに付与することを特徴とする請求項1に記載の画像処理方法。
  6. 前記分離工程は
    前記判定工程で等幅線と判定された区間の芯線に対して膨張処理する線膨張処理工程と、
    前記判定工程で面図形と判定された区間の芯線に対して膨張処理する面膨張処理工程と、
    前記ベクトル化処理対象画像と前記線膨張処理工程の結果との差分を求める差分算出工程と、
    前記ベクトル化処理対象画像と前記面膨張処理工程の結果との論理積を求める論理積算出工程と、
    前記差分算出工程の処理結果と前記論理積算出工程の処理結果との論理和を求めることにより、前記面画像を抽出する工程とからなることを特徴とする請求項1に記載の画像処理方法。
  7. ベクトル化処理対象画像を入力する画像入力手段と、
    前記ベクトル化処理対象画像の芯線を抽出する芯線抽出手段と、
    前記芯線抽出手段にて得られる芯線の画素毎に元の線幅を計算する線幅推定手段と、
    前記芯線抽出手段にて得られた芯線を交点及び端点間で区切った区間毎に、前記線幅推定手段にて得られた芯線の画素毎の線幅値を用いて、等幅線を表しているか面図形を表しているかを判定する判定手段と、
    前記判定手段で前記等幅線を表すと判定された区間の芯線と、前記判定工程で前記面図形を表すと判定された区間の芯線と、前記ベクトル化処理対象画像とに基づいて、前記ベクトル化処理対象画像から前記等幅線に対応する部分の画像を除いた前記面図形に対応する部分の画像で構成される面画像を抽出する分離手段と、
    前記判定手段で等幅線と判定された芯線と、前記分離手段にて抽出された前記面画像の輪郭のそれぞれを関数近似する関数近似手段を有することを特徴とする画像処理装置。
  8. 前記芯線抽出手段は、前記ベクトル化処理対象画像に細線化処理を行うことにより、前記ベクトル化処理対象画像の芯線を抽出することを特徴とする請求項7に記載の画像処理装置。
  9. 前記線幅推定手段は
    前記ベクトル化処理対象画像における各図形画素について、背景画素までの距離値に変換する手段と、
    前記芯線の画素を順に注目芯線画素とし、当該注目芯線画素の周囲8近傍に位置する画素の距離値の最大値を注目芯線画素の距離値に加算することで前記注目芯線画素の線幅を推定する手段とからなることを特徴とする請求項7に記載の画像処理装置。
  10. 前記判定手段は
    前記区間毎に芯線の線幅値の分散を求める手段と、
    前記分散が閾値以下の場合に等幅線と判定する手段と、
    前記分散が閾値より大きい場合に面図形と判定する手段とからなることを特徴とする請求項7に記載の画像処理装置。
  11. 前記判定手段で等幅線と判定した区間の芯線に対して線幅情報を推定し、推定した線幅情報をベクトルデータに付与することを特徴とする請求項7に記載の画像処理装置。
  12. 前記分離手段は
    前記判定手段で等幅線と判定された区間の芯線に対して膨張処理する線膨張処理手段と、
    前記判定手段で面図形と判定された区間の芯線に対して膨張処理する面膨張処理手段と、
    前記ベクトル化処理対象画像と前記線膨張処理手段の結果との差分を求める差分算出手段と、
    前記ベクトル化処理対象画像と前記面膨張処理手段の結果との論理積を求める論理積算出手段と、
    前記差分算出手段の処理結果と前記論理積算出手段の処理結果との論理和を求めることにより、前記面画像を抽出する手段とからなることを特徴とする請求項7に記載の画像処理装置。
  13. コンピュータを、前記請求項7〜12のいずれかに記載の画像処理装置として機能させることを特徴とするプログラム。
  14. 請求項13に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
JP2008120296A 2008-05-02 2008-05-02 画像処理方法、画像処理装置、及び、そのプログラムならびにコンピュータ読み取り可能な記憶媒体 Expired - Fee Related JP5111226B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008120296A JP5111226B2 (ja) 2008-05-02 2008-05-02 画像処理方法、画像処理装置、及び、そのプログラムならびにコンピュータ読み取り可能な記憶媒体
US12/431,833 US8520951B2 (en) 2008-05-02 2009-04-29 Image processing method, image processing apparatus, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008120296A JP5111226B2 (ja) 2008-05-02 2008-05-02 画像処理方法、画像処理装置、及び、そのプログラムならびにコンピュータ読み取り可能な記憶媒体

Publications (3)

Publication Number Publication Date
JP2009271657A JP2009271657A (ja) 2009-11-19
JP2009271657A5 JP2009271657A5 (ja) 2011-06-16
JP5111226B2 true JP5111226B2 (ja) 2013-01-09

Family

ID=41257133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008120296A Expired - Fee Related JP5111226B2 (ja) 2008-05-02 2008-05-02 画像処理方法、画像処理装置、及び、そのプログラムならびにコンピュータ読み取り可能な記憶媒体

Country Status (2)

Country Link
US (1) US8520951B2 (ja)
JP (1) JP5111226B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5289066B2 (ja) * 2009-01-05 2013-09-11 キヤノン株式会社 画像処理方法、画像処理装置及びコンピュータプログラム
JP5335581B2 (ja) * 2009-07-01 2013-11-06 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6184271B2 (ja) 2013-09-19 2017-08-23 キヤノン株式会社 撮像管理装置、撮像管理システムの制御方法およびプログラム
KR102294423B1 (ko) * 2016-04-07 2021-08-26 (주) 아키드로우 윈도우 이미지 검출 방법 및 장치

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2940956B2 (ja) * 1988-11-30 1999-08-25 株式会社リコー 線図形の特徴抽出方法
DE69129950T2 (de) * 1990-03-05 1999-01-28 Canon K.K., Tokio/Tokyo Bildverarbeitungsgerät
JP2542947B2 (ja) * 1990-05-09 1996-10-09 大日本スクリーン製造株式会社 画像処理装置
JP3026592B2 (ja) 1990-10-22 2000-03-27 キヤノン株式会社 輪郭抽出方法及びその装置
JPH05108823A (ja) 1991-10-21 1993-04-30 Canon Inc 輪郭抽出方法及び装置
JPH0620040A (ja) 1992-07-02 1994-01-28 Meidensha Corp 画像処理装置
JP3674067B2 (ja) * 1994-11-29 2005-07-20 松下電器産業株式会社 パターン外観検査装置
JPH09138471A (ja) * 1995-09-13 1997-05-27 Fuji Photo Film Co Ltd 特定形状領域の抽出方法、特定領域の抽出方法及び複写条件決定方法
JP3679512B2 (ja) * 1996-07-05 2005-08-03 キヤノン株式会社 画像抽出装置および方法
US6084989A (en) * 1996-11-15 2000-07-04 Lockheed Martin Corporation System and method for automatically determining the position of landmarks in digitized images derived from a satellite-based imaging system
EP0989737A3 (en) * 1998-09-21 2003-09-24 Konica Corporation Image recording apparatus
JP2001060247A (ja) * 1999-06-14 2001-03-06 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP4586241B2 (ja) * 2000-06-14 2010-11-24 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
US6961462B2 (en) * 2001-01-22 2005-11-01 Matsushita Electric Industrial Co., Ltd. Image processing method and image processor
JP4118749B2 (ja) * 2002-09-05 2008-07-16 株式会社リコー 画像処理装置、画像処理プログラムおよび記憶媒体
JP4251629B2 (ja) 2003-01-31 2009-04-08 キヤノン株式会社 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体
US7391917B2 (en) * 2003-02-13 2008-06-24 Canon Kabushiki Kaisha Image processing method
JP4217575B2 (ja) * 2003-09-29 2009-02-04 キヤノン株式会社 画像処理装置、画像処理方法ならびにプログラム、記憶媒体
JP3796500B2 (ja) * 2003-11-21 2006-07-12 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
KR100747879B1 (ko) * 2004-06-10 2007-08-08 캐논 가부시끼가이샤 화상 처리 장치, 제어 방법 및 기록 매체
JP2006025129A (ja) * 2004-07-07 2006-01-26 Canon Inc 画像処理システム及び画像処理方法
JP2006023945A (ja) * 2004-07-07 2006-01-26 Canon Inc 画像処理システム及び画像処理方法
JP2006277150A (ja) * 2005-03-28 2006-10-12 Fuji Xerox Co Ltd 画像分離装置、画像分離方法およびプログラム
US7889938B2 (en) 2006-03-31 2011-02-15 Canon Kabushiki Kaisha Method and apparatus for processing line drawings in images
JP2008027132A (ja) * 2006-07-20 2008-02-07 Canon Inc 画像処理方法、画像処理装置、及び、プログラム、プログラム記憶媒体
JP5636807B2 (ja) * 2010-08-12 2014-12-10 富士ゼロックス株式会社 画像処理装置及びプログラム

Also Published As

Publication number Publication date
US8520951B2 (en) 2013-08-27
US20090274394A1 (en) 2009-11-05
JP2009271657A (ja) 2009-11-19

Similar Documents

Publication Publication Date Title
EP0977151B1 (en) Image processing apparatus, image processing method, and storage medium
US8290256B2 (en) Image processing apparatus and image processing method
US7889938B2 (en) Method and apparatus for processing line drawings in images
JP5111226B2 (ja) 画像処理方法、画像処理装置、及び、そのプログラムならびにコンピュータ読み取り可能な記憶媒体
JP5600524B2 (ja) 画像処理装置、画像処理方法、プログラム、および記憶媒体
JP6294700B2 (ja) 画像処理装置及び画像処理方法
JP5067882B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4804382B2 (ja) 画像処理方法、画像処理プログラムおよび画像処理装置
JP5289066B2 (ja) 画像処理方法、画像処理装置及びコンピュータプログラム
JP4441300B2 (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびこのプログラムを記憶した記録媒体
JP2004120092A (ja) 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
JP5888989B2 (ja) 画像処理装置および画像処理方法
JP4873554B2 (ja) 画像配信装置および画像配信方法
JPH07334648A (ja) 画像処理方法及びその装置
JP4259949B2 (ja) 画像作成装置、画像作成プログラムおよび記録媒体
JP2775122B2 (ja) イラストデータの自動輪郭抽出ベクトル化処理方法,及びそれに使用する処理装置
JP2008225654A (ja) 画像処理方法、画像処理装置、及び、プログラム、プログラム記憶媒体
JP4213357B2 (ja) 画像処理装置、画像処理方法及び該方法を実行させるためのプログラム
US6717697B1 (en) Image-component rendering method and recording medium in which image-component rendering program is recorded
JP2008225653A (ja) 画像処理方法、画像処理装置、及び、プログラム、プログラム記憶媒体
JP4259950B2 (ja) 画像認識装置、画像認識プログラムおよび記録媒体
JP2011198246A (ja) 画像処理方法、画像処理装置、プログラム及びプログラム記憶媒体
JP4186832B2 (ja) 画像処理装置
JP4043629B2 (ja) 画像データ変換方法、画像部品化方法、画像データ変換プログラムを記録した記録媒体及び画像部品化プログラムを記録した記録媒体
JP5560780B2 (ja) 画像処理装置及び画像処理プログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110426

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120508

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

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

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5111226

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees