説明

画像処理装置及び画像処理プログラム

【課題】画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を目標とする制御点の数に制御できるようにした画像処理装置を提供する。
【解決手段】画像処理装置のベクトル化手段は、閾値を用いて画像をベクトル化し、制御点数計測手段は、前記ベクトル化手段によるベクトル化結果の制御点の数を計測し、閾値算出手段は、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
画像を対象としたベクトル化の技術がある。
これに関連する技術として、例えば、特許文献1には、少ないデータ量のデータを用いて文字や図形の形状を忠実に再現できる画像処理方法を得ることを目的とし、予め定めておいた端点の候補領域中における輪郭ベクトルの所定数の端点の位置を一度に調整しながら、与えられた輪郭点と輪郭ベクトルとの距離関数を求めて、ノルムが最小になる輪郭ベクトルを得るようにすることが開示されている。
【0003】
また、例えば、特許文献2には、より少ない符号量で領域形状を多角形近似し、さらに符号量の調整を容易にすることを目的とし、領域形状表現のための許容符号量より、多角形の許容誤差のしきい値を決定し、近似多角形の一辺に注目し、その辺に隣接する2辺を延長してできる交点について、前記の辺を取り除いて前記交点を近似多角形の新たな頂点としたときの近似誤差を測り、近似誤差が最小となる辺を選び出し、近似誤差が閾値未満の場合、前記の辺を取り除き、前記交点を近似多角形の新たな頂点とし、取り除ける辺がなくなるまで以上の処理を続けることが開示されている。つまり、画質(近似精度)を維持しながら、曲線をできるだけ少ない数の線分で表現するための技術である。ここでは、対象とする曲線と線分との距離が予め定められた閾値以下となるまで、線分を分割していくことによって、画質(近似精度)を維持し、また、予め定められた閾値以下となった時点で分割を終了するので、できるだけ少ない線分の数とすることができるようにしている。
【0004】
また、例えば、特許文献3には、画像領域の形状を少ないデータ量で試行錯誤なく的確に記述することが難しかったことを課題とし、領域の境界線上に複数の注目点をとり、各注目点についてその近傍の参照点の位置も考慮しながら近似曲線を描き、ある注目点に関する近似曲線の誤差が大きいとき、近似曲線を近隣の近似曲線で置き換え、それでも誤差が大きければ参照点の位置を修正し、近似曲線から各注目点における曲率と法線方向を正確に求め、屈曲点、変曲点などの特徴点を検出することが開示されている。
【0005】
また、例えば、特許文献4には、高画質な外郭データを生成した場合のデータ量を削減したデータ処理装置を提供することを課題とし、鋭角点抽出部は、直線近似部で得られた線分群から、隣接する線分の角度が所定の角度以下となる鋭角点を抽出し、鋭角点間の線分群を線分群Cとし、経由点算出部は線分群Cを近似する3次ベジエ曲線が通過すると仮定する経由点を算出し、制御点算出部は、線分群Cを近似する3次ベジエ曲線が、経由点算出部で算出した経由点を通ると仮定して得られる2元1次連立方程式を解いて、3次ベジエ曲線の2つの制御点を算出し、判定部は、得られた3次ベジエ曲線と線分群Cとの誤差が所定値以上となるか否かを判定し、誤差が所定値以上の場合は分割部が線分群Cを分割して、分割した線分群をそれぞれ線分群Cとして、再び3次ベジエ曲線を求めることが開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平05−035871号公報
【特許文献2】特開平06−060174号公報
【特許文献3】特開平10−091796号公報
【特許文献4】特開2009−199340号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を目標とする制御点の数に制御できるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段を具備し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理装置である。
【0009】
請求項2の発明は、閾値と制御点の数とを対応させて記憶する記憶手段をさらに具備し、前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出することを特徴とする請求項1に記載の画像処理装置である。
【0010】
請求項3の発明は、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出することを特徴とする請求項1又は2に記載の画像処理装置である。
【0011】
請求項4の発明は、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出することを特徴とする請求項1又は2に記載の画像処理装置である。
【0012】
請求項5の発明は、前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段をさらに具備し、前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置である。
【0013】
請求項6の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段として機能させるための画像処理プログラムであって、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理プログラムである。
【発明の効果】
【0014】
請求項1の画像処理装置によれば、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を制御することができる。
【0015】
請求項2の画像処理装置によれば、本構成を有しない場合に比較して、処理の負荷を軽減することができる。
【0016】
請求項3、4の画像処理装置によれば、閾値と制御点数の関係が単調減少ではない場合においても、ベクトル化結果の制御点の数を制御することができる。
【0017】
請求項5の画像処理装置によれば、対象とする画像に応じた閾値を算出することができる。
【0018】
請求項6の画像処理プログラムによれば、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を制御することができる。
【図面の簡単な説明】
【0019】
【図1】第1の実施の形態の構成例についての概念的なモジュール構成図である。
【図2】第1の実施の形態による処理例を示すフローチャートである。
【図3】閾値・制御点数テーブルのデータ構成例を示す説明図である。
【図4】閾値と制御点数の関係例を示すグラフである。
【図5】第2の実施の形態の構成例についての概念的なモジュール構成図である。
【図6】第2の実施の形態による処理例を示すフローチャートである。
【図7】閾値・画質目標値テーブルのデータ構成例を示す説明図である。
【図8】閾値と制御点数の関係例を示すグラフである。
【図9】閾値と制御点数の関係例を示すグラフである。
【図10】閾値と制御点数の関係例を示すグラフである。
【図11】閾値と制御点数の関係例を示すグラフである。
【図12】制御点の決定例を示す説明図である。
【図13】第4の実施の形態の構成例についての概念的なモジュール構成図である。
【図14】第4の実施の形態による処理例を示すフローチャートである。
【図15】閾値と制御点数の関係例を示すグラフである。
【図16】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
【0021】
第1の実施の形態である画像処理装置は、画像をベクトル化する装置であって、図1に示すように、ベクトル化モジュール110、制御点数計測モジュール120、閾値算出モジュール130、閾値・制御点数記憶モジュール140、比較モジュール150、ベクトル化結果記憶モジュール160を有している。
【0022】
ベクトル化モジュール110は、制御点数計測モジュール120、閾値算出モジュール130、ベクトル化結果記憶モジュール160と接続されている。ベクトル化モジュール110は、画像を受け付け、閾値算出モジュール130から閾値を受け付けて、その閾値を用いて対象とする画像をベクトル化し、そのベクトル化処理の結果を制御点数計測モジュール120、ベクトル化結果記憶モジュール160へ渡す。
【0023】
画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。受け付ける画像は2値画像であるが、多値画像(カラー画像を含む)を受け付けて、2値化処理を行ってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。
【0024】
また、ここで受け付ける閾値とは、画像のベクトル化に用いる値であって、その閾値を変更することによって、ベクトル化結果の制御点の数も変更されるものである。例えば、受け付けた画像とベクトル化の線分とを制御点において比較した場合の距離(差分、誤差)が閾値以下になるようにベクトル化するものである。
【0025】
また、ベクトル化処理は背景技術で述べた既存の技術等を用いており、ベクトル化した結果として、例えば、直線、ベジエ曲線、スプライン曲線等がある。
例えば、特許文献4に記載の技術では、画像内の線分群をベジエ曲線の数式で近似して表現するものである。
線分群としては、対象の画像は2値画像であり、画像内の画素を正方形として捉え、対象の2値画像内の黒画素の周囲形状を線分群として捉えたものである。又は、その正方形の周囲形状をまずは(斜めを含む)直線で近似して線分群としてもよい。
特許文献4に記載の技術では、2値画像を数式で表現する場合に、対象画像内のもとの線分群と、ベクトル化した後の近似結果の曲線との距離を計算し、その距離が予め定めた閾値以下となるように制御している。
これらの直線、ベジエ曲線、スプライン曲線等を描画するための情報がベクトル化制御点であり、ベクトル化制御点数とは、例えば、特許文献4に記載の、「始点としての制御点」、「終点としての制御点」、「ベジエ曲線の制御点」の数の和である。又は、ある曲線の終点と、次の曲線の始点は共通化できる場合があるため、「始点としての制御点」及び「ベジエ曲線の制御点」の数としてもよい。なお、このベクトル化制御点の個数によってベクトル化処理の結果のファイル容量が決定される。
【0026】
制御点数計測モジュール120は、ベクトル化モジュール110、閾値算出モジュール130、比較モジュール150と接続されている。制御点数計測モジュール120は、ベクトル化モジュール110によるベクトル化結果の制御点の数を計測し、その制御点数を閾値算出モジュール130、比較モジュール150に渡す。
比較モジュール150は、制御点数計測モジュール120、閾値算出モジュール130、ベクトル化結果記憶モジュール160と接続されている。比較モジュール150は、制御点数計測モジュール120によって計測された制御点の数と目標とする制御点の数とを比較する。そして、両者の値が合致しない場合には、閾値算出モジュール130に対して、ベクトル化モジュール110が用いる次の閾値を算出するように指示する。両者の値が合致する場合には、ベクトル化結果記憶モジュール160に記憶されているベクトル化の結果を出力するように指示する。ここで、目標とする制御点の数としては、ベクトル化結果記憶モジュール160が出力するファイルのサイズを予め定められたサイズを超えないようにするための制御点の数、又は出力を利用するアプリケーション上の制限から、ファイル形式内に存在し得るベクトル化の制御点の数等であり、その目標制御点数は、1つの数値であってもよいし、範囲のある数値(上限だけを定めた範囲、上限と下限を定めた範囲等)であってもよい。したがって、両者の値が合致する場合とは、その両者の値が一致する場合又は目標制御点数の範囲以内に制御点数計測モジュール120によって計測された制御点の数がある場合をいい、本実施の形態による処理が終了する条件である。両者の値が合致しない場合とは、その両者の値が不一致の場合又は目標制御点数の範囲以内に制御点数計測モジュール120によって計測された制御点の数がない場合をいい、ベクトル化モジュール110等による処理が繰り返される。
【0027】
閾値算出モジュール130は、ベクトル化モジュール110、制御点数計測モジュール120、閾値・制御点数記憶モジュール140、比較モジュール150と接続されている。閾値算出モジュール130は、比較モジュール150からの指示にしたがって(制御点数計測モジュール120によって計測された制御点の数と目標とする制御点の数とが合致しない場合)、制御点数計測モジュール120によって計測された制御点の数に基づいて閾値を算出する。また、閾値・制御点数記憶モジュール140に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出するようにしてもよい。また、制御点数計測モジュール120によって過去に計測された制御点の数と目標とする制御点の数に基づいて、目標とする制御点の数に対応する閾値を算出するようにしてもよい。また、ベクトル化モジュール110による1回目又は2回目のベクトル化の処理の場合は、予め定められた値を閾値として算出してもよい。そして、算出した閾値をベクトル化モジュール110へ渡す。また、算出した閾値と制御点数計測モジュール120によって計測された制御点の数とを対応させて閾値・制御点数記憶モジュール140に記憶させる。
閾値・制御点数記憶モジュール140は、閾値算出モジュール130と接続されている。閾値・制御点数記憶モジュール140は、閾値算出モジュール130から受け付けた閾値と制御点の数とを対応させて記憶する。また、予め定められた閾値と制御点の数との対応を記憶していてもよい。
【0028】
ベクトル化結果記憶モジュール160は、ベクトル化モジュール110、比較モジュール150と接続されている。ベクトル化結果記憶モジュール160は、ベクトル化モジュール110によるベクトル化結果を記憶する。そして、比較モジュール150からの指示にしたがって(制御点数計測モジュール120によって計測された制御点の数と目標とする制御点の数とが合致する場合)、記憶しているベクトル化結果を出力する。ベクトル化結果を出力するとは、例えば、ベクトル化結果を描画するプリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、文書データベース等の記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
また、ベクトル化結果記憶モジュール160は、出力の際に、画像をベクトル化した結果を用いて、画像を直線や曲線などの描画命令に変換してファイル化してもよい。例えば、このようにすることで、PDF((登録商標)Portable Document Format)、PS(PostScript)、ワードプロセッサアプリケーション(文書作成プログラム)用のファイルの描画命令、ドロー系グラフィックス等のようなベクトルデータで記載されたファイル形式、クリップアートなどのようなファイルを形成してもよい。このようなファイルを形成する場合に、本実施の形態は、ファイルのサイズを予め定められたサイズを超えないように制御すること、又はアプリケーション上の制限から、ファイル形式内に存在するベクトル化制御点数を予め定められた値以下に制御することに用いてもよい。
【0029】
図2は、第1の実施の形態による処理例を示すフローチャートである。
ステップS202では、ベクトル化モジュール110が画像を受け付ける。
ステップS204では、閾値算出モジュール130、比較モジュール150が目標制御点数を受け付ける。
ステップS206では、閾値算出モジュール130が初期閾値を算出する。つまり、予め定められた初期の閾値をベクトル化モジュール110へ出力する。なお、予め定められた初期の閾値は、閾値・制御点数記憶モジュール140に記憶されており、これを読み出している。また、2番目(2巡目)の閾値も予め定められており、閾値・制御点数記憶モジュール140に記憶されているとする。
ステップS208では、ベクトル化モジュール110がステップS206で出力された閾値を用いて、ステップS202で受け付けた画像を対象としてベクトル化を行う。
ステップS210では、制御点数計測モジュール120がベクトル化結果の制御点数を計測する。
ステップS212では、ベクトル化結果記憶モジュール160がベクトル化結果を記憶する。
【0030】
ステップS214では、比較モジュール150が制御点数と目標制御点数の比較をする。合致した場合(例えば、制御点数が目標制御点数以下の場合)はステップS224へ進み、それ以外の場合(例えば、制御点数が目標制御点数より大きい場合)はステップS216へ進む。
ステップS216では、閾値・制御点数記憶モジュール140が閾値算出モジュール130から渡された制御点数を記憶する。
ステップS218では、閾値算出モジュール130が新たな閾値を算出する。2番目(2巡目)の閾値の場合は、閾値・制御点数記憶モジュール140に記憶されているものをそのまま利用するようにしてもよい。3番目(3巡目)以降は、閾値・制御点数記憶モジュール140に記憶されている閾値、制御点数を基にして、新たな閾値を算出する。
ステップS220では、閾値・制御点数記憶モジュール140がステップS218で算出された閾値を記憶する。
ステップS222では、ベクトル化モジュール110が新たな閾値を用いてベクトル化処理を再度行う。そして、ステップS210へ戻る。ステップS210からステップS222までの処理をステップS214で合致するまで反復する。
ステップS224では、比較モジュール150の指示にしたがってベクトル化結果記憶モジュール160がベクトル化結果を出力する。
【0031】
閾値算出モジュール130では、主に、制御点数計測モジュール120によって測定された制御点数、閾値と制御点数のペア、目標制御点数を基にして、閾値を算出する。閾値と制御点数のペアは、図3に例示するような閾値・制御点数テーブル300で表すことができる。これは、閾値・制御点数記憶モジュール140に記憶されている。閾値・制御点数テーブル300は、閾値欄310、制御点数欄320を有している。閾値欄310は、閾値を記憶する。制御点数欄320は、その閾値に対応する制御点数を記憶する。
【0032】
閾値と制御点数、及び目標制御点数の関係は、図4に例示するようなグラフで表すことができる。
例えば、図4のように閾値(横軸)と制御点数(縦軸)の関係を表すことができれば、目標制御点数を受け付けて、閾値を算出し得る。
制御点数をN、閾値をTとする。制御点数Nを閾値Tの関数とみなす。例えば、N=f(T)とする。さらに、目標制御点数をPとする。
このとき、
f(T)=P
を満たすTを求める問題となる。これは、一般的な数値演算手法(ニュートン法など)で求めることができる。
【0033】
以下に、単純な例を示す。なお、数値演算手法として他の様々な方法がある。
例えば、初期閾値をT0とする。
初期閾値T0でベクトル化した場合の制御点数が目標制御点数Pを満たさない場合、次の閾値T1を予め定めておいて、次のベクトル化の処理を行う。
初期閾値T0でベクトル化した場合の制御点数をN0、閾値T1でベクトル化した場合の制御点数をN1とする。
この2つのペア((T0,N0)、(T1,N1))を用いて、目標制御点数Pを満たすTの推定値T2を、(T,N)の2次元空間において、(T0,N0)と(T1,N1)を通る直線と、直線N=Pとの交点のT座標として求める。
閾値T2でも目標制御点数を満たさない場合は、制御点数N0と制御点数N1のうち、目標制御点数Pに近い方と、その制御点数に対応する閾値と、閾値T2を用いてベクトル化した場合の制御点数N2を用いて、次の閾値T3を算出する。
この処理を繰り返す。
【0034】
前述の処理では、f()を直線で近似したが、2次曲線で近似するなどの他の手法を用いてももちろんよい。
また、前述の処理では、一旦ベクトル化した結果をベクトル化結果記憶モジュール160に記憶しておいて、最終的に記憶した結果を出力しているが、必ずしも記憶しておく必要はない。最終的に決定された閾値を用いてベクトル化の処理を再度行い、その結果を出力してもよい。
【0035】
比較モジュール150の判断処理(ステップS214)では、終了条件として、目標制御点数が範囲内である場合として、計測した制御点数が目標制御点数以下である場合、計測した制御点数が目標制御点数の範囲内にある場合の2種類を例示したが、この他に、計測した制御点数と目標制御点数との差が予め定めた範囲内である場合等であってもよい。
【0036】
また、閾値はベクトル化処理の回数に応じた値としてもよい。例えば、通常、最初の閾値(初期閾値)は画質を保証するために小さめの値とすることが望ましい。そこで、最初の閾値でベクトル化した場合の制御点数が目標制御点数以下であれば、終了としてもよいとする(ベクトル化結果記憶モジュール160が出力)。この場合、目標制御点数に合致するように制御するためには、2番目(2巡目)以降の閾値では、最初の閾値よりも大きな値が必要である。閾値が大きくなれば、画質は劣化してしまう。できるだけ画質を劣化させないようにするためには、できるだけ制御点数を目標制御点数に近づけるべきである。そこで、2番目(2巡目)以降の終了条件は、「計測した制御点数と目標制御点数との差が予め定めた範囲内である」とする。
つまり、1回目の終了条件は、「計測した制御点数が目標制御点数以下である」とする。そして、2番目(2巡目)以降の終了条件は、「計測した制御点数と目標制御点数との差が予め定めた範囲内である」とする。
【0037】
<第2の実施の形態>
図5は、第2の実施の形態の構成例についての概念的なモジュール構成図である。第2の実施の形態は、画質目標値を受け付けて、ベクトル化のための閾値を算出するものであり、ベクトル化モジュール510、閾値算出モジュール520、閾値記憶モジュール530、ベクトル化結果記憶モジュール540を有している。
ベクトル化モジュール510は、閾値算出モジュール520、ベクトル化結果記憶モジュール540と接続されている。ベクトル化モジュール510は、第1の実施の形態におけるベクトル化モジュール110と同等のものであり、画像を受け付け、閾値算出モジュール520から閾値を受け付けて、その閾値を用いて対象とする画像をベクトル化し、そのベクトル化処理の結果をベクトル化結果記憶モジュール540へ渡す。
閾値算出モジュール520は、ベクトル化モジュール510、閾値記憶モジュール530と接続されている。閾値算出モジュール520は、画質目標値を受け付けて、閾値記憶モジュール530に記憶されている情報を用いて閾値を算出する。そして、その算出した閾値をベクトル化モジュール510へ渡す。受け付ける画質目標値は、例えば、本実施の形態に備え付けられたタッチパネル等を用いた利用者による指示である。
【0038】
閾値記憶モジュール530は、閾値算出モジュール520と接続されている。閾値記憶モジュール530は、画質目標値と閾値のペアが記憶されている。例えば、図7に示す閾値・画質目標値テーブル700を記憶している。閾値・画質目標値テーブル700は、閾値欄710、画質目標値欄720を有している。閾値欄710は、閾値を記憶する。画質目標値欄720は、画質目標値を記憶する。画質目標値としては、定性的な番号に変換できるものであればよい。例えば、(画質1、画質2、画質3)、(高画質、中画質、低画質)等である。そして、高画質→1、中画質→2、低画質→3のように変換する。定性的な番号に変換するというのは、このことを意味している。
ベクトル化結果記憶モジュール540は、ベクトル化モジュール510と接続されている。ベクトル化結果記憶モジュール540は、第1の実施の形態におけるベクトル化結果記憶モジュール160と同等のものであり、ベクトル化モジュール510によるベクトル化結果を記憶し、それを出力する。また、出力の際に、ベクトル化結果記憶モジュール160と同等のファイル変換を行ってもよい。
【0039】
図6は、第2の実施の形態による処理例を示すフローチャートである。
ステップS602では、ベクトル化モジュール510が画像を受け付ける。
ステップS604では、閾値算出モジュール520が画質目標値を受け付ける。
ステップS606では、閾値算出モジュール520が閾値記憶モジュール530を用いて、画質目標値に対応する閾値を算出する。
ステップS608では、ベクトル化モジュール510がステップS606で算出された閾値を用いて、ステップS602で受け付けた画像のベクトル化を行う。
ステップS610では、ベクトル化結果記憶モジュール540がベクトル化結果を記憶する。
ステップS612では、ベクトル化結果記憶モジュール540がベクトル化結果を出力する。
【0040】
<第3の実施の形態(1)>
第1の実施の形態では、閾値と制御点数との関係が単調な関数であることを前提としていた。単調な関数であれば、ニュートン法などの数値演算手法を用いて、確実に目標点に到達することができる。
しかし、閾値と制御点数の関係は単調であるとは限らない。これについて、図8、図9の例を用いて説明する。このグラフは、横軸に閾値、縦軸に制御点数をとり、両者の関係を示すものであり、目標制御点数(図8、図9では目標値)とその目標制御点数に合致する閾値TPを示したものである。
まず、最初の閾値TAで点Aを得たとする。点Aは、目標制御点数より大であるとする。このとき、新たな閾値を算出し、次の点Bを得たとする。
この点Aと点Bを用いて次の閾値を算出すると、その算出した閾値はTAよりも小さな値となってしまい、真の値TPに到達することができなくなる。
【0041】
そこで、第3の実施の形態では、第1の実施の形態のモジュール構成と同等の構成であるが、閾値算出モジュール130での処理は次のようにする。
ここで、閾値と制御点数のペアが2つあるとする。つまり、(閾値T1,制御点数N1)、(閾値T2,制御点数N2)とする。
このとき、過去の閾値と制御点数とのペアを2つ用いて、閾値と制御点数の関係が単調減少であるか否かの判断を行う。そして、閾値と制御点数の関係が単調減少の場合、すなわち
T1≧T2、かつ、N2≧N1
あるいは、
T2≧T1、かつ、N1≧N2
の場合に限り、第1の実施の形態の動作を行う。なお、前式で、等号は入らなくてもよい。また、単調減少か否かの判断は、過去に用いた閾値と制御点数のペアを3つ以上用いて判断するようにしてもよい。
この関係が成り立たない場合、
(1)閾値T1、閾値T2よりも大きな第3の閾値T3を次の閾値としてベクトル化モジュール110へ出力する。
(2)第3の閾値T3は予め定めておき、閾値・制御点数記憶モジュール140に記憶されているとする。
図9の例を用いて説明すると、閾値算出モジュール130は、点Aおける閾値TAよりも大きく、点Bにおける閾値よりも大きい閾値T3を算出する。そして、ベクトル化モジュール110は、その閾値T3を用いてベクトル化を行う。この結果、制御点数は点Aでの制御点数よりも小さくなる。つまり、閾値T3を用いると、点Aとの関係は、単調減少を実現できるため、図9に例示のように、太い直線を引くことができ、目標制御点数に近い値(T4)を求めることができる。
【0042】
<第3の実施の形態(2)>
第3の実施の形態(1)では、第3の閾値T3を次の閾値としてベクトル化モジュール110へ出力する、また、第3の閾値は予め定めており、閾値・制御点数記憶モジュール140に記憶されているとする、としていた。
しかし、第3の閾値を用いても単調現象が実現できない場合があるため、第3の実施の形態(2)では、次のような形態を採る。図10の例を用いて説明する。
まず、閾値T1でベクトル化した場合の制御点数N1を取得する(図10の例のA点)。この制御点数N1が終了条件を満たしていれば終了する。
以下、制御点数N1は、目標制御点数(図10では目標値)より大であるとする。これは、目標制御点数より小であれば、終了であるためである。
制御点数N1が終了条件を満たしている値ではない場合、予め定められた閾値T2を用いて制御点数N2を取得する(図10の例のB点)。なお、閾値T2は、予め定めておいてもよいし、次に述べる第4の実施の形態に記載の方法で取得してもよい。この制御点数N2が終了条件を満たしている値であれば終了する。
【0043】
次に、閾値算出モジュール130が、閾値T1、閾値T2と、制御点数N1、制御点数N2の関係が単調減少か否かを判断する。判断方法は第3の実施の形態(1)記載の方法と同等でよい。
単調減少の場合には、閾値算出モジュール130が、前述の実施の形態(例えば、第1の実施の形態)と同等の方法を用いて、次の閾値を算出する。
単調減少ではない場合、閾値算出モジュール130が、過去の閾値である閾値T2をK倍して、新たな閾値T3(T3=K×T2)を算出する(ただし、この場合K>1)。この閾値T3を用いて制御点数N3を取得する。そして、閾値算出モジュール130が、閾値T1、閾値T3と、制御点数N1、制御点数N3の関係が単調減少か否かを判定する。以下、閾値T1、閾値Tiと、制御点数N1、制御点数Niの関係が単調減少となるまで、iを増加させる。
ただし、
Ti=K×T(i−1)
である。なお、閾値T(i−1)は、閾値Tiよりも1つ前に用いられた閾値である。
このようにすることで、単調減少関係を保証する。
【0044】
<第3の実施の形態(2−1)>
第3の実施の形態(2)では、閾値Tiと次の閾値T(i−1)の関係を定数K倍としていたが、Kは定数とは限らない。つまり、Kをiの関数K(i)としてもよい。例えば、最初は、2倍で、次は3倍、次は8倍としてもよい。すなわち、K(2)=2, K(3)=3, K(4)=8などとしてもよい。もちろんのことながら、この数値は一例である。
大きな値で一気に変化させてしまうと、閾値推定の精度が落ちるため、最初はできるだけ小さな値を乗じる。ただし、あまり小さな値で変化させると、所望の閾値になかなか到達しない虞がある。
そこで、閾値算出モジュール130は、ベクトル化処理の回数にしたがって閾値を増大させる方向で算出するようにしてもよい。例えば、具体的には、最初は小さな倍数をかけてゆっくり変化させて、次第に大きな倍数をかけて変化の速度を速めるものである。
【0045】
<第3の実施の形態(2−2)>
第3の実施の形態(2)、(2−1)では2番目の閾値T2を用いた場合に終了条件を満たさない場合、閾値Ti(i>2)を閾値T2を用いて算出する例を示した。
しかし、予め定めた閾値を算出した閾値とする。そして、その閾値Ti(i>2)についても、予め定めておいてもよい。例えば、予め定めた複数の閾値Ti(i>2)をテーブルとして記憶しており、単調減少となるまで、テーブルから順次出力するようにしてもよい。なお、このテーブルは、閾値・制御点数記憶モジュール140が記憶する。
【0046】
<第3の実施の形態(2−3)>
第3の実施の形態、第3の実施の形態(2)等では、Ti>T(i−1)の例のみを示していた。
しかし、ニュートン法などで反復的に求めようとする場合には、Ti<T(i−1)の場合もありうる。
すなわち、図11の例のように、目標制御点数の上限(図11では目標値上限)と下限(図11では目標値下限)が設定されている場合であり、かつ、制御点数N(i−1)が目標制御点数の下限を下回っている場合、Ti<T(i−1)となる。
このような場合であっても、閾値と制御点数との関係が単調減少となるように設定する。
つまり、閾値算出モジュール130は、閾値Tiを用いたときに単調減少とならない場合、十分小さな閾値を予め定めておいて、その値を閾値T(i+1)として用いてもよい。又は、新たな閾値T(i+1)(T(i+1)=K×Ti)を算出するようにしてもよい。ただし、この場合K<1である。Kは定数でもよいし、iの関数(ベクトル化処理の回数に応じた値)でもよい。
【0047】
<第4の実施の形態>
第1の実施の形態では、予め定めた最初の閾値を2つ以上記憶しておく必要があった。2つ目以降の閾値は予め定めた閾値であるため、対象とする画像とは全く関係がなく、適切な閾値である保証のないものである。第4の実施の形態は、2つ目以降の閾値を対象とする画像の特性から算出する形態である。
【0048】
特許文献4に記載の技術において、制御点は以下の手法で決定している。これを図12の例を用いて説明する。
図12の例に示す実線は、曲線近似前の直線である。ベクトル化処理とは、この直線を点線の曲線のように近似することである。
まず、図12(a)の例で、直線の線分群(A〜B)に近似する曲線を引く。線分群と曲線との距離が閾値以上であれば、線分群を2つに分割する。分割結果が図12(b)の例である。図12(b)の例のように直線の線分群を(A〜C)と(C〜B)の2つに分割する。分割後のものに対してベクトル化処理を行って、2つの曲線を得る。このように分割すると、制御点数が2倍になる。2つに分割しても閾値を満足しないときにはさらに、曲線を分割していく。最終的に閾値を満足するまで曲線の分割が行われる。
ここで、最終的に閾値を満足したとき、その分割の1つ手前の分割時の曲線と直線の距離(誤差)を記憶しておく。例えば、図12の例の場合、(A〜C)の分割で閾値を満足したとき、(A〜B)の分割時の曲線と直線の距離を記憶しておく。
1つ手前の分割時の距離は、制御点数を1/2倍にしたときの距離に相当するとみなせる。
【0049】
そこで、第4の実施の形態では、ベクトル化処理の後に、最終的に閾値を満たすように分割できた場合、その分割の1つ手前の分割時の距離を記憶しておくようにする。
図13は、第4の実施の形態の構成例についての概念的なモジュール構成図である。第4の実施の形態は、図13の例に示すように、ベクトル化モジュール1310、制御点数計測モジュール1320、閾値算出モジュール1330、閾値・制御点数記憶モジュール1340、比較モジュール1350、距離記憶モジュール1360、代表距離算出モジュール1370、ベクトル化結果記憶モジュール1380を有している。第1の実施の形態と比較すると、距離記憶モジュール1360、代表距離算出モジュール1370が付加されたものであり、他のモジュールは第1の実施の形態の対応するモジュールと同等のものであるので説明を省略する。
【0050】
ベクトル化モジュール1310は、制御点数計測モジュール1320、閾値算出モジュール1330、距離記憶モジュール1360、ベクトル化結果記憶モジュール1380と接続されており、第1の実施の形態におけるベクトル化モジュール110と同等の処理を行った後に、ベクトル化結果と対象とする画像内の線分との誤差である距離が予め定めた条件を満たすまで、そのベクトルを分割する。つまり、ベクトル化処理の後に、ベクトルと対象の線分群との距離が閾値以下となっているか否かを判断し、その閾値を満たすようになるまでベクトルを分割して、ベクトル化処理を繰り返して行う。そして、最終的に閾値を満たすように分割できた場合、その分割の1つ手前の分割時の距離を距離記憶モジュール1360に記憶させる。
距離記憶モジュール1360は、ベクトル化モジュール1310、代表距離算出モジュール1370と接続されており、ベクトル化モジュール1310によって最終的に閾値を満たすように分割できた場合、その最終分割の1つ手前の分割における距離を記憶する。
【0051】
代表距離算出モジュール1370は、閾値算出モジュール1330、距離記憶モジュール1360と接続されており、距離記憶モジュール1360に記憶されたこれらの距離を用いて、対象としている画像の代表値(代表距離)を算出する。代表距離としては、例えば、平均値、中央値、最頻値、最大値、最小値等、統計量として代表値として用いることのできるもののうちのいずれかを採用する。
ここで、このように定めた代表距離を閾値として使用した場合、制御点数を1/2倍にできるとする。すなわち、いまベクトル化を行ったときの閾値をT0、制御点数をN0とし、さらに、代表距離をDとする。また、閾値Tと、制御点数Nの間の関係は、N=f(T)とする。閾値T0、制御点数N0、代表距離Dには式(1)のような関係があるとする。
【数1】

この関係を図15に例示する。ここでは、点(T0,N0)から点(D,N0/2)への直線を引き、この直線が目標制御点数と交差する点を次の閾値T1として採用する。つまり、閾値算出モジュール1330は、ベクトル化モジュール1310、制御点数計測モジュール1320、閾値・制御点数記憶モジュール1340、比較モジュール1350、代表距離算出モジュール1370と接続されており、初期閾値T0、その初期閾値T0を用いたベクトル化処理を行った場合の制御点数N0、代表距離算出モジュール1370によって算出された代表距離Dを用いて、閾値を算出して、その算出した閾値をベクトル化モジュール1310に渡す。
なお、点(T0,N0)から点(D,N0/2)へは直線の他に、多次曲線等であってもよい。ここでは、閾値T0から閾値T1への算出方法を述べたが、閾値T2以降についても以下同様に算出する。
【0052】
図14は、第4の実施の形態による処理例を示すフローチャートである。
ステップS1402では、ベクトル化モジュール1310が画像を受け付ける。
ステップS1404では、閾値算出モジュール1330、比較モジュール1350が目標制御点数を受け付ける。
ステップS1406では、閾値算出モジュール1330が初期閾値を算出する。つまり、予め定められた初期の閾値をベクトル化モジュール1310へ出力する。なお、予め定められた初期の閾値は、閾値・制御点数記憶モジュール1340に記憶されており、これを読み出している。
ステップS1408では、ベクトル化モジュール1310がステップS1406で算出された閾値を用いて、ステップS1402で受け付けた画像を対象としてベクトル化を行う。ここでのベクトル化処理は、閾値を満たすまで(例えば、対象線分とベクトル化結果との距離が閾値以下になるまで)、前述の分割処理を行ったものである。
ステップS1410では、制御点数計測モジュール1320がベクトル化結果の制御点数を計測する。
ステップS1412では、ベクトル化結果記憶モジュール1380がベクトル化結果を記憶する。
【0053】
ステップS1414では、比較モジュール1350が制御点数と目標制御点数の比較をする。合致した場合(例えば、制御点数が目標制御点数以下の場合)はステップS1428へ進み、それ以外の場合(例えば、制御点数が目標制御点数より大きい場合)はステップS1416へ進む。
ステップS1416では、閾値・制御点数記憶モジュール1340が閾値算出モジュール1330から渡された制御点数を記憶する。
ステップS1418では、距離記憶モジュール1360が距離を記憶する。ここでの距離とは、ステップS1408で、ベクトル化モジュール1310がベクトル化処理を行ったときに、閾値を満たす1つ手前(つまり、ステップS1408で最終的な分割処理を行う直前)の状態における距離である。ベクトルが複数ある場合は、その数だけ距離が記憶されることになる。
ステップS1420では、代表距離算出モジュール1370が距離記憶モジュール1360に記憶されている距離を用いて、その画像における代表距離を算出する。
【0054】
ステップS1422では、閾値算出モジュール1330が新たな閾値を算出する。つまり、ステップS1420で算出された代表距離、閾値・制御点数記憶モジュール1340に記憶されている閾値と制御点数とのペアを用いて、目標制御点数に合致すると推定される次の閾値を算出する。
ステップS1424では、閾値・制御点数記憶モジュール1340がステップS1422で算出された閾値を記憶する。
ステップS1426では、ベクトル化モジュール1310が新たな閾値を用いてベクトル化処理を再度行う。そして、ステップS1410へ戻る。ステップS1410からステップS1426までの処理をステップS1414で合致するまで反復する。
ステップS1428では、比較モジュール1350の指示にしたがってベクトル化結果記憶モジュール1380がベクトル化結果を出力する。
【0055】
図16を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図16に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1617と、プリンタなどのデータ出力部1618を備えたハードウェア構成例を示している。
【0056】
CPU(Central Processing Unit)1601は、前述の実施の形態において説明した各種のモジュール、すなわち、ベクトル化モジュール110、制御点数計測モジュール120、閾値算出モジュール130、比較モジュール150、代表距離算出モジュール1370等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0057】
ROM(Read Only Memory)1602は、CPU1601が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1603は、CPU1601の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1604により相互に接続されている。
【0058】
ホストバス1604は、ブリッジ1605を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1606に接続されている。
【0059】
キーボード1608、マウス等のポインティングデバイス1609は、操作者により操作される入力デバイスである。ディスプレイ1610は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0060】
HDD(Hard Disk Drive)1611は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1601によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象とする画像、ベクトル化の結果、閾値・制御点数テーブル300、閾値・画質目標値テーブル700などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0061】
ドライブ1612は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1613に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1607、外部バス1606、ブリッジ1605、及びホストバス1604を介して接続されているRAM1603に供給する。リムーバブル記録媒体1613も、ハードディスクと同様のデータ記録領域として利用可能である。
【0062】
接続ポート1614は、外部接続機器1615を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1614は、インタフェース1607、及び外部バス1606、ブリッジ1605、ホストバス1604等を介してCPU1601等に接続されている。通信部1616は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1617は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1618は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0063】
なお、図16に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図16に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図16に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0064】
なお、前述の各種の実施の形態の説明では、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
なお、前述の各種の実施の形態を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む)、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。例えば、第1の実施の形態、第3の実施の形態において、目標制御点を受け付けているが、第2の実施の形態のように、画質目標値を受け付けるようにしてもよい。この場合、画質と制御点数との対応関係を予め定めて記憶しているテーブルを用意しておき、受け付けた画質目標値に対応する制御点数をそのテ−ブルを利用して抽出し、その後は、前述の第1の実施の形態、第3の実施の形態による処理を行うようにしてもよい。
なお、前述の第4の実施の形態においては、2番目(2巡目)以降の閾値を算出し得るとしたが、2番目(2巡目)のみに限定して代表距離を用いた閾値の算出処理としてもよい。
【0065】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0066】
110、510、1310…ベクトル化モジュール
120、1320…制御点数計測モジュール
130、520、1330…閾値算出モジュール
140、1340…閾値・制御点数記憶モジュール
150、1350…比較モジュール
160、540、1380…ベクトル化結果記憶モジュール
530…閾値記憶モジュール
1360…距離記憶モジュール
1370…代表距離算出モジュール

【特許請求の範囲】
【請求項1】
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
を具備し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理装置。
【請求項2】
閾値と制御点の数とを対応させて記憶する記憶手段
をさらに具備し、
前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出する
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出する
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項5】
前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、
前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、
前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段
をさらに具備し、
前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出する
ことを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
【請求項6】
コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
として機能させるための画像処理プログラムであって、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理プログラム。

【図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