JP2011170481A - Image processing apparatus and image processing program - Google Patents

Image processing apparatus and image processing program Download PDF

Info

Publication number
JP2011170481A
JP2011170481A JP2010032066A JP2010032066A JP2011170481A JP 2011170481 A JP2011170481 A JP 2011170481A JP 2010032066 A JP2010032066 A JP 2010032066A JP 2010032066 A JP2010032066 A JP 2010032066A JP 2011170481 A JP2011170481 A JP 2011170481A
Authority
JP
Japan
Prior art keywords
threshold value
control points
threshold
vectorization
module
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.)
Granted
Application number
JP2010032066A
Other languages
Japanese (ja)
Other versions
JP5549261B2 (en
Inventor
Shunichi Kimura
俊一 木村
Kanya Ishizaka
敢也 石坂
Masanori Sekino
雅則 関野
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2010032066A priority Critical patent/JP5549261B2/en
Publication of JP2011170481A publication Critical patent/JP2011170481A/en
Application granted granted Critical
Publication of JP5549261B2 publication Critical patent/JP5549261B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing apparatus which controls the number of control points in a vectorized result to be equal to the target number of control points in vectorizing an image. <P>SOLUTION: A vectorizing means of the image processing apparatus vectorizes the image using a threshold value. A measuring means of the number of control points counts the number of control points in the vectorized result by the vectorizing means. If the number of control points measured by the measuring means of the number of control points does not coincide with the target number of control points, a threshold calculation means calculates a threshold based on the number of control points counted by the measuring means of the number of control points, and the vectorizing means vectorizes the image using the threshold calculated by the threshold calculation means. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、画像処理装置及び画像処理プログラムに関する。   The present invention relates to an image processing apparatus and an image processing program.

画像を対象としたベクトル化の技術がある。
これに関連する技術として、例えば、特許文献1には、少ないデータ量のデータを用いて文字や図形の形状を忠実に再現できる画像処理方法を得ることを目的とし、予め定めておいた端点の候補領域中における輪郭ベクトルの所定数の端点の位置を一度に調整しながら、与えられた輪郭点と輪郭ベクトルとの距離関数を求めて、ノルムが最小になる輪郭ベクトルを得るようにすることが開示されている。
There is a vectorization technique for images.
As a technology related to this, for example, Patent Document 1 discloses a method for obtaining an image processing method capable of faithfully reproducing the shape of a character or a figure using a small amount of data. A distance function between a given contour point and a contour vector is obtained while adjusting the positions of a predetermined number of end points of the contour vector in the candidate region at a time so as to obtain a contour vector having a minimum norm. It is disclosed.

また、例えば、特許文献2には、より少ない符号量で領域形状を多角形近似し、さらに符号量の調整を容易にすることを目的とし、領域形状表現のための許容符号量より、多角形の許容誤差のしきい値を決定し、近似多角形の一辺に注目し、その辺に隣接する2辺を延長してできる交点について、前記の辺を取り除いて前記交点を近似多角形の新たな頂点としたときの近似誤差を測り、近似誤差が最小となる辺を選び出し、近似誤差が閾値未満の場合、前記の辺を取り除き、前記交点を近似多角形の新たな頂点とし、取り除ける辺がなくなるまで以上の処理を続けることが開示されている。つまり、画質(近似精度)を維持しながら、曲線をできるだけ少ない数の線分で表現するための技術である。ここでは、対象とする曲線と線分との距離が予め定められた閾値以下となるまで、線分を分割していくことによって、画質(近似精度)を維持し、また、予め定められた閾値以下となった時点で分割を終了するので、できるだけ少ない線分の数とすることができるようにしている。   In addition, for example, Patent Document 2 discloses that a polygon shape is approximated to a region shape with a smaller code amount, and further, the adjustment of the code amount is facilitated. The threshold value of the permissible error is determined, attention is paid to one side of the approximate polygon, and an intersection formed by extending two sides adjacent to the side is removed, and the intersection is replaced with a new approximate polygon. Measure the approximation error when the vertex is set, select the side with the minimum approximation error, and if the approximation error is less than the threshold, remove the side and use the intersection as a new vertex of the approximate polygon, leaving no side to be removed It is disclosed that the above processing is continued. That is, it is a technique for expressing a curve with as few line segments as possible while maintaining image quality (approximation accuracy). Here, the image quality (approximation accuracy) is maintained by dividing the line segment until the distance between the target curve and the line segment is equal to or less than a predetermined threshold value, and the predetermined threshold value is set. Since the division is finished when the time becomes the following, the number of line segments can be made as small as possible.

また、例えば、特許文献3には、画像領域の形状を少ないデータ量で試行錯誤なく的確に記述することが難しかったことを課題とし、領域の境界線上に複数の注目点をとり、各注目点についてその近傍の参照点の位置も考慮しながら近似曲線を描き、ある注目点に関する近似曲線の誤差が大きいとき、近似曲線を近隣の近似曲線で置き換え、それでも誤差が大きければ参照点の位置を修正し、近似曲線から各注目点における曲率と法線方向を正確に求め、屈曲点、変曲点などの特徴点を検出することが開示されている。   In addition, for example, Patent Document 3 has a problem that it is difficult to accurately describe the shape of an image area with a small amount of data without trial and error, and a plurality of attention points are taken on the boundary line of the area. Draw an approximate curve while taking into account the position of the reference point in the vicinity, and when the error of the approximate curve for a certain point of interest is large, replace the approximate curve with a nearby approximate curve, and if the error is still large, correct the position of the reference point Then, it is disclosed that the curvature and normal direction at each point of interest are accurately obtained from the approximate curve, and feature points such as inflection points and inflection points are detected.

また、例えば、特許文献4には、高画質な外郭データを生成した場合のデータ量を削減したデータ処理装置を提供することを課題とし、鋭角点抽出部は、直線近似部で得られた線分群から、隣接する線分の角度が所定の角度以下となる鋭角点を抽出し、鋭角点間の線分群を線分群Cとし、経由点算出部は線分群Cを近似する3次ベジエ曲線が通過すると仮定する経由点を算出し、制御点算出部は、線分群Cを近似する3次ベジエ曲線が、経由点算出部で算出した経由点を通ると仮定して得られる2元1次連立方程式を解いて、3次ベジエ曲線の2つの制御点を算出し、判定部は、得られた3次ベジエ曲線と線分群Cとの誤差が所定値以上となるか否かを判定し、誤差が所定値以上の場合は分割部が線分群Cを分割して、分割した線分群をそれぞれ線分群Cとして、再び3次ベジエ曲線を求めることが開示されている。   In addition, for example, Patent Document 4 aims to provide a data processing device that reduces the amount of data when high-quality outline data is generated, and the acute-angle point extraction unit is a line obtained by a straight line approximation unit. An acute point where the angle of the adjacent line segment is equal to or less than a predetermined angle is extracted from the segment group, the segment group between the acute angle points is defined as a segment group C, and the via point calculation unit has a cubic Bezier curve that approximates the segment group C. The control point calculation unit calculates a via point that is assumed to pass, and the control point calculation unit obtains a binary primary simultaneous system obtained by assuming that a cubic Bezier curve that approximates the line segment group C passes through the via point calculated by the via point calculation unit. The equation is solved to calculate two control points of the cubic Bezier curve, and the determination unit determines whether or not an error between the obtained cubic Bezier curve and the line segment group C is equal to or greater than a predetermined value. When is greater than or equal to a predetermined value, the dividing unit divides line segment group C, and the divided line segment group is Re as a line segment group C, and it is disclosed that seek again cubic Bezier curve.

特開平05−035871号公報JP 05-035871 A 特開平06−060174号公報Japanese Patent Laid-Open No. 06-060174 特開平10−091796号公報Japanese Patent Laid-Open No. 10-091796 特開2009−199340号公報JP 2009-199340 A

本発明は、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を目標とする制御点の数に制御できるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。   An object of the present invention is to provide an image processing apparatus and an image processing program that can control the number of control points of the vectorization result to a target number of control points when the image is vectorized. It is said.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段を具備し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理装置である。
The gist of the present invention for achieving the object lies in the inventions of the following items.
The invention according to claim 1 is measured by the vectorization means for vectorizing the image using a threshold, the control point number measurement means for measuring the number of control points of the vectorization result by the vectorization means, and the control point measurement means. A threshold calculating means for calculating a threshold based on the number of control points measured by the control point number measuring means when the number of control points and the target number of control points do not match, The vectorization means is an image processing apparatus characterized in that the image is vectorized using the threshold value calculated by the threshold value calculation means.

請求項2の発明は、閾値と制御点の数とを対応させて記憶する記憶手段をさらに具備し、前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出することを特徴とする請求項1に記載の画像処理装置である。   The invention of claim 2 further comprises storage means for storing the threshold value and the number of control points in association with each other, and the threshold value calculation means is a correspondence between the threshold value stored in the storage means and the number of control points. The image processing apparatus according to claim 1, wherein a threshold value corresponding to a target number of control points is calculated using.

請求項3の発明は、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出することを特徴とする請求項1又は2に記載の画像処理装置である。   According to a third aspect of the present invention, the threshold value calculation means determines whether or not the relationship between the threshold value and the number of control points is monotonically decreasing. When the relationship between the threshold value and the control point number is not monotonically decreasing, a predetermined threshold value is used. The image processing apparatus according to claim 1, wherein a threshold value is calculated.

請求項4の発明は、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出することを特徴とする請求項1又は2に記載の画像処理装置である。   According to a fourth aspect of the present invention, the threshold value calculation means determines whether or not the relationship between the threshold value and the number of control points is monotonously decreased. The image processing apparatus according to claim 1, wherein a threshold value is calculated.

請求項5の発明は、前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段をさらに具備し、前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置である。   According to a fifth aspect of the present invention, the vectorization means divides the vector until an error between the vector and a line segment in the image satisfies a predetermined condition, and the predetermined condition is determined by the vectorization means. An error storage means for storing an error in the immediately preceding division when satisfied, and a representative error calculation means for calculating a representative value of the error stored in the error storage means; 5. The image processing apparatus according to claim 1, wherein the means calculates a next threshold value using the representative value calculated by the representative error calculation means. 6.

請求項6の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段として機能させるための画像処理プログラムであって、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理プログラムである。   According to the sixth aspect of the present invention, there is provided a computer comprising: vectorizing means for vectorizing an image using a threshold value; control point number measuring means for measuring the number of control points resulting from vectorization by the vectorizing means; and the control point number measurement. When the number of control points measured by the means and the target number of control points do not match, function as threshold calculation means for calculating a threshold based on the number of control points measured by the control point number measurement means An image processing program for causing the vectorization means to vectorize the image using the threshold value calculated by the threshold value calculation means.

請求項1の画像処理装置によれば、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を制御することができる。   According to the image processing apparatus of the first aspect, when the image is vectorized, the number of control points of the vectorization result can be controlled.

請求項2の画像処理装置によれば、本構成を有しない場合に比較して、処理の負荷を軽減することができる。   According to the image processing apparatus of the second aspect, it is possible to reduce the processing load as compared with the case where the present configuration is not provided.

請求項3、4の画像処理装置によれば、閾値と制御点数の関係が単調減少ではない場合においても、ベクトル化結果の制御点の数を制御することができる。   According to the third and fourth image processing apparatuses, even when the relationship between the threshold value and the number of control points is not monotonously decreasing, the number of control points of the vectorization result can be controlled.

請求項5の画像処理装置によれば、対象とする画像に応じた閾値を算出することができる。   According to the image processing apparatus of the fifth aspect, it is possible to calculate the threshold value corresponding to the target image.

請求項6の画像処理プログラムによれば、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を制御することができる。   According to the image processing program of the sixth aspect, when the image is vectorized, the number of control points of the vectorization result can be controlled.

第1の実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural example of 1st Embodiment. 第1の実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by 1st Embodiment. 閾値・制御点数テーブルのデータ構成例を示す説明図である。It is explanatory drawing which shows the data structural example of a threshold-value / control score table. 閾値と制御点数の関係例を示すグラフである。It is a graph which shows the example of a relationship between a threshold value and the number of control points. 第2の実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural example of 2nd Embodiment. 第2の実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by 2nd Embodiment. 閾値・画質目標値テーブルのデータ構成例を示す説明図である。It is explanatory drawing which shows the data structural example of a threshold value and image quality target value table. 閾値と制御点数の関係例を示すグラフである。It is a graph which shows the example of a relationship between a threshold value and the number of control points. 閾値と制御点数の関係例を示すグラフである。It is a graph which shows the example of a relationship between a threshold value and the number of control points. 閾値と制御点数の関係例を示すグラフである。It is a graph which shows the example of a relationship between a threshold value and the number of control points. 閾値と制御点数の関係例を示すグラフである。It is a graph which shows the example of a relationship between a threshold value and the number of control points. 制御点の決定例を示す説明図である。It is explanatory drawing which shows the example of determination of a control point. 第4の実施の形態の構成例についての概念的なモジュール構成図である。It is a notional module block diagram about the structural example of 4th Embodiment. 第4の実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by 4th Embodiment. 閾値と制御点数の関係例を示すグラフである。It is a graph which shows the example of a relationship between a threshold value and the number of control points. 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which implement | achieves this Embodiment.

以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
Hereinafter, examples of various preferred embodiments for realizing the present invention will be described with reference to the drawings.
<First Embodiment>
FIG. 1 is a conceptual module configuration diagram of a configuration example according to the first embodiment.
The module generally refers to components such as software (computer program) and hardware that can be logically separated. Therefore, the module in the present embodiment indicates not only a module in a computer program but also a module in a hardware configuration. Therefore, the present embodiment also serves as an explanation of a computer program, a system, and a method. However, for the sake of explanation, the words “store”, “store”, and equivalents thereof are used. However, when the embodiment is a computer program, these words are stored in a storage device or stored in memory. It is the control to be stored in the device. Modules may correspond to functions one-to-one, but in mounting, one module may be configured by one program, or a plurality of modules may be configured by one program, and conversely, one module May be composed of a plurality of programs. The plurality of modules may be executed by one computer, or one module may be executed by a plurality of computers in a distributed or parallel environment. Note that one module may include other modules. Hereinafter, “connection” is used not only for physical connection but also for logical connection (data exchange, instruction, reference relationship between data, etc.).
In addition, the system or device is configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including one-to-one correspondence communication connection), etc. The case where it implement | achieves by etc. is also included. “Apparatus” and “system” are used as synonymous terms. Of course, the “system” does not include a social “mechanism” (social system) that is an artificial arrangement. “Predetermined” means that the process is determined before the target process, and not only before the process according to this embodiment starts but also after the process according to this embodiment starts. In addition, if it is before the target processing, it is used in accordance with the situation / state at that time or with the intention to be decided according to the situation / state up to that point.

第1の実施の形態である画像処理装置は、画像をベクトル化する装置であって、図1に示すように、ベクトル化モジュール110、制御点数計測モジュール120、閾値算出モジュール130、閾値・制御点数記憶モジュール140、比較モジュール150、ベクトル化結果記憶モジュール160を有している。   The image processing apparatus according to the first embodiment is an apparatus for vectorizing an image, and as shown in FIG. 1, a vectorization module 110, a control point measurement module 120, a threshold value calculation module 130, a threshold value and a control point number. A storage module 140, a comparison module 150, and a vectorization result storage module 160 are provided.

ベクトル化モジュール110は、制御点数計測モジュール120、閾値算出モジュール130、ベクトル化結果記憶モジュール160と接続されている。ベクトル化モジュール110は、画像を受け付け、閾値算出モジュール130から閾値を受け付けて、その閾値を用いて対象とする画像をベクトル化し、そのベクトル化処理の結果を制御点数計測モジュール120、ベクトル化結果記憶モジュール160へ渡す。   The vectorization module 110 is connected to the control point measurement module 120, the threshold calculation module 130, and the vectorization result storage module 160. The vectorization module 110 receives an image, receives a threshold value from the threshold value calculation module 130, vectorizes the target image using the threshold value, and stores the vectorization processing result in the control score measurement module 120, the vectorization result storage. Pass to module 160.

画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。受け付ける画像は2値画像であるが、多値画像(カラー画像を含む)を受け付けて、2値化処理を行ってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。   Accepting an image means, for example, reading an image with a scanner, a camera, etc., receiving an image from an external device via a communication line by fax, etc., a hard disk (in addition to what is built in a computer, via a network) And the like, and the like read out the images stored in the device etc.). Although the received image is a binary image, a multi-value image (including a color image) may be received and binarization processing may be performed. One image may be received or a plurality of images may be received.

また、ここで受け付ける閾値とは、画像のベクトル化に用いる値であって、その閾値を変更することによって、ベクトル化結果の制御点の数も変更されるものである。例えば、受け付けた画像とベクトル化の線分とを制御点において比較した場合の距離(差分、誤差)が閾値以下になるようにベクトル化するものである。   Further, the threshold value accepted here is a value used for vectorization of an image, and by changing the threshold value, the number of control points of the vectorization result is also changed. For example, vectorization is performed so that the distance (difference, error) when the received image is compared with the vectorization line segment at the control point is equal to or less than a threshold value.

また、ベクトル化処理は背景技術で述べた既存の技術等を用いており、ベクトル化した結果として、例えば、直線、ベジエ曲線、スプライン曲線等がある。
例えば、特許文献4に記載の技術では、画像内の線分群をベジエ曲線の数式で近似して表現するものである。
線分群としては、対象の画像は2値画像であり、画像内の画素を正方形として捉え、対象の2値画像内の黒画素の周囲形状を線分群として捉えたものである。又は、その正方形の周囲形状をまずは(斜めを含む)直線で近似して線分群としてもよい。
特許文献4に記載の技術では、2値画像を数式で表現する場合に、対象画像内のもとの線分群と、ベクトル化した後の近似結果の曲線との距離を計算し、その距離が予め定めた閾値以下となるように制御している。
これらの直線、ベジエ曲線、スプライン曲線等を描画するための情報がベクトル化制御点であり、ベクトル化制御点数とは、例えば、特許文献4に記載の、「始点としての制御点」、「終点としての制御点」、「ベジエ曲線の制御点」の数の和である。又は、ある曲線の終点と、次の曲線の始点は共通化できる場合があるため、「始点としての制御点」及び「ベジエ曲線の制御点」の数としてもよい。なお、このベクトル化制御点の個数によってベクトル化処理の結果のファイル容量が決定される。
The vectorization process uses the existing technique described in the background art, and examples of the vectorization process include a straight line, a Bezier curve, and a spline curve.
For example, in the technique described in Patent Document 4, a line segment group in an image is approximated by a Bezier curve expression.
As the line segment group, the target image is a binary image, pixels in the image are captured as squares, and the surrounding shape of black pixels in the target binary image is captured as a line segment group. Alternatively, the surrounding shape of the square may be approximated by a straight line (including an oblique line) to form a line segment group.
In the technique described in Patent Document 4, when a binary image is expressed by a mathematical expression, the distance between the original line segment group in the target image and the curve of the approximation result after vectorization is calculated, and the distance is Control is performed so as to be equal to or less than a predetermined threshold.
Information for drawing these straight lines, Bezier curves, spline curves, and the like is vectorized control points. The number of vectorized control points is, for example, “control point as start point”, “end point” described in Patent Document 4. As the control point ”and“ the control point of the Bezier curve ”. Alternatively, since the end point of a certain curve and the start point of the next curve may be shared, the number of “control points as start points” and “control points of Bezier curves” may be used. The file capacity as a result of vectorization processing is determined by the number of vectorization control points.

制御点数計測モジュール120は、ベクトル化モジュール110、閾値算出モジュール130、比較モジュール150と接続されている。制御点数計測モジュール120は、ベクトル化モジュール110によるベクトル化結果の制御点の数を計測し、その制御点数を閾値算出モジュール130、比較モジュール150に渡す。
比較モジュール150は、制御点数計測モジュール120、閾値算出モジュール130、ベクトル化結果記憶モジュール160と接続されている。比較モジュール150は、制御点数計測モジュール120によって計測された制御点の数と目標とする制御点の数とを比較する。そして、両者の値が合致しない場合には、閾値算出モジュール130に対して、ベクトル化モジュール110が用いる次の閾値を算出するように指示する。両者の値が合致する場合には、ベクトル化結果記憶モジュール160に記憶されているベクトル化の結果を出力するように指示する。ここで、目標とする制御点の数としては、ベクトル化結果記憶モジュール160が出力するファイルのサイズを予め定められたサイズを超えないようにするための制御点の数、又は出力を利用するアプリケーション上の制限から、ファイル形式内に存在し得るベクトル化の制御点の数等であり、その目標制御点数は、1つの数値であってもよいし、範囲のある数値(上限だけを定めた範囲、上限と下限を定めた範囲等)であってもよい。したがって、両者の値が合致する場合とは、その両者の値が一致する場合又は目標制御点数の範囲以内に制御点数計測モジュール120によって計測された制御点の数がある場合をいい、本実施の形態による処理が終了する条件である。両者の値が合致しない場合とは、その両者の値が不一致の場合又は目標制御点数の範囲以内に制御点数計測モジュール120によって計測された制御点の数がない場合をいい、ベクトル化モジュール110等による処理が繰り返される。
The control point measurement module 120 is connected to the vectorization module 110, the threshold calculation module 130, and the comparison module 150. The control point number measurement module 120 measures the number of control points of the vectorization result by the vectorization module 110 and passes the control point number to the threshold value calculation module 130 and the comparison module 150.
The comparison module 150 is connected to the control point measurement module 120, the threshold calculation module 130, and the vectorization result storage module 160. The comparison module 150 compares the number of control points measured by the control point number measurement module 120 with the target number of control points. If the two values do not match, the threshold calculation module 130 is instructed to calculate the next threshold used by the vectorization module 110. If both values match, an instruction is given to output the vectorization result stored in the vectorization result storage module 160. Here, as the target number of control points, the number of control points for preventing the file size output by the vectorization result storage module 160 from exceeding a predetermined size, or an application using the output From the above restrictions, it is the number of vectorization control points that can exist in the file format, etc. The target control point number may be a single numerical value, or a numerical value with a range (a range in which only an upper limit is determined) Or a range in which an upper limit and a lower limit are defined. Therefore, the case where the two values match each other means that the two values match or the number of control points measured by the control point number measuring module 120 is within the target control point number range. This is a condition for ending the processing according to the form. The case where the two values do not match means the case where the two values do not match or the case where there is no number of control points measured by the control point number measuring module 120 within the range of the target control points, such as the vectorization module 110. The process according to is repeated.

閾値算出モジュール130は、ベクトル化モジュール110、制御点数計測モジュール120、閾値・制御点数記憶モジュール140、比較モジュール150と接続されている。閾値算出モジュール130は、比較モジュール150からの指示にしたがって(制御点数計測モジュール120によって計測された制御点の数と目標とする制御点の数とが合致しない場合)、制御点数計測モジュール120によって計測された制御点の数に基づいて閾値を算出する。また、閾値・制御点数記憶モジュール140に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出するようにしてもよい。また、制御点数計測モジュール120によって過去に計測された制御点の数と目標とする制御点の数に基づいて、目標とする制御点の数に対応する閾値を算出するようにしてもよい。また、ベクトル化モジュール110による1回目又は2回目のベクトル化の処理の場合は、予め定められた値を閾値として算出してもよい。そして、算出した閾値をベクトル化モジュール110へ渡す。また、算出した閾値と制御点数計測モジュール120によって計測された制御点の数とを対応させて閾値・制御点数記憶モジュール140に記憶させる。
閾値・制御点数記憶モジュール140は、閾値算出モジュール130と接続されている。閾値・制御点数記憶モジュール140は、閾値算出モジュール130から受け付けた閾値と制御点の数とを対応させて記憶する。また、予め定められた閾値と制御点の数との対応を記憶していてもよい。
The threshold calculation module 130 is connected to the vectorization module 110, the control point count module 120, the threshold / control point storage module 140, and the comparison module 150. The threshold value calculation module 130 is measured by the control point measurement module 120 in accordance with an instruction from the comparison module 150 (when the number of control points measured by the control point measurement module 120 does not match the target number of control points). A threshold value is calculated based on the number of control points. Further, the threshold value corresponding to the target number of control points may be calculated using the correspondence between the threshold value and the number of control points stored in the threshold value / control point number storage module 140. Further, a threshold value corresponding to the target number of control points may be calculated based on the number of control points measured in the past by the control point number measuring module 120 and the target number of control points. In the case of the first or second vectorization process by the vectorization module 110, a predetermined value may be calculated as a threshold value. Then, the calculated threshold value is passed to the vectorization module 110. Further, the calculated threshold value is associated with the number of control points measured by the control point number measurement module 120 and stored in the threshold value / control point number storage module 140.
The threshold / control score storage module 140 is connected to the threshold calculation module 130. The threshold / control score storage module 140 stores the threshold received from the threshold calculation module 130 in correspondence with the number of control points. Further, a correspondence between a predetermined threshold value and the number of control points may be stored.

ベクトル化結果記憶モジュール160は、ベクトル化モジュール110、比較モジュール150と接続されている。ベクトル化結果記憶モジュール160は、ベクトル化モジュール110によるベクトル化結果を記憶する。そして、比較モジュール150からの指示にしたがって(制御点数計測モジュール120によって計測された制御点の数と目標とする制御点の数とが合致する場合)、記憶しているベクトル化結果を出力する。ベクトル化結果を出力するとは、例えば、ベクトル化結果を描画するプリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、文書データベース等の記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
また、ベクトル化結果記憶モジュール160は、出力の際に、画像をベクトル化した結果を用いて、画像を直線や曲線などの描画命令に変換してファイル化してもよい。例えば、このようにすることで、PDF((登録商標)Portable Document Format)、PS(PostScript)、ワードプロセッサアプリケーション(文書作成プログラム)用のファイルの描画命令、ドロー系グラフィックス等のようなベクトルデータで記載されたファイル形式、クリップアートなどのようなファイルを形成してもよい。このようなファイルを形成する場合に、本実施の形態は、ファイルのサイズを予め定められたサイズを超えないように制御すること、又はアプリケーション上の制限から、ファイル形式内に存在するベクトル化制御点数を予め定められた値以下に制御することに用いてもよい。
The vectorization result storage module 160 is connected to the vectorization module 110 and the comparison module 150. The vectorization result storage module 160 stores the vectorization result by the vectorization module 110. Then, in accordance with an instruction from the comparison module 150 (when the number of control points measured by the control point measurement module 120 matches the target number of control points), the stored vectorization result is output. To output the vectorization result is, for example, printing with a printing device such as a printer that draws the vectorization result, displaying it on a display device such as a display, transmitting an image with an image transmission device such as a fax, This includes writing an image to a storage device such as a database, storing it in a storage medium such as a memory card, and passing it to another information processing device.
In addition, the vectorization result storage module 160 may convert the image into a drawing command such as a straight line or a curve using the result of vectorizing the image at the time of output and create a file. For example, by doing this, vector data such as a drawing command of a file for PDF ((registered trademark) Portable Document Format), PS (PostScript), a word processor application (document creation program), draw graphics, etc. Files such as the file formats described, clip art, etc. may be formed. In the case of forming such a file, the present embodiment controls the file size so as not to exceed a predetermined size, or vectorization control existing in the file format due to restrictions on the application. You may use it for controlling a score below a predetermined value.

図2は、第1の実施の形態による処理例を示すフローチャートである。
ステップS202では、ベクトル化モジュール110が画像を受け付ける。
ステップS204では、閾値算出モジュール130、比較モジュール150が目標制御点数を受け付ける。
ステップS206では、閾値算出モジュール130が初期閾値を算出する。つまり、予め定められた初期の閾値をベクトル化モジュール110へ出力する。なお、予め定められた初期の閾値は、閾値・制御点数記憶モジュール140に記憶されており、これを読み出している。また、2番目(2巡目)の閾値も予め定められており、閾値・制御点数記憶モジュール140に記憶されているとする。
ステップS208では、ベクトル化モジュール110がステップS206で出力された閾値を用いて、ステップS202で受け付けた画像を対象としてベクトル化を行う。
ステップS210では、制御点数計測モジュール120がベクトル化結果の制御点数を計測する。
ステップS212では、ベクトル化結果記憶モジュール160がベクトル化結果を記憶する。
FIG. 2 is a flowchart illustrating a processing example according to the first exemplary embodiment.
In step S202, the vectorization module 110 receives an image.
In step S204, the threshold calculation module 130 and the comparison module 150 accept the target control score.
In step S206, the threshold calculation module 130 calculates an initial threshold. That is, a predetermined initial threshold value is output to the vectorization module 110. The predetermined initial threshold value is stored in the threshold value / control score storage module 140 and is read out. It is also assumed that the second (second round) threshold value is also determined in advance and stored in the threshold value / control score storage module 140.
In step S208, the vectorization module 110 performs vectorization on the image received in step S202 using the threshold value output in step S206.
In step S210, the control point measurement module 120 measures the number of control points as a vectorization result.
In step S212, the vectorization result storage module 160 stores the vectorization result.

ステップ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がベクトル化結果を出力する。
In step S214, the comparison module 150 compares the number of control points with the target number of control points. If they match (for example, if the number of control points is equal to or less than the target number of control points), the process proceeds to step S224; otherwise (for example, if the number of control points is greater than the target number of control points), the process proceeds to step S216.
In step S <b> 216, the threshold / control score storage module 140 stores the control scores transferred from the threshold calculation module 130.
In step S218, the threshold value calculation module 130 calculates a new threshold value. In the case of the second (second round) threshold, one stored in the threshold / control score storage module 140 may be used as it is. After the third (third round), a new threshold value is calculated based on the threshold value and the control point number stored in the threshold value / control point number storage module 140.
In step S220, the threshold / control score storage module 140 stores the threshold calculated in step S218.
In step S222, the vectorization module 110 performs the vectorization process again using a new threshold value. Then, the process returns to step S210. The processes from step S210 to step S222 are repeated until they are matched in step S214.
In step S224, the vectorization result storage module 160 outputs the vectorization result according to the instruction of the comparison module 150.

閾値算出モジュール130では、主に、制御点数計測モジュール120によって測定された制御点数、閾値と制御点数のペア、目標制御点数を基にして、閾値を算出する。閾値と制御点数のペアは、図3に例示するような閾値・制御点数テーブル300で表すことができる。これは、閾値・制御点数記憶モジュール140に記憶されている。閾値・制御点数テーブル300は、閾値欄310、制御点数欄320を有している。閾値欄310は、閾値を記憶する。制御点数欄320は、その閾値に対応する制御点数を記憶する。   The threshold calculation module 130 calculates the threshold mainly based on the number of control points measured by the control point number measurement module 120, a pair of threshold and control points, and the target number of control points. A pair of threshold and control points can be represented by a threshold / control points table 300 as illustrated in FIG. This is stored in the threshold / control point storage module 140. The threshold / control score table 300 includes a threshold column 310 and a control score column 320. The threshold value column 310 stores a threshold value. The control points column 320 stores the number of control points corresponding to the threshold value.

閾値と制御点数、及び目標制御点数の関係は、図4に例示するようなグラフで表すことができる。
例えば、図4のように閾値(横軸)と制御点数(縦軸)の関係を表すことができれば、目標制御点数を受け付けて、閾値を算出し得る。
制御点数をN、閾値をTとする。制御点数Nを閾値Tの関数とみなす。例えば、N=f(T)とする。さらに、目標制御点数をPとする。
このとき、
f(T)=P
を満たすTを求める問題となる。これは、一般的な数値演算手法(ニュートン法など)で求めることができる。
The relationship between the threshold value, the number of control points, and the target number of control points can be represented by a graph as illustrated in FIG.
For example, if the relationship between the threshold value (horizontal axis) and the number of control points (vertical axis) can be expressed as shown in FIG. 4, the target threshold value can be received and the threshold value calculated.
Let N be the number of control points and T be the threshold. The number N of control points is regarded as a function of the threshold value T. For example, N = f (T). Furthermore, let P be the target number of control points.
At this time,
f (T) = P
It becomes a problem for obtaining T satisfying the above. This can be obtained by a general numerical calculation method (Newton method or the like).

以下に、単純な例を示す。なお、数値演算手法として他の様々な方法がある。
例えば、初期閾値を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を算出する。
この処理を繰り返す。
Below is a simple example. There are various other numerical calculation methods.
For example, the initial threshold value is T0.
If the number of control points when vectorized at the initial threshold value T0 does not satisfy the target control point number P, the next threshold value T1 is determined in advance and the next vectorization process is performed.
The number of control points when vectorized with the initial threshold value T0 is N0, and the number of control points when vectorized with the threshold value T1 is N1.
Using these two pairs ((T0, N0), (T1, N1)), an estimated value T2 of T satisfying the target number of control points P is calculated in the (T, N) two-dimensional space as (T0, N0). And the T coordinate of the intersection of the straight line passing through (T1, N1) and the straight line N = P.
If the target number of control points is not satisfied even at the threshold T2, the vector is calculated using the control point number N0 or the control point number N1 that is closer to the target control point number P, the threshold value corresponding to the control point number, and the threshold value T2. The next threshold value T3 is calculated using the number of control points N2.
This process is repeated.

前述の処理では、f()を直線で近似したが、2次曲線で近似するなどの他の手法を用いてももちろんよい。
また、前述の処理では、一旦ベクトル化した結果をベクトル化結果記憶モジュール160に記憶しておいて、最終的に記憶した結果を出力しているが、必ずしも記憶しておく必要はない。最終的に決定された閾値を用いてベクトル化の処理を再度行い、その結果を出力してもよい。
In the above-described processing, f () is approximated by a straight line, but other methods such as approximation by a quadratic curve may be used.
In the above-described processing, the vectorized result is stored in the vectorized result storage module 160 and the finally stored result is output. However, it is not necessarily stored. The vectorization process may be performed again using the finally determined threshold value, and the result may be output.

比較モジュール150の判断処理(ステップS214)では、終了条件として、目標制御点数が範囲内である場合として、計測した制御点数が目標制御点数以下である場合、計測した制御点数が目標制御点数の範囲内にある場合の2種類を例示したが、この他に、計測した制御点数と目標制御点数との差が予め定めた範囲内である場合等であってもよい。   In the determination process (step S214) of the comparison module 150, as the end condition, when the target control points are within the range, when the measured control points are equal to or less than the target control points, the measured control points are within the target control point range. In addition to the above, two types are exemplified, but there may be cases where the difference between the measured number of control points and the target number of control points is within a predetermined range.

また、閾値はベクトル化処理の回数に応じた値としてもよい。例えば、通常、最初の閾値(初期閾値)は画質を保証するために小さめの値とすることが望ましい。そこで、最初の閾値でベクトル化した場合の制御点数が目標制御点数以下であれば、終了としてもよいとする(ベクトル化結果記憶モジュール160が出力)。この場合、目標制御点数に合致するように制御するためには、2番目(2巡目)以降の閾値では、最初の閾値よりも大きな値が必要である。閾値が大きくなれば、画質は劣化してしまう。できるだけ画質を劣化させないようにするためには、できるだけ制御点数を目標制御点数に近づけるべきである。そこで、2番目(2巡目)以降の終了条件は、「計測した制御点数と目標制御点数との差が予め定めた範囲内である」とする。
つまり、1回目の終了条件は、「計測した制御点数が目標制御点数以下である」とする。そして、2番目(2巡目)以降の終了条件は、「計測した制御点数と目標制御点数との差が予め定めた範囲内である」とする。
The threshold may be a value corresponding to the number of vectorization processes. For example, normally, the first threshold value (initial threshold value) is desirably a small value in order to guarantee image quality. Therefore, if the number of control points when vectorized with the first threshold is equal to or less than the target number of control points, the processing may be terminated (output from the vectorization result storage module 160). In this case, in order to perform control so as to match the target number of control points, the second and subsequent threshold values need to be larger than the first threshold value. If the threshold value increases, the image quality deteriorates. In order to prevent the image quality from being degraded as much as possible, the number of control points should be as close as possible to the target number of control points. Therefore, the second (second round) and subsequent termination conditions are “the difference between the measured number of control points and the target number of control points is within a predetermined range”.
That is, the first end condition is “the measured number of control points is equal to or less than the target number of control points”. The end condition after the second (second round) is “the difference between the measured number of control points and the target number of control points is within a predetermined range”.

<第2の実施の形態>
図5は、第2の実施の形態の構成例についての概念的なモジュール構成図である。第2の実施の形態は、画質目標値を受け付けて、ベクトル化のための閾値を算出するものであり、ベクトル化モジュール510、閾値算出モジュール520、閾値記憶モジュール530、ベクトル化結果記憶モジュール540を有している。
ベクトル化モジュール510は、閾値算出モジュール520、ベクトル化結果記憶モジュール540と接続されている。ベクトル化モジュール510は、第1の実施の形態におけるベクトル化モジュール110と同等のものであり、画像を受け付け、閾値算出モジュール520から閾値を受け付けて、その閾値を用いて対象とする画像をベクトル化し、そのベクトル化処理の結果をベクトル化結果記憶モジュール540へ渡す。
閾値算出モジュール520は、ベクトル化モジュール510、閾値記憶モジュール530と接続されている。閾値算出モジュール520は、画質目標値を受け付けて、閾値記憶モジュール530に記憶されている情報を用いて閾値を算出する。そして、その算出した閾値をベクトル化モジュール510へ渡す。受け付ける画質目標値は、例えば、本実施の形態に備え付けられたタッチパネル等を用いた利用者による指示である。
<Second Embodiment>
FIG. 5 is a conceptual module configuration diagram of a configuration example according to the second embodiment. The second embodiment receives an image quality target value and calculates a threshold value for vectorization. A vectorization module 510, a threshold value calculation module 520, a threshold value storage module 530, and a vectorization result storage module 540 are provided. Have.
The vectorization module 510 is connected to the threshold calculation module 520 and the vectorization result storage module 540. The vectorization module 510 is equivalent to the vectorization module 110 in the first embodiment, receives an image, receives a threshold from the threshold calculation module 520, and vectorizes the target image using the threshold. The result of the vectorization process is passed to the vectorization result storage module 540.
The threshold calculation module 520 is connected to the vectorization module 510 and the threshold storage module 530. The threshold calculation module 520 receives the image quality target value, and calculates the threshold using information stored in the threshold storage module 530. Then, the calculated threshold value is passed to the vectorization module 510. The received image quality target value is, for example, an instruction from the user using a touch panel or the like provided in the present embodiment.

閾値記憶モジュール530は、閾値算出モジュール520と接続されている。閾値記憶モジュール530は、画質目標値と閾値のペアが記憶されている。例えば、図7に示す閾値・画質目標値テーブル700を記憶している。閾値・画質目標値テーブル700は、閾値欄710、画質目標値欄720を有している。閾値欄710は、閾値を記憶する。画質目標値欄720は、画質目標値を記憶する。画質目標値としては、定性的な番号に変換できるものであればよい。例えば、(画質1、画質2、画質3)、(高画質、中画質、低画質)等である。そして、高画質→1、中画質→2、低画質→3のように変換する。定性的な番号に変換するというのは、このことを意味している。
ベクトル化結果記憶モジュール540は、ベクトル化モジュール510と接続されている。ベクトル化結果記憶モジュール540は、第1の実施の形態におけるベクトル化結果記憶モジュール160と同等のものであり、ベクトル化モジュール510によるベクトル化結果を記憶し、それを出力する。また、出力の際に、ベクトル化結果記憶モジュール160と同等のファイル変換を行ってもよい。
The threshold value storage module 530 is connected to the threshold value calculation module 520. The threshold storage module 530 stores a pair of image quality target value and threshold. For example, a threshold / image quality target value table 700 shown in FIG. 7 is stored. The threshold / image quality target value table 700 has a threshold value column 710 and an image quality target value column 720. The threshold value column 710 stores a threshold value. The image quality target value column 720 stores the image quality target value. Any image quality target value can be used as long as it can be converted into a qualitative number. For example, (image quality 1, image quality 2, image quality 3), (high image quality, medium image quality, low image quality), and the like. Then, conversion is performed as follows: high image quality → 1, medium image quality → 2, low image quality → 3. Converting to a qualitative number means this.
The vectorization result storage module 540 is connected to the vectorization module 510. The vectorization result storage module 540 is equivalent to the vectorization result storage module 160 in the first embodiment, stores the vectorization result by the vectorization module 510, and outputs it. Further, at the time of output, file conversion equivalent to that of the vectorization result storage module 160 may be performed.

図6は、第2の実施の形態による処理例を示すフローチャートである。
ステップS602では、ベクトル化モジュール510が画像を受け付ける。
ステップS604では、閾値算出モジュール520が画質目標値を受け付ける。
ステップS606では、閾値算出モジュール520が閾値記憶モジュール530を用いて、画質目標値に対応する閾値を算出する。
ステップS608では、ベクトル化モジュール510がステップS606で算出された閾値を用いて、ステップS602で受け付けた画像のベクトル化を行う。
ステップS610では、ベクトル化結果記憶モジュール540がベクトル化結果を記憶する。
ステップS612では、ベクトル化結果記憶モジュール540がベクトル化結果を出力する。
FIG. 6 is a flowchart illustrating a processing example according to the second exemplary embodiment.
In step S602, the vectorization module 510 receives an image.
In step S604, the threshold value calculation module 520 receives an image quality target value.
In step S606, the threshold value calculation module 520 uses the threshold value storage module 530 to calculate a threshold value corresponding to the image quality target value.
In step S608, the vectorization module 510 performs vectorization of the image received in step S602 using the threshold value calculated in step S606.
In step S610, the vectorization result storage module 540 stores the vectorization result.
In step S612, the vectorization result storage module 540 outputs the vectorization result.

<第3の実施の形態(1)>
第1の実施の形態では、閾値と制御点数との関係が単調な関数であることを前提としていた。単調な関数であれば、ニュートン法などの数値演算手法を用いて、確実に目標点に到達することができる。
しかし、閾値と制御点数の関係は単調であるとは限らない。これについて、図8、図9の例を用いて説明する。このグラフは、横軸に閾値、縦軸に制御点数をとり、両者の関係を示すものであり、目標制御点数(図8、図9では目標値)とその目標制御点数に合致する閾値TPを示したものである。
まず、最初の閾値TAで点Aを得たとする。点Aは、目標制御点数より大であるとする。このとき、新たな閾値を算出し、次の点Bを得たとする。
この点Aと点Bを用いて次の閾値を算出すると、その算出した閾値はTAよりも小さな値となってしまい、真の値TPに到達することができなくなる。
<Third Embodiment (1)>
In the first embodiment, it is assumed that the relationship between the threshold value and the number of control points is a monotone function. If it is a monotonous function, the target point can be reliably reached by using a numerical calculation method such as Newton's method.
However, the relationship between the threshold value and the number of control points is not always monotonous. This will be described with reference to the examples of FIGS. In this graph, the horizontal axis represents the threshold value, and the vertical axis represents the number of control points, showing the relationship between them. The target control point number (the target value in FIGS. 8 and 9) and the threshold value TP that matches the target control point number It is shown.
First, it is assumed that the point A is obtained with the first threshold TA. It is assumed that the point A is larger than the target control point number. At this time, it is assumed that a new threshold value is calculated and the next point B is obtained.
When the next threshold value is calculated using the points A and B, the calculated threshold value is smaller than TA and cannot reach the true value TP.

そこで、第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)を求めることができる。
Therefore, in the third embodiment, the configuration is the same as the module configuration of the first embodiment, but the processing in the threshold calculation module 130 is as follows.
Here, it is assumed that there are two pairs of threshold values and control points. That is, (threshold value T1, number of control points N1), (threshold value T2, number of control points N2).
At this time, two pairs of the past threshold value and the control point number are used to determine whether or not the relationship between the threshold value and the control point number is monotonously decreasing. When the relationship between the threshold value and the number of control points is monotonously decreasing, that is, T1 ≧ T2 and N2 ≧ N1
Or
T2 ≧ T1 and N1 ≧ N2
Only in this case, the operation of the first embodiment is performed. In the previous formula, the equal sign may not be entered. The determination of whether or not the monotonic decrease may be made using three or more pairs of threshold values and control points used in the past.
If this relationship does not hold,
(1) A third threshold value T3 larger than the threshold values T1 and T2 is output to the vectorization module 110 as the next threshold value.
(2) It is assumed that the third threshold value T3 is determined in advance and stored in the threshold value / control score storage module 140.
9, the threshold calculation module 130 calculates a threshold T3 that is larger than the threshold TA at the point A and larger than the threshold at the point B. Then, the vectorization module 110 performs vectorization using the threshold value T3. As a result, the number of control points is smaller than the number of control points at point A. In other words, when the threshold value T3 is used, the relationship with the point A can be monotonously decreased, so that a thick straight line can be drawn as shown in FIG. Can do.

<第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が終了条件を満たしている値であれば終了する。
<Third Embodiment (2)>
In the third embodiment (1), the third threshold value T3 is output to the vectorization module 110 as the next threshold value, and the third threshold value is predetermined and stored in the threshold value / control score storage module 140. It was supposed to be.
However, since the monotonous phenomenon may not be realized even when the third threshold is used, the following embodiment is adopted in the third embodiment (2). This will be described with reference to the example of FIG.
First, the number N1 of control points when vectorized with the threshold T1 is acquired (point A in the example of FIG. 10). If this control point number N1 satisfies the end condition, the process ends.
Hereinafter, it is assumed that the number N1 of control points is larger than the number of target control points (target value in FIG. 10). This is because if it is smaller than the target number of control points, it is finished.
When the control point number N1 is not a value that satisfies the termination condition, the control point number N2 is acquired using a predetermined threshold value T2 (point B in the example of FIG. 10). The threshold value T2 may be determined in advance, or may be acquired by the method described in the fourth embodiment described below. If this control point number N2 is a value that satisfies the end condition, the process ends.

次に、閾値算出モジュール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つ前に用いられた閾値である。
このようにすることで、単調減少関係を保証する。
Next, the threshold value calculation module 130 determines whether or not the relationship between the threshold value T1 and the threshold value T2, the control point number N1, and the control point number N2 is monotonously decreasing. The determination method may be the same as the method described in the third embodiment (1).
In the case of monotonic decrease, the threshold value calculation module 130 calculates the next threshold value using a method equivalent to the above-described embodiment (for example, the first embodiment).
If not monotonously decreasing, the threshold calculation module 130 calculates a new threshold T3 (T3 = K × T2) by multiplying the past threshold T2 by K (where K> 1). The control point number N3 is acquired using this threshold value T3. Then, the threshold value calculation module 130 determines whether or not the relationship between the threshold values T1 and T3, the control point number N1, and the control point number N3 is monotonously decreasing. Hereinafter, i is increased until the relationship between the threshold value T1, the threshold value Ti, the control point number N1, and the control point number Ni monotonically decreases.
However,
Ti = K × T (i−1)
It is. Note that the threshold T (i−1) is a threshold used immediately before the threshold Ti.
By doing so, a monotonous decrease relationship is guaranteed.

<第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は、ベクトル化処理の回数にしたがって閾値を増大させる方向で算出するようにしてもよい。例えば、具体的には、最初は小さな倍数をかけてゆっくり変化させて、次第に大きな倍数をかけて変化の速度を速めるものである。
<Third embodiment (2-1)>
In the third embodiment (2), the relationship between the threshold value Ti and the next threshold value T (i-1) is a constant K times, but K is not necessarily a constant. That is, K may be a function K (i) of i. For example, the initial value may be doubled, the next may be three times, and the next may be eight times. That is, K (2) = 2, K (3) = 3, K (4) = 8, and the like may be used. Of course, this figure is an example.
If the value is changed at a stretch with a large value, the accuracy of the threshold estimation is lowered. Therefore, the smallest value is first multiplied. However, if the value is changed with a very small value, the desired threshold value may not be reached easily.
Therefore, the threshold calculation module 130 may calculate the threshold in a direction in which the threshold is increased according to the number of vectorization processes. For example, specifically, the change is made slowly by applying a small multiple at first, and the rate of change is increased by applying a gradually larger multiple.

<第3の実施の形態(2−2)>
第3の実施の形態(2)、(2−1)では2番目の閾値T2を用いた場合に終了条件を満たさない場合、閾値Ti(i>2)を閾値T2を用いて算出する例を示した。
しかし、予め定めた閾値を算出した閾値とする。そして、その閾値Ti(i>2)についても、予め定めておいてもよい。例えば、予め定めた複数の閾値Ti(i>2)をテーブルとして記憶しており、単調減少となるまで、テーブルから順次出力するようにしてもよい。なお、このテーブルは、閾値・制御点数記憶モジュール140が記憶する。
<Third embodiment (2-2)>
In the third embodiment (2) and (2-1), when the second threshold value T2 is used and the termination condition is not satisfied, the threshold value Ti (i> 2) is calculated using the threshold value T2. Indicated.
However, a predetermined threshold value is set as a calculated threshold value. The threshold value Ti (i> 2) may be determined in advance. For example, a plurality of predetermined threshold values Ti (i> 2) may be stored as a table, and may be sequentially output from the table until it decreases monotonously. This table is stored in the threshold / control point storage module 140.

<第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の関数(ベクトル化処理の回数に応じた値)でもよい。
<Third embodiment (2-3)>
In the third embodiment, the third embodiment (2), etc., only the example of Ti> T (i-1) is shown.
However, when iteratively obtained by the Newton method or the like, there may be a case of Ti <T (i-1).
That is, as in the example of FIG. 11, the upper limit (target value upper limit in FIG. 11) and the lower limit (target value lower limit in FIG. 11) are set, and the control point number N (i− When 1) is below the lower limit of the target number of control points, Ti <T (i-1).
Even in such a case, the relationship between the threshold value and the number of control points is set so as to monotonously decrease.
That is, when the threshold value Ti does not monotonously decrease when the threshold value Ti is used, the threshold value calculation module 130 may determine a sufficiently small threshold value in advance and use the value as the threshold value T (i + 1). Alternatively, a new threshold value T (i + 1) (T (i + 1) = K × Ti) may be calculated. However, in this case, K <1. K may be a constant or a function of i (a value corresponding to the number of times of vectorization processing).

<第4の実施の形態>
第1の実施の形態では、予め定めた最初の閾値を2つ以上記憶しておく必要があった。2つ目以降の閾値は予め定めた閾値であるため、対象とする画像とは全く関係がなく、適切な閾値である保証のないものである。第4の実施の形態は、2つ目以降の閾値を対象とする画像の特性から算出する形態である。
<Fourth embodiment>
In the first embodiment, it is necessary to store two or more predetermined initial threshold values. Since the second and subsequent threshold values are predetermined threshold values, they are completely unrelated to the target image and are not guaranteed to be appropriate threshold values. In the fourth embodiment, the second and subsequent threshold values are calculated from the characteristics of the target image.

特許文献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倍にしたときの距離に相当するとみなせる。
In the technique described in Patent Document 4, control points are determined by the following method. This will be described with reference to the example of FIG.
The solid line shown in the example of FIG. 12 is a straight line before curve approximation. The vectorization process is to approximate this straight line like a dotted curve.
First, in the example of FIG. 12A, a curve that approximates a straight line segment group (A to B) is drawn. If the distance between the line segment group and the curve is greater than or equal to the threshold, the line segment group is divided into two. The division result is an example of FIG. As in the example of FIG. 12B, the straight line segment group is divided into two (A to C) and (C to B). Vectorization processing is performed on the divided one to obtain two curves. Dividing in this way doubles the number of control points. If the threshold value is not satisfied even if it is divided into two, the curve is further divided. The curve is divided until the threshold is finally satisfied.
Here, when the threshold is finally satisfied, the distance (error) between the curve and the straight line at the time of division immediately before the division is stored. For example, in the case of the example in FIG. 12, when the threshold value is satisfied in the division of (A to C), the distance between the curve and the straight line at the time of division of (A to B) is stored.
The distance at the time of the previous division can be considered to correspond to the distance when the number of control points is halved.

そこで、第4の実施の形態では、ベクトル化処理の後に、最終的に閾値を満たすように分割できた場合、その分割の1つ手前の分割時の距離を記憶しておくようにする。
図13は、第4の実施の形態の構成例についての概念的なモジュール構成図である。第4の実施の形態は、図13の例に示すように、ベクトル化モジュール1310、制御点数計測モジュール1320、閾値算出モジュール1330、閾値・制御点数記憶モジュール1340、比較モジュール1350、距離記憶モジュール1360、代表距離算出モジュール1370、ベクトル化結果記憶モジュール1380を有している。第1の実施の形態と比較すると、距離記憶モジュール1360、代表距離算出モジュール1370が付加されたものであり、他のモジュールは第1の実施の形態の対応するモジュールと同等のものであるので説明を省略する。
Therefore, in the fourth embodiment, after the vectorization process, when the division can be finally performed so as to satisfy the threshold value, the distance at the time of division immediately before the division is stored.
FIG. 13 is a conceptual module configuration diagram of a configuration example according to the fourth embodiment. As shown in the example of FIG. 13, the fourth embodiment includes a vectorization module 1310, a control point measurement module 1320, a threshold calculation module 1330, a threshold / control point storage module 1340, a comparison module 1350, a distance storage module 1360, A representative distance calculation module 1370 and a vectorization result storage module 1380 are provided. Compared to the first embodiment, a distance storage module 1360 and a representative distance calculation module 1370 are added, and the other modules are equivalent to the corresponding modules of the first embodiment. Is omitted.

ベクトル化モジュール1310は、制御点数計測モジュール1320、閾値算出モジュール1330、距離記憶モジュール1360、ベクトル化結果記憶モジュール1380と接続されており、第1の実施の形態におけるベクトル化モジュール110と同等の処理を行った後に、ベクトル化結果と対象とする画像内の線分との誤差である距離が予め定めた条件を満たすまで、そのベクトルを分割する。つまり、ベクトル化処理の後に、ベクトルと対象の線分群との距離が閾値以下となっているか否かを判断し、その閾値を満たすようになるまでベクトルを分割して、ベクトル化処理を繰り返して行う。そして、最終的に閾値を満たすように分割できた場合、その分割の1つ手前の分割時の距離を距離記憶モジュール1360に記憶させる。
距離記憶モジュール1360は、ベクトル化モジュール1310、代表距離算出モジュール1370と接続されており、ベクトル化モジュール1310によって最終的に閾値を満たすように分割できた場合、その最終分割の1つ手前の分割における距離を記憶する。
The vectorization module 1310 is connected to the control point measurement module 1320, the threshold calculation module 1330, the distance storage module 1360, and the vectorization result storage module 1380, and performs processing equivalent to that of the vectorization module 110 in the first embodiment. After being performed, the vector is divided until the distance, which is an error between the vectorization result and the line segment in the target image, satisfies a predetermined condition. That is, after the vectorization process, it is determined whether the distance between the vector and the target line segment group is equal to or less than a threshold, the vector is divided until the threshold is satisfied, and the vectorization process is repeated. Do. And when it can divide | segment so that a threshold value may be finally satisfy | filled, the distance at the time of the division | segmentation immediately before the division | segmentation is memorize | stored in the distance storage module 1360.
The distance storage module 1360 is connected to the vectorization module 1310 and the representative distance calculation module 1370. When the vectorization module 1310 can finally divide so as to satisfy the threshold, the distance storage module 1360 Remember the distance.

代表距離算出モジュール1370は、閾値算出モジュール1330、距離記憶モジュール1360と接続されており、距離記憶モジュール1360に記憶されたこれらの距離を用いて、対象としている画像の代表値(代表距離)を算出する。代表距離としては、例えば、平均値、中央値、最頻値、最大値、最小値等、統計量として代表値として用いることのできるもののうちのいずれかを採用する。
ここで、このように定めた代表距離を閾値として使用した場合、制御点数を1/2倍にできるとする。すなわち、いまベクトル化を行ったときの閾値をT0、制御点数をN0とし、さらに、代表距離をDとする。また、閾値Tと、制御点数Nの間の関係は、N=f(T)とする。閾値T0、制御点数N0、代表距離Dには式(1)のような関係があるとする。

Figure 2011170481
この関係を図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以降についても以下同様に算出する。 The representative distance calculation module 1370 is connected to the threshold value calculation module 1330 and the distance storage module 1360, and uses these distances stored in the distance storage module 1360 to calculate the representative value (representative distance) of the target image. To do. As the representative distance, for example, any one of average values, median values, mode values, maximum values, minimum values, and the like that can be used as representative values as statistics is adopted.
Here, when the representative distance determined in this way is used as a threshold value, the number of control points can be halved. That is, the threshold value when vectorization is now performed is T0, the number of control points is N0, and the representative distance is D. The relationship between the threshold T and the number N of control points is N = f (T). Assume that the threshold T0, the number of control points N0, and the representative distance D have a relationship as shown in Expression (1).
Figure 2011170481
This relationship is illustrated in FIG. Here, a straight line from the point (T0, N0) to the point (D, N0 / 2) is drawn, and a point where this straight line intersects the target control point number is adopted as the next threshold value T1. That is, the threshold value calculation module 1330 is connected to the vectorization module 1310, the control point number measurement module 1320, the threshold value / control point number storage module 1340, the comparison module 1350, and the representative distance calculation module 1370, and the initial threshold value T0 and the initial threshold value T0. The threshold value is calculated using the number of control points N0 when the vectorization process using the symbol is performed and the representative distance D calculated by the representative distance calculation module 1370, and the calculated threshold value is passed to the vectorization module 1310.
The point (T0, N0) to the point (D, N0 / 2) may be a multi-order curve or the like in addition to a straight line. Here, the calculation method from the threshold value T0 to the threshold value T1 has been described.

図14は、第4の実施の形態による処理例を示すフローチャートである。
ステップS1402では、ベクトル化モジュール1310が画像を受け付ける。
ステップS1404では、閾値算出モジュール1330、比較モジュール1350が目標制御点数を受け付ける。
ステップS1406では、閾値算出モジュール1330が初期閾値を算出する。つまり、予め定められた初期の閾値をベクトル化モジュール1310へ出力する。なお、予め定められた初期の閾値は、閾値・制御点数記憶モジュール1340に記憶されており、これを読み出している。
ステップS1408では、ベクトル化モジュール1310がステップS1406で算出された閾値を用いて、ステップS1402で受け付けた画像を対象としてベクトル化を行う。ここでのベクトル化処理は、閾値を満たすまで(例えば、対象線分とベクトル化結果との距離が閾値以下になるまで)、前述の分割処理を行ったものである。
ステップS1410では、制御点数計測モジュール1320がベクトル化結果の制御点数を計測する。
ステップS1412では、ベクトル化結果記憶モジュール1380がベクトル化結果を記憶する。
FIG. 14 is a flowchart illustrating a processing example according to the fourth exemplary embodiment.
In step S1402, the vectorization module 1310 receives an image.
In step S1404, the threshold calculation module 1330 and the comparison module 1350 accept the target control score.
In step S1406, the threshold calculation module 1330 calculates an initial threshold. That is, a predetermined initial threshold value is output to the vectorization module 1310. The predetermined initial threshold value is stored in the threshold value / control score storage module 1340 and is read out.
In step S1408, the vectorization module 1310 performs vectorization on the image received in step S1402, using the threshold value calculated in step S1406. The vectorization processing here is the above-described division processing until the threshold is satisfied (for example, until the distance between the target line segment and the vectorization result is equal to or less than the threshold).
In step S1410, the control point measurement module 1320 measures the number of control points of the vectorization result.
In step S1412, the vectorization result storage module 1380 stores the vectorization result.

ステップS1414では、比較モジュール1350が制御点数と目標制御点数の比較をする。合致した場合(例えば、制御点数が目標制御点数以下の場合)はステップS1428へ進み、それ以外の場合(例えば、制御点数が目標制御点数より大きい場合)はステップS1416へ進む。
ステップS1416では、閾値・制御点数記憶モジュール1340が閾値算出モジュール1330から渡された制御点数を記憶する。
ステップS1418では、距離記憶モジュール1360が距離を記憶する。ここでの距離とは、ステップS1408で、ベクトル化モジュール1310がベクトル化処理を行ったときに、閾値を満たす1つ手前(つまり、ステップS1408で最終的な分割処理を行う直前)の状態における距離である。ベクトルが複数ある場合は、その数だけ距離が記憶されることになる。
ステップS1420では、代表距離算出モジュール1370が距離記憶モジュール1360に記憶されている距離を用いて、その画像における代表距離を算出する。
In step S1414, the comparison module 1350 compares the number of control points with the target number of control points. If they match (for example, if the number of control points is equal to or less than the target number of control points), the process proceeds to step S1428; otherwise (for example, if the number of control points is greater than the target number of control points), the process proceeds to step S1416.
In step S 1416, the threshold / control score storage module 1340 stores the control scores transferred from the threshold calculation module 1330.
In step S1418, the distance storage module 1360 stores the distance. The distance here is a distance in a state just before the threshold value is satisfied when the vectorization module 1310 performs the vectorization process in step S1408 (that is, immediately before the final division process is performed in step S1408). It is. When there are a plurality of vectors, the number of distances is stored.
In step S1420, the representative distance calculation module 1370 calculates the representative distance in the image using the distance stored in the distance storage module 1360.

ステップS1422では、閾値算出モジュール1330が新たな閾値を算出する。つまり、ステップS1420で算出された代表距離、閾値・制御点数記憶モジュール1340に記憶されている閾値と制御点数とのペアを用いて、目標制御点数に合致すると推定される次の閾値を算出する。
ステップS1424では、閾値・制御点数記憶モジュール1340がステップS1422で算出された閾値を記憶する。
ステップS1426では、ベクトル化モジュール1310が新たな閾値を用いてベクトル化処理を再度行う。そして、ステップS1410へ戻る。ステップS1410からステップS1426までの処理をステップS1414で合致するまで反復する。
ステップS1428では、比較モジュール1350の指示にしたがってベクトル化結果記憶モジュール1380がベクトル化結果を出力する。
In step S1422, the threshold value calculation module 1330 calculates a new threshold value. That is, using the representative distance calculated in step S1420, the threshold value / control score storage module 1340, and the threshold value / control score pair, the next threshold value estimated to match the target control score value is calculated.
In step S1424, the threshold / control score storage module 1340 stores the threshold calculated in step S1422.
In step S1426, the vectorization module 1310 performs the vectorization process again using the new threshold value. Then, the process returns to step S1410. The processes from step S1410 to step S1426 are repeated until they are matched in step S1414.
In step S1428, the vectorization result storage module 1380 outputs the vectorization result according to the instruction of the comparison module 1350.

図16を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図16に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1617と、プリンタなどのデータ出力部1618を備えたハードウェア構成例を示している。   A hardware configuration example of the image processing apparatus according to the present embodiment will be described with reference to FIG. The configuration shown in FIG. 16 is configured by a personal computer (PC), for example, and shows a hardware configuration example including a data reading unit 1617 such as a scanner and a data output unit 1618 such as a printer.

CPU(Central Processing Unit)1601は、前述の実施の形態において説明した各種のモジュール、すなわち、ベクトル化モジュール110、制御点数計測モジュール120、閾値算出モジュール130、比較モジュール150、代表距離算出モジュール1370等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。   A CPU (Central Processing Unit) 1601 includes various modules described in the above-described embodiments, that is, the vectorization module 110, the control point measurement module 120, the threshold calculation module 130, the comparison module 150, the representative distance calculation module 1370, and the like. It is a control part which performs the process according to the computer program which described the execution sequence of each module.

ROM(Read Only Memory)1602は、CPU1601が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1603は、CPU1601の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1604により相互に接続されている。   A ROM (Read Only Memory) 1602 stores programs, calculation parameters, and the like used by the CPU 1601. A RAM (Random Access Memory) 1603 stores programs used in the execution of the CPU 1601, parameters that change as appropriate during the execution, and the like. These are connected to each other by a host bus 1604 including a CPU bus.

ホストバス1604は、ブリッジ1605を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1606に接続されている。   The host bus 1604 is connected to an external bus 1606 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 1605.

キーボード1608、マウス等のポインティングデバイス1609は、操作者により操作される入力デバイスである。ディスプレイ1610は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。   A keyboard 1608 and a pointing device 1609 such as a mouse are input devices operated by an operator. The display 1610 includes a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various types of information as text or image information.

HDD(Hard Disk Drive)1611は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1601によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象とする画像、ベクトル化の結果、閾値・制御点数テーブル300、閾値・画質目標値テーブル700などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。   An HDD (Hard Disk Drive) 1611 includes a hard disk, drives the hard disk, and records or reproduces a program executed by the CPU 1601 and information. The hard disk stores a target image, a vectorization result, a threshold / control score table 300, a threshold / image quality target value table 700, and the like. Further, various computer programs such as various other data processing programs are stored.

ドライブ1612は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1613に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1607、外部バス1606、ブリッジ1605、及びホストバス1604を介して接続されているRAM1603に供給する。リムーバブル記録媒体1613も、ハードディスクと同様のデータ記録領域として利用可能である。   The drive 1612 reads data or a program recorded on a removable recording medium 1613 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and the data or program is read out from the interface 1607 and the external bus 1606. , A bridge 1605, and a RAM 1603 connected via the host bus 1604. The removable recording medium 1613 can also be used as a data recording area similar to the hard disk.

接続ポート1614は、外部接続機器1615を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1614は、インタフェース1607、及び外部バス1606、ブリッジ1605、ホストバス1604等を介してCPU1601等に接続されている。通信部1616は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1617は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1618は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。   The connection port 1614 is a port for connecting an external connection device 1615 and has a connection unit such as USB, IEEE1394. The connection port 1614 is connected to the CPU 1601 and the like via the interface 1607, the external bus 1606, the bridge 1605, the host bus 1604, and the like. A communication unit 1616 is connected to a network and executes data communication processing with the outside. The data reading unit 1617 is a scanner, for example, and executes document reading processing. The data output unit 1618 is a printer, for example, and executes document data output processing.

なお、図16に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図16に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図16に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。   Note that the hardware configuration of the image processing apparatus shown in FIG. 16 shows one configuration example, and the present embodiment is not limited to the configuration shown in FIG. 16, and the modules described in this embodiment are executed. Any configuration is possible. For example, some modules may be configured with dedicated hardware (for example, Application Specific Integrated Circuit (ASIC), etc.), and some modules are in an external system and connected via a communication line In addition, a plurality of systems shown in FIG. 16 may be connected to each other via communication lines so as to cooperate with each other. Further, it may be incorporated in a copying machine, a fax machine, a scanner, a printer, a multifunction machine (an image processing apparatus having any two or more functions of a scanner, a printer, a copying machine, a fax machine, etc.).

なお、前述の各種の実施の形態の説明では、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
なお、前述の各種の実施の形態を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む)、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。例えば、第1の実施の形態、第3の実施の形態において、目標制御点を受け付けているが、第2の実施の形態のように、画質目標値を受け付けるようにしてもよい。この場合、画質と制御点数との対応関係を予め定めて記憶しているテーブルを用意しておき、受け付けた画質目標値に対応する制御点数をそのテ−ブルを利用して抽出し、その後は、前述の第1の実施の形態、第3の実施の形態による処理を行うようにしてもよい。
なお、前述の第4の実施の形態においては、2番目(2巡目)以降の閾値を算出し得るとしたが、2番目(2巡目)のみに限定して代表距離を用いた閾値の算出処理としてもよい。
In the above description of the various embodiments, the description has been made using mathematical expressions, but the mathematical expressions include those equivalent to the mathematical expressions. The equivalent includes not only the mathematical formula itself, but also transformation of the mathematical formula to the extent that the final result is not affected, or solving the mathematical formula by an algorithmic solution.
Further, in the description of the above-described embodiment, “more than”, “less than”, “greater than”, and “less than (less than)” in a comparison with a predetermined value contradicts the combination. As long as the above does not occur, “larger”, “smaller (less than)”, “more than”, and “less than” may be used.
Note that the various embodiments described above may be combined (for example, a module in one embodiment may be applied to another embodiment, replaced, etc.), and the background art may be used as the processing content of each module. You may employ | adopt the technique demonstrated by. For example, the target control point is received in the first embodiment and the third embodiment, but the image quality target value may be received as in the second embodiment. In this case, a table storing the correspondence between the image quality and the number of control points is prepared in advance, and the number of control points corresponding to the received image quality target value is extracted using the table, and thereafter The processing according to the first embodiment and the third embodiment described above may be performed.
In the above-described fourth embodiment, the second and subsequent threshold values can be calculated. However, the threshold value using the representative distance is limited to the second (second cycle) only. It is good also as a calculation process.

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
The program described above may be provided by being stored in a recording medium, or the program may be provided by communication means. In that case, for example, the above-described program may be regarded as an invention of a “computer-readable recording medium recording the program”.
The “computer-readable recording medium on which a program is recorded” refers to a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, such as “DVD-R, DVD-RW, DVD-RAM,” and DVD + RW. Standard “DVD + R, DVD + RW, etc.”, compact disc (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), Blu-ray disc ( Blu-ray Disc (registered trademark), magneto-optical disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM), flash Includes memory, random access memory (RAM), etc. .
The program or a part of the program may be recorded on the recording medium for storage or distribution. Also, by communication, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wired network used for the Internet, an intranet, an extranet, etc., or wireless communication It may be transmitted using a transmission medium such as a network or a combination of these, or may be carried on a carrier wave.
Furthermore, the program may be a part of another program, or may be recorded on a recording medium together with a separate program. Moreover, it may be divided and recorded on a plurality of recording media. Further, it may be recorded in any manner as long as it can be restored, such as compression or encryption.

110、510、1310…ベクトル化モジュール
120、1320…制御点数計測モジュール
130、520、1330…閾値算出モジュール
140、1340…閾値・制御点数記憶モジュール
150、1350…比較モジュール
160、540、1380…ベクトル化結果記憶モジュール
530…閾値記憶モジュール
1360…距離記憶モジュール
1370…代表距離算出モジュール
110, 510, 1310 ... Vectorization module 120, 1320 ... Control point measurement module 130, 520, 1330 ... Threshold calculation module 140, 1340 ... Threshold / control point storage module 150, 1350 ... Comparison module 160, 540, 1380 ... Vectorization Result storage module 530 ... Threshold storage module 1360 ... Distance storage module 1370 ... Representative distance calculation module

Claims (6)

閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
を具備し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理装置。
Vectorizing means for vectorizing an image using a threshold;
Control point number measuring means for measuring the number of control points resulting from vectorization by the vectorization means;
Threshold value for calculating a threshold value based on the number of control points measured by the control point number measuring means when the number of control points measured by the control point number measuring means does not match the target number of control points A calculation means,
The image processing apparatus characterized in that the vectorization means vectorizes the image using the threshold value calculated by the threshold value calculation means.
閾値と制御点の数とを対応させて記憶する記憶手段
をさらに具備し、
前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出する
ことを特徴とする請求項1に記載の画像処理装置。
Storage means for storing the threshold value and the number of control points in association with each other;
The threshold value calculating unit calculates a threshold value corresponding to a target number of control points using a correspondence between the threshold value stored in the storage unit and the number of control points. The image processing apparatus described.
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出する
ことを特徴とする請求項1又は2に記載の画像処理装置。
The threshold calculation means determines whether or not the relationship between the threshold and the number of control points is monotonously decreasing, and calculates the threshold using a predetermined threshold when the relationship between the threshold and the number of control points is not monotonously decreased. The image processing apparatus according to claim 1 or 2.
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出する
ことを特徴とする請求項1又は2に記載の画像処理装置。
The threshold value calculation means determines whether or not the relationship between the threshold value and the number of control points is monotonically decreasing. If the relationship between the threshold value and the control point number is not monotonously decreased, the threshold value calculating unit calculates the next threshold value using the past threshold value. The image processing apparatus according to claim 1, wherein the image processing apparatus is an image processing apparatus.
前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、
前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その1つ手前の分割における誤差を記憶する誤差記憶手段と、
前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段
をさらに具備し、
前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出する
ことを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
The vectorization means divides the vector until an error between the vector and a line segment in the image satisfies a predetermined condition,
Error storage means for storing an error in the previous division when the predetermined condition is satisfied by the vectorization means;
Representative error calculating means for calculating a representative value of errors stored in the error storage means,
The image processing apparatus according to any one of claims 1 to 4, wherein the threshold value calculation unit calculates a next threshold value using the representative value calculated by the representative error calculation unit.
コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
として機能させるための画像処理プログラムであって、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理プログラム。
Computer
Vectorizing means for vectorizing an image using a threshold;
Control point number measuring means for measuring the number of control points resulting from vectorization by the vectorization means;
Threshold value for calculating a threshold value based on the number of control points measured by the control point number measuring means when the number of control points measured by the control point number measuring means does not match the target number of control points An image processing program for functioning as a calculation means,
The image processing program characterized in that the vectorization means vectorizes the image using the threshold value calculated by the threshold value calculation means.
JP2010032066A 2010-02-17 2010-02-17 Image processing apparatus and image processing program Expired - Fee Related JP5549261B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010032066A JP5549261B2 (en) 2010-02-17 2010-02-17 Image processing apparatus and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010032066A JP5549261B2 (en) 2010-02-17 2010-02-17 Image processing apparatus and image processing program

Publications (2)

Publication Number Publication Date
JP2011170481A true JP2011170481A (en) 2011-09-01
JP5549261B2 JP5549261B2 (en) 2014-07-16

Family

ID=44684566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010032066A Expired - Fee Related JP5549261B2 (en) 2010-02-17 2010-02-17 Image processing apparatus and image processing program

Country Status (1)

Country Link
JP (1) JP5549261B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017524145A (en) * 2014-07-25 2017-08-24 ジェネラル インピアンティ ソシエタ レスポンサビリタ リミタータGeneral Impianti S.R.L. Method for obtaining data on the upper profile of a railroad track or switch element
WO2020225887A1 (en) * 2019-05-08 2020-11-12 日本電信電話株式会社 Point cloud analysis device, estimation device, point cloud analysis method, and program
WO2020225890A1 (en) * 2019-05-08 2020-11-12 日本電信電話株式会社 Point group analysis device, method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03144865A (en) * 1989-10-31 1991-06-20 Nec Corp Method and device for approximating line picture
JPH0962855A (en) * 1995-08-28 1997-03-07 Canon Inc Information processor, information processing method and storage medium
JP2005235172A (en) * 2004-01-20 2005-09-02 Matsushita Electric Ind Co Ltd Drawing device and drawing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03144865A (en) * 1989-10-31 1991-06-20 Nec Corp Method and device for approximating line picture
JPH0962855A (en) * 1995-08-28 1997-03-07 Canon Inc Information processor, information processing method and storage medium
JP2005235172A (en) * 2004-01-20 2005-09-02 Matsushita Electric Ind Co Ltd Drawing device and drawing method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017524145A (en) * 2014-07-25 2017-08-24 ジェネラル インピアンティ ソシエタ レスポンサビリタ リミタータGeneral Impianti S.R.L. Method for obtaining data on the upper profile of a railroad track or switch element
WO2020225887A1 (en) * 2019-05-08 2020-11-12 日本電信電話株式会社 Point cloud analysis device, estimation device, point cloud analysis method, and program
JPWO2020225887A1 (en) * 2019-05-08 2020-11-12
WO2020225890A1 (en) * 2019-05-08 2020-11-12 日本電信電話株式会社 Point group analysis device, method, and program
JP7235105B2 (en) 2019-05-08 2023-03-08 日本電信電話株式会社 Point group analysis device, estimation device, point group analysis method, and program
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

Also Published As

Publication number Publication date
JP5549261B2 (en) 2014-07-16

Similar Documents

Publication Publication Date Title
JP6188400B2 (en) Image processing apparatus, program, and image processing method
JP4726257B2 (en) Image processing method and apparatus
JP2007086954A (en) Character recognition processing device, character recognition processing method, and computer program
US20140226904A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
JP2010186389A (en) Apparatus and program for processing information
JP4791295B2 (en) Ruled line extraction program, ruled line extraction device, ruled line extraction method
JP5549261B2 (en) Image processing apparatus and image processing program
JP3099771B2 (en) Character recognition method and apparatus, and recording medium storing character recognition program
US7903874B2 (en) Ruled-line-projection extracting apparatus, ruled-line projection extracting method, and computer product
KR101887929B1 (en) Image Processing Apparatus, Image Processing Method, Computer Readable Recording Medium and Image Forming Apparatus
US8391606B2 (en) Image processing device, image processing method, and computer readable medium
JP5365440B2 (en) Image processing apparatus and image processing program
US8805076B2 (en) Image processing apparatus, image processing method and computer readable medium
JP5742283B2 (en) Image processing apparatus and image processing program
JP5489894B2 (en) Image processing apparatus and image processing program
JP5083162B2 (en) Image data determination apparatus, image data determination system, and program
JP6003375B2 (en) Image processing apparatus and image processing program
JP5821648B2 (en) Information processing apparatus and information processing program
JP2010152457A (en) Image processing device and image processing program
JP6281309B2 (en) Image processing apparatus and image processing program
JP5083551B2 (en) Data processing apparatus, outline data generation apparatus, data processing program, outline data generation program
JP5062076B2 (en) Information processing apparatus and information processing program
US20130051688A1 (en) Image processing apparatus, non-transitory computer readable medium storing image processing program, and image processing method
JP5853495B2 (en) Image processing apparatus and image processing program
JP2016053797A (en) Image processor and image processing program

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