JP5549261B2 - 画像処理装置及び画像処理プログラム - Google Patents
画像処理装置及び画像処理プログラム Download PDFInfo
- Publication number
- JP5549261B2 JP5549261B2 JP2010032066A JP2010032066A JP5549261B2 JP 5549261 B2 JP5549261 B2 JP 5549261B2 JP 2010032066 A JP2010032066 A JP 2010032066A JP 2010032066 A JP2010032066 A JP 2010032066A JP 5549261 B2 JP5549261 B2 JP 5549261B2
- Authority
- JP
- Japan
- Prior art keywords
- threshold value
- control points
- vectorization
- threshold
- image
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Description
これに関連する技術として、例えば、特許文献1には、少ないデータ量のデータを用いて文字や図形の形状を忠実に再現できる画像処理方法を得ることを目的とし、予め定めておいた端点の候補領域中における輪郭ベクトルの所定数の端点の位置を一度に調整しながら、与えられた輪郭点と輪郭ベクトルとの距離関数を求めて、ノルムが最小になる輪郭ベクトルを得るようにすることが開示されている。
請求項1の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段と、閾値と制御点の数とを対応させて記憶する記憶手段を具備し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出することを特徴とする画像処理装置である。
請求項2の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段を具備し、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理装置である。
請求項3の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段を具備し、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理装置である。
請求項4の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段を具備し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段をさらに具備し、前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出することを特徴とする画像処理装置である。
請求項9の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段として機能させるための画像処理プログラムであって、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理プログラムである。
請求項10の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段として機能させるための画像処理プログラムであって、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理プログラムである。
請求項11の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段として機能させるための画像処理プログラムであって、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段としてさらに機能させ、前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出することを特徴とする画像処理プログラムである。
請求項2、3の画像処理装置によれば、閾値と制御点数の関係が単調減少ではない場合においても、ベクトル化結果の制御点の数を制御することができる。
請求項4の画像処理装置によれば、対象とする画像に応じた閾値を算出することができる。
請求項9、10の画像処理プログラムによれば、閾値と制御点数の関係が単調減少ではない場合においても、ベクトル化結果の制御点の数を制御することができる。
請求項11の画像処理プログラムによれば、対象とする画像に応じた閾値を算出することができる。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
例えば、特許文献4に記載の技術では、画像内の線分群をベジエ曲線の数式で近似して表現するものである。
線分群としては、対象の画像は2値画像であり、画像内の画素を正方形として捉え、対象の2値画像内の黒画素の周囲形状を線分群として捉えたものである。又は、その正方形の周囲形状をまずは(斜めを含む)直線で近似して線分群としてもよい。
特許文献4に記載の技術では、2値画像を数式で表現する場合に、対象画像内のもとの線分群と、ベクトル化した後の近似結果の曲線との距離を計算し、その距離が予め定めた閾値以下となるように制御している。
これらの直線、ベジエ曲線、スプライン曲線等を描画するための情報がベクトル化制御点であり、ベクトル化制御点数とは、例えば、特許文献4に記載の、「始点としての制御点」、「終点としての制御点」、「ベジエ曲線の制御点」の数の和である。又は、ある曲線の終点と、次の曲線の始点は共通化できる場合があるため、「始点としての制御点」及び「ベジエ曲線の制御点」の数としてもよい。なお、このベクトル化制御点の個数によってベクトル化処理の結果のファイル容量が決定される。
比較モジュール150は、制御点数計測モジュール120、閾値算出モジュール130、ベクトル化結果記憶モジュール160と接続されている。比較モジュール150は、制御点数計測モジュール120によって計測された制御点の数と目標とする制御点の数とを比較する。そして、両者の値が合致しない場合には、閾値算出モジュール130に対して、ベクトル化モジュール110が用いる次の閾値を算出するように指示する。両者の値が合致する場合には、ベクトル化結果記憶モジュール160に記憶されているベクトル化の結果を出力するように指示する。ここで、目標とする制御点の数としては、ベクトル化結果記憶モジュール160が出力するファイルのサイズを予め定められたサイズを超えないようにするための制御点の数、又は出力を利用するアプリケーション上の制限から、ファイル形式内に存在し得るベクトル化の制御点の数等であり、その目標制御点数は、1つの数値であってもよいし、範囲のある数値(上限だけを定めた範囲、上限と下限を定めた範囲等)であってもよい。したがって、両者の値が合致する場合とは、その両者の値が一致する場合又は目標制御点数の範囲以内に制御点数計測モジュール120によって計測された制御点の数がある場合をいい、本実施の形態による処理が終了する条件である。両者の値が合致しない場合とは、その両者の値が不一致の場合又は目標制御点数の範囲以内に制御点数計測モジュール120によって計測された制御点の数がない場合をいい、ベクトル化モジュール110等による処理が繰り返される。
閾値・制御点数記憶モジュール140は、閾値算出モジュール130と接続されている。閾値・制御点数記憶モジュール140は、閾値算出モジュール130から受け付けた閾値と制御点の数とを対応させて記憶する。また、予め定められた閾値と制御点の数との対応を記憶していてもよい。
また、ベクトル化結果記憶モジュール160は、出力の際に、画像をベクトル化した結果を用いて、画像を直線や曲線などの描画命令に変換してファイル化してもよい。例えば、このようにすることで、PDF((登録商標)Portable Document Format)、PS(PostScript)、ワードプロセッサアプリケーション(文書作成プログラム)用のファイルの描画命令、ドロー系グラフィックス等のようなベクトルデータで記載されたファイル形式、クリップアートなどのようなファイルを形成してもよい。このようなファイルを形成する場合に、本実施の形態は、ファイルのサイズを予め定められたサイズを超えないように制御すること、又はアプリケーション上の制限から、ファイル形式内に存在するベクトル化制御点数を予め定められた値以下に制御することに用いてもよい。
ステップS202では、ベクトル化モジュール110が画像を受け付ける。
ステップS204では、閾値算出モジュール130、比較モジュール150が目標制御点数を受け付ける。
ステップS206では、閾値算出モジュール130が初期閾値を算出する。つまり、予め定められた初期の閾値をベクトル化モジュール110へ出力する。なお、予め定められた初期の閾値は、閾値・制御点数記憶モジュール140に記憶されており、これを読み出している。また、2番目(2巡目)の閾値も予め定められており、閾値・制御点数記憶モジュール140に記憶されているとする。
ステップS208では、ベクトル化モジュール110がステップS206で出力された閾値を用いて、ステップS202で受け付けた画像を対象としてベクトル化を行う。
ステップS210では、制御点数計測モジュール120がベクトル化結果の制御点数を計測する。
ステップS212では、ベクトル化結果記憶モジュール160がベクトル化結果を記憶する。
ステップS216では、閾値・制御点数記憶モジュール140が閾値算出モジュール130から渡された制御点数を記憶する。
ステップS218では、閾値算出モジュール130が新たな閾値を算出する。2番目(2巡目)の閾値の場合は、閾値・制御点数記憶モジュール140に記憶されているものをそのまま利用するようにしてもよい。3番目(3巡目)以降は、閾値・制御点数記憶モジュール140に記憶されている閾値、制御点数を基にして、新たな閾値を算出する。
ステップS220では、閾値・制御点数記憶モジュール140がステップS218で算出された閾値を記憶する。
ステップS222では、ベクトル化モジュール110が新たな閾値を用いてベクトル化処理を再度行う。そして、ステップS210へ戻る。ステップS210からステップS222までの処理をステップS214で合致するまで反復する。
ステップS224では、比較モジュール150の指示にしたがってベクトル化結果記憶モジュール160がベクトル化結果を出力する。
例えば、図4のように閾値(横軸)と制御点数(縦軸)の関係を表すことができれば、目標制御点数を受け付けて、閾値を算出し得る。
制御点数をN、閾値をTとする。制御点数Nを閾値Tの関数とみなす。例えば、N=f(T)とする。さらに、目標制御点数をPとする。
このとき、
f(T)=P
を満たすTを求める問題となる。これは、一般的な数値演算手法(ニュートン法など)で求めることができる。
例えば、初期閾値を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を算出する。
この処理を繰り返す。
また、前述の処理では、一旦ベクトル化した結果をベクトル化結果記憶モジュール160に記憶しておいて、最終的に記憶した結果を出力しているが、必ずしも記憶しておく必要はない。最終的に決定された閾値を用いてベクトル化の処理を再度行い、その結果を出力してもよい。
つまり、1回目の終了条件は、「計測した制御点数が目標制御点数以下である」とする。そして、2番目(2巡目)以降の終了条件は、「計測した制御点数と目標制御点数との差が予め定めた範囲内である」とする。
図5は、第2の実施の形態の構成例についての概念的なモジュール構成図である。第2の実施の形態は、画質目標値を受け付けて、ベクトル化のための閾値を算出するものであり、ベクトル化モジュール510、閾値算出モジュール520、閾値記憶モジュール530、ベクトル化結果記憶モジュール540を有している。
ベクトル化モジュール510は、閾値算出モジュール520、ベクトル化結果記憶モジュール540と接続されている。ベクトル化モジュール510は、第1の実施の形態におけるベクトル化モジュール110と同等のものであり、画像を受け付け、閾値算出モジュール520から閾値を受け付けて、その閾値を用いて対象とする画像をベクトル化し、そのベクトル化処理の結果をベクトル化結果記憶モジュール540へ渡す。
閾値算出モジュール520は、ベクトル化モジュール510、閾値記憶モジュール530と接続されている。閾値算出モジュール520は、画質目標値を受け付けて、閾値記憶モジュール530に記憶されている情報を用いて閾値を算出する。そして、その算出した閾値をベクトル化モジュール510へ渡す。受け付ける画質目標値は、例えば、本実施の形態に備え付けられたタッチパネル等を用いた利用者による指示である。
ベクトル化結果記憶モジュール540は、ベクトル化モジュール510と接続されている。ベクトル化結果記憶モジュール540は、第1の実施の形態におけるベクトル化結果記憶モジュール160と同等のものであり、ベクトル化モジュール510によるベクトル化結果を記憶し、それを出力する。また、出力の際に、ベクトル化結果記憶モジュール160と同等のファイル変換を行ってもよい。
ステップS602では、ベクトル化モジュール510が画像を受け付ける。
ステップS604では、閾値算出モジュール520が画質目標値を受け付ける。
ステップS606では、閾値算出モジュール520が閾値記憶モジュール530を用いて、画質目標値に対応する閾値を算出する。
ステップS608では、ベクトル化モジュール510がステップS606で算出された閾値を用いて、ステップS602で受け付けた画像のベクトル化を行う。
ステップS610では、ベクトル化結果記憶モジュール540がベクトル化結果を記憶する。
ステップS612では、ベクトル化結果記憶モジュール540がベクトル化結果を出力する。
第1の実施の形態では、閾値と制御点数との関係が単調な関数であることを前提としていた。単調な関数であれば、ニュートン法などの数値演算手法を用いて、確実に目標点に到達することができる。
しかし、閾値と制御点数の関係は単調であるとは限らない。これについて、図8、図9の例を用いて説明する。このグラフは、横軸に閾値、縦軸に制御点数をとり、両者の関係を示すものであり、目標制御点数(図8、図9では目標値)とその目標制御点数に合致する閾値TPを示したものである。
まず、最初の閾値TAで点Aを得たとする。点Aは、目標制御点数より大であるとする。このとき、新たな閾値を算出し、次の点Bを得たとする。
この点Aと点Bを用いて次の閾値を算出すると、その算出した閾値はTAよりも小さな値となってしまい、真の値TPに到達することができなくなる。
ここで、閾値と制御点数のペアが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)を求めることができる。
第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が終了条件を満たしている値であれば終了する。
単調減少の場合には、閾値算出モジュール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つ前に用いられた閾値である。
このようにすることで、単調減少関係を保証する。
第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は、ベクトル化処理の回数にしたがって閾値を増大させる方向で算出するようにしてもよい。例えば、具体的には、最初は小さな倍数をかけてゆっくり変化させて、次第に大きな倍数をかけて変化の速度を速めるものである。
第3の実施の形態(2)、(2−1)では2番目の閾値T2を用いた場合に終了条件を満たさない場合、閾値Ti(i>2)を閾値T2を用いて算出する例を示した。
しかし、予め定めた閾値を算出した閾値とする。そして、その閾値Ti(i>2)についても、予め定めておいてもよい。例えば、予め定めた複数の閾値Ti(i>2)をテーブルとして記憶しており、単調減少となるまで、テーブルから順次出力するようにしてもよい。なお、このテーブルは、閾値・制御点数記憶モジュール140が記憶する。
第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の関数(ベクトル化処理の回数に応じた値)でもよい。
第1の実施の形態では、予め定めた最初の閾値を2つ以上記憶しておく必要があった。2つ目以降の閾値は予め定めた閾値であるため、対象とする画像とは全く関係がなく、適切な閾値である保証のないものである。第4の実施の形態は、2つ目以降の閾値を対象とする画像の特性から算出する形態である。
図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倍にしたときの距離に相当するとみなせる。
図13は、第4の実施の形態の構成例についての概念的なモジュール構成図である。第4の実施の形態は、図13の例に示すように、ベクトル化モジュール1310、制御点数計測モジュール1320、閾値算出モジュール1330、閾値・制御点数記憶モジュール1340、比較モジュール1350、距離記憶モジュール1360、代表距離算出モジュール1370、ベクトル化結果記憶モジュール1380を有している。第1の実施の形態と比較すると、距離記憶モジュール1360、代表距離算出モジュール1370が付加されたものであり、他のモジュールは第1の実施の形態の対応するモジュールと同等のものであるので説明を省略する。
距離記憶モジュール1360は、ベクトル化モジュール1310、代表距離算出モジュール1370と接続されており、ベクトル化モジュール1310によって最終的に閾値を満たすように分割できた場合、その最終分割の1つ手前の分割における距離を記憶する。
ここで、このように定めた代表距離を閾値として使用した場合、制御点数を1/2倍にできるとする。すなわち、いまベクトル化を行ったときの閾値をT0、制御点数をN0とし、さらに、代表距離をDとする。また、閾値Tと、制御点数Nの間の関係は、N=f(T)とする。閾値T0、制御点数N0、代表距離Dには式(1)のような関係があるとする。
なお、点(T0,N0)から点(D,N0/2)へは直線の他に、多次曲線等であってもよい。ここでは、閾値T0から閾値T1への算出方法を述べたが、閾値T2以降についても以下同様に算出する。
ステップS1402では、ベクトル化モジュール1310が画像を受け付ける。
ステップS1404では、閾値算出モジュール1330、比較モジュール1350が目標制御点数を受け付ける。
ステップS1406では、閾値算出モジュール1330が初期閾値を算出する。つまり、予め定められた初期の閾値をベクトル化モジュール1310へ出力する。なお、予め定められた初期の閾値は、閾値・制御点数記憶モジュール1340に記憶されており、これを読み出している。
ステップS1408では、ベクトル化モジュール1310がステップS1406で算出された閾値を用いて、ステップS1402で受け付けた画像を対象としてベクトル化を行う。ここでのベクトル化処理は、閾値を満たすまで(例えば、対象線分とベクトル化結果との距離が閾値以下になるまで)、前述の分割処理を行ったものである。
ステップS1410では、制御点数計測モジュール1320がベクトル化結果の制御点数を計測する。
ステップS1412では、ベクトル化結果記憶モジュール1380がベクトル化結果を記憶する。
ステップS1416では、閾値・制御点数記憶モジュール1340が閾値算出モジュール1330から渡された制御点数を記憶する。
ステップS1418では、距離記憶モジュール1360が距離を記憶する。ここでの距離とは、ステップS1408で、ベクトル化モジュール1310がベクトル化処理を行ったときに、閾値を満たす1つ手前(つまり、ステップS1408で最終的な分割処理を行う直前)の状態における距離である。ベクトルが複数ある場合は、その数だけ距離が記憶されることになる。
ステップS1420では、代表距離算出モジュール1370が距離記憶モジュール1360に記憶されている距離を用いて、その画像における代表距離を算出する。
ステップS1424では、閾値・制御点数記憶モジュール1340がステップS1422で算出された閾値を記憶する。
ステップS1426では、ベクトル化モジュール1310が新たな閾値を用いてベクトル化処理を再度行う。そして、ステップS1410へ戻る。ステップS1410からステップS1426までの処理をステップS1414で合致するまで反復する。
ステップS1428では、比較モジュール1350の指示にしたがってベクトル化結果記憶モジュール1380がベクトル化結果を出力する。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
なお、前述の各種の実施の形態を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む)、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。例えば、第1の実施の形態、第3の実施の形態において、目標制御点を受け付けているが、第2の実施の形態のように、画質目標値を受け付けるようにしてもよい。この場合、画質と制御点数との対応関係を予め定めて記憶しているテーブルを用意しておき、受け付けた画質目標値に対応する制御点数をそのテ−ブルを利用して抽出し、その後は、前述の第1の実施の形態、第3の実施の形態による処理を行うようにしてもよい。
なお、前述の第4の実施の形態においては、2番目(2巡目)以降の閾値を算出し得るとしたが、2番目(2巡目)のみに限定して代表距離を用いた閾値の算出処理としてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
120、1320…制御点数計測モジュール
130、520、1330…閾値算出モジュール
140、1340…閾値・制御点数記憶モジュール
150、1350…比較モジュール
160、540、1380…ベクトル化結果記憶モジュール
530…閾値記憶モジュール
1360…距離記憶モジュール
1370…代表距離算出モジュール
Claims (11)
- 閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段と、
閾値と制御点の数とを対応させて記憶する記憶手段
を具備し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、
前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出する
ことを特徴とする画像処理装置。 - 閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
を具備し、
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理装置。 - 閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
を具備し、
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理装置。 - 閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
を具備し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、
前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、
前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、
前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段
をさらに具備し、
前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出する
ことを特徴とする画像処理装置。 - 前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、
前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、
前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段
をさらに具備し、
前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出する
ことを特徴とする請求項1から3、5、6のいずれか一項に記載の画像処理装置。 - コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段と、
閾値と制御点の数とを対応させて記憶する記憶手段
として機能させるための画像処理プログラムであって、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、
前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出する
ことを特徴とする画像処理プログラム。 - コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
として機能させるための画像処理プログラムであって、
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理プログラム。 - コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
として機能させるための画像処理プログラムであって、
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理プログラム。 - コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
として機能させるための画像処理プログラムであって、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、
前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、
前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、
前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段
としてさらに機能させ、
前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出する
ことを特徴とする画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010032066A JP5549261B2 (ja) | 2010-02-17 | 2010-02-17 | 画像処理装置及び画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010032066A JP5549261B2 (ja) | 2010-02-17 | 2010-02-17 | 画像処理装置及び画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011170481A JP2011170481A (ja) | 2011-09-01 |
JP5549261B2 true JP5549261B2 (ja) | 2014-07-16 |
Family
ID=44684566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010032066A Expired - Fee Related JP5549261B2 (ja) | 2010-02-17 | 2010-02-17 | 画像処理装置及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5549261B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170210403A1 (en) * | 2014-07-25 | 2017-07-27 | General Impianti S.R.L. | Method to obtain data concerning the upper profile of an element of a railway track or switch |
WO2020225890A1 (ja) * | 2019-05-08 | 2020-11-12 | 日本電信電話株式会社 | 点群解析装置、方法、およびプログラム |
US11922650B2 (en) | 2019-05-08 | 2024-03-05 | Nippon Telegraph And Telephone Corporation | Point cloud analysis device, estimation device, point cloud analysis method, and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2884630B2 (ja) * | 1989-10-31 | 1999-04-19 | 日本電気株式会社 | 線画像近似方法および装置 |
JPH0962855A (ja) * | 1995-08-28 | 1997-03-07 | Canon Inc | 情報処理装置及び方法及び記憶媒体 |
JP2005235172A (ja) * | 2004-01-20 | 2005-09-02 | Matsushita Electric Ind Co Ltd | 描画装置および描画方法 |
-
2010
- 2010-02-17 JP JP2010032066A patent/JP5549261B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011170481A (ja) | 2011-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4726257B2 (ja) | 画像処理方法およびその装置 | |
US9070224B1 (en) | Accurate upper bound for bezier arc approximation error | |
JP2014215852A (ja) | 画像処理装置、プログラム及び画像処理方法 | |
KR101235226B1 (ko) | 화상 처리 장치, 화상 처리 방법 및 기록 매체 | |
US9280725B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
JP2007086954A (ja) | 文字認識処理装置、および文字認識処理方法、並びにコンピュータ・プログラム | |
JP4791295B2 (ja) | 罫線抽出プログラム、罫線抽出装置、罫線抽出方法 | |
JP5549261B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP3099771B2 (ja) | 文字認識方法、装置及び文字認識プログラムを記録した記録媒体 | |
US7903874B2 (en) | Ruled-line-projection extracting apparatus, ruled-line projection extracting method, and computer product | |
JP5365440B2 (ja) | 画像処理装置及び画像処理プログラム | |
US8805076B2 (en) | Image processing apparatus, image processing method and computer readable medium | |
US20110286668A1 (en) | Image processing device, image processing method, and computer readable medium | |
JP5489894B2 (ja) | 画像処理装置及び画像処理プログラム | |
US11288534B2 (en) | Apparatus and method for image processing for machine learning | |
JP2012175220A (ja) | 画像処理装置及び画像処理プログラム | |
JP5083162B2 (ja) | 画像データ判定装置、画像データ判定システム、及びプログラム | |
JP5821648B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP6003375B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP6281309B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5067182B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5062076B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5083551B2 (ja) | データ処理装置、外郭データ生成装置、データ処理プログラム、外郭データ生成プログラム | |
US20230117487A1 (en) | Systems for Generating Stroked Paths | |
JP4930288B2 (ja) | 画像処理装置及び画像処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131220 |
|
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: 20140422 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140505 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5549261 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |