Nothing Special   »   [go: up one dir, main page]

JP3883993B2 - Image processing apparatus, method, and program - Google Patents

Image processing apparatus, method, and program Download PDF

Info

Publication number
JP3883993B2
JP3883993B2 JP2003303000A JP2003303000A JP3883993B2 JP 3883993 B2 JP3883993 B2 JP 3883993B2 JP 2003303000 A JP2003303000 A JP 2003303000A JP 2003303000 A JP2003303000 A JP 2003303000A JP 3883993 B2 JP3883993 B2 JP 3883993B2
Authority
JP
Japan
Prior art keywords
arc
segment
detection
straight line
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003303000A
Other languages
Japanese (ja)
Other versions
JP2005071243A (en
Inventor
和男 寅市
文夫 河副
浩二 中村
ポール・ダブリュー・エイチ・カン
泰男 諸岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
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 Japan Science and Technology Agency, National Institute of Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Priority to JP2003303000A priority Critical patent/JP3883993B2/en
Publication of JP2005071243A publication Critical patent/JP2005071243A/en
Application granted granted Critical
Publication of JP3883993B2 publication Critical patent/JP3883993B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、入力画像の輪郭線形状を関数化処理する際にその前処理として輪郭線形状に含まれる直線や円弧等の特定形状の検出を行う画像処理装置、方法およびプログラムに関する。   The present invention relates to an image processing apparatus, method, and program for detecting a specific shape such as a straight line or an arc included in a contour shape as preprocessing when the contour shape of an input image is functionalized.

情報技術の進歩により、デスクトップパブリッシング(DTP)、テレビジョン放送、書籍などの画像を扱う技術分野の進展は著しく、より高精細、高美麗さのニーズも高まっている。また、パーソナルコンピュータとそれを取り巻く種々のデバイスの普及により、デジタル画像の高精細化、処理の高速化が進展し、特にJPEG、GIF、PNGなどに代表される画像の圧縮、拡大・縮小等の画像変換技術の進展は目覚しい。   Advances in information technology have made remarkable progress in the technical fields that handle images such as desktop publishing (DTP), television broadcasting, and books, and the need for higher definition and beauty is also increasing. In addition, with the spread of personal computers and various devices surrounding them, digital images have become higher in definition and higher in processing speed. In particular, image compression, enlargement / reduction, and the like represented by JPEG, GIF, PNG, etc. The progress of image conversion technology is remarkable.

しかし、これらの一般的なJPEG、GIF、PNGに代表されるピクセル符号化方式では、拡大時にジャギーノイズを生じるなど、画質が劣化してしまうため、関数符号化方式が提案されている。画像の輪郭を追跡し、それを関数近似することによって、ピクセル符号化画像を関数符号化画像へ自動的に変換する手法の研究が行われている(例えば、特許文献1参照。)。   However, pixel encoding methods represented by these general JPEG, GIF, and PNG have proposed a function encoding method because image quality deteriorates, for example, jaggy noise occurs during enlargement. Research has been conducted on a method of automatically converting a pixel-encoded image into a function-encoded image by tracking the contour of the image and approximating it (see, for example, Patent Document 1).

例えば、文字、イラスト、ロゴマークといった画像をフルーエンシ関数系により高精度に関数化することができる。フルーエンシ情報理論では、信号の滑らかさの基準を示す連続微分可能性に基づいたパラメータmを用いて信号空間を類別している。m次のフルーエンシ関数は、(m−2)回のみ連続微分可能な(m−1)次の区分的多項式から構成されている。画像関数近似では、輪郭線はその形状によった種類の関数を用いて近似される。m=2、m=3、m=∞のフルーエンシ関数はそれぞれ、直線、自由曲線、円弧を表現するのに用いられる。
特開2001−51670号公報(第5−13頁、図1−11)
For example, images such as characters, illustrations, and logo marks can be functionalized with high accuracy by a fluency function system. In the fluency information theory, the signal space is categorized using a parameter m based on the continuous differentiability indicating the standard of signal smoothness. The m-th order fluency function is composed of a (m-1) th order piecewise polynomial that can be continuously differentiated only (m-2) times. In the image function approximation, the contour line is approximated using a function of a type depending on its shape. The fluency functions of m = 2, m = 3, and m = ∞ are used to represent a straight line, a free curve, and an arc, respectively.
Japanese Patent Laying-Open No. 2001-51670 (page 5-13, FIG. 1-11)

ところで、上述した特許文献1に開示された手法では、輪郭線の形状を関数化処理する前処理として、明らかに直線と判断される部分を直線区間として検出し、このような直線と判断される部分が隣接する場合にはこれらの隣接部分を一つにして直線区間を延長する処理を行っている。このように、輪郭線の一部を構成する短い直線区間を延長し、輪郭線形状と直線との誤差が少ない場合にはこの直線区間を徐々に伸ばしていく方法では、誤差によって直線でないと判断される短い区間があると、その周辺が直線区間であっても、全体が一つの直線区間とは判断されないことになり、誤差の影響を受けやすいため、単一形状の長い区間検出が難しいという問題があった。検出される単一形状の区間は、長ければ長いほど、データ量の削減等の観点からは、その後に行われる近似関数の決定において有利である。また、直線区間の検出だけでなく、円弧区間を検出する場合にも同様の問題がある。   By the way, in the method disclosed in Patent Document 1 described above, as a pre-processing for functionalizing the shape of the contour line, a portion that is clearly determined as a straight line is detected as a straight line section, and is determined as such a straight line. When the portions are adjacent to each other, a process for extending the straight section by combining these adjacent portions is performed. In this way, when a short straight line section that constitutes a part of the contour line is extended and the error between the contour line shape and the straight line is small, the straight line section is gradually extended. If there is a short section, even if the surrounding area is a straight section, the whole is not judged as one straight section, and it is easy to detect a long section of a single shape because it is susceptible to errors. There was a problem. The longer the section of a single shape that is detected, the more advantageous in determining an approximate function that is performed thereafter from the viewpoint of reducing the amount of data. In addition to detecting a straight section, there is a similar problem when detecting an arc section.

本発明は、このような点に鑑みて創作されたものであり、その目的は、画素列に含まれる単一形状の長い区間検出を行うことができる画像処理装置、方法およびプログラムを提供することにある。   The present invention was created in view of the above points, and an object thereof is to provide an image processing apparatus, method, and program capable of detecting a long section of a single shape included in a pixel column. It is in.

上述した課題を解決するために、本発明の画像処理装置は、画像の入力を行う画像入力手段と、画像入力手段によって入力された画像の形状を示す複数のセグメントを抽出するセグメント抽出手段と、セグメント抽出手段によって抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する関数区間検出手段とを備えている。   In order to solve the above-described problems, an image processing apparatus of the present invention includes an image input unit that inputs an image, a segment extraction unit that extracts a plurality of segments indicating the shape of an image input by the image input unit, Function section detection that detects the section corresponding to the approximate function by reducing the segment length for the segment extracted by the segment extraction means, using the start and end points of this segment as the initial state until the error falls below the reference value Means.

また、本発明の画像処理方法は、画像の入力を行う第1のステップと、入力された画像の形状を示す複数のセグメントを抽出する第2のステップと、抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する第3のステップとを有している。   Further, the image processing method of the present invention includes a first step of inputting an image, a second step of extracting a plurality of segments indicating the shape of the input image, and the extracted segment. And a third step of detecting a section corresponding to the approximate function by reducing the segment length until the error becomes equal to or less than the reference value with the start point and end point of the segment as an initial state.

また、本発明の画像処理プログラムは、コンピュータを、画像の入力を行う画像入力手段と、画像入力手段によって入力された画像の形状を示す複数のセグメントを抽出するセグメント抽出手段と、セグメント抽出手段によって抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、近似関数に対応する区間を検出する関数区間検出手段として機能させる。   The image processing program according to the present invention includes a computer, an image input unit that inputs an image, a segment extraction unit that extracts a plurality of segments indicating the shape of an image input by the image input unit, and a segment extraction unit. With respect to the extracted segment, with the start and end points of this segment as the initial state, the segment length is decreased until the error becomes equal to or smaller than the reference value, and the segment is made to function as a function section detecting unit that detects a section corresponding to the approximate function. .

このように、画像の形状を示す各セグメントについてセグメント全体を初期状態として誤差が少なくなるまで徐々にセグメントを短くすることにより近似関数に対応する区間の検出が行われるため、近似関数に対応する短い区間を検出した後にこの区間を徐々に伸ばす場合に比べて、近似関数に対応する単一形状の長い区間を検出することが可能になる。   In this manner, since the segment corresponding to the approximate function is detected by gradually shortening the segment until the error is reduced with the entire segment as an initial state for each segment indicating the shape of the image, the short corresponding to the approximate function Compared to the case where the section is gradually extended after detecting the section, it is possible to detect a long section having a single shape corresponding to the approximate function.

また、上述したセグメント抽出手段は、画像の輪郭線に対応する画素列に含まれる接合点を抽出する接合点抽出手段と、接合点抽出手段によって抽出された接合点を境界として、画素列を複数のセグメントに分割するセグメント分割手段とを有することが望ましい。これにより、画像の輪郭線に含まれる近似関数に対応する区間をできるだけ長い状態で検出することができる。   In addition, the above-described segment extraction unit includes a junction point extraction unit that extracts a junction point included in the pixel column corresponding to the contour line of the image, and a plurality of pixel columns with the junction point extracted by the junction point extraction unit as a boundary. It is desirable to have segment dividing means for dividing into segments. Thereby, the section corresponding to the approximate function included in the contour line of the image can be detected in the longest possible state.

また、上述した接合点抽出手段は、画素列の前後の配置に基づいて、明らかな角点に相当する画素を接合点として抽出することが望ましい。明らかな角点のみを接合点として抽出することにより、接合点の設定位置が不適切であったために単一形状の長い区間が誤って分断されることを防止することができる。   Moreover, it is desirable that the junction point extraction unit described above extracts pixels corresponding to obvious corner points as junction points based on the arrangement of pixels before and after. By extracting only apparent corner points as joint points, it is possible to prevent a long section of a single shape from being erroneously divided due to an inappropriate joint point setting position.

また、上述した関数区間検出手段によって区間検出が行われる近似関数は直線であることが望ましい。これにより、画像の形状に含まれる長い直線部分の検出が可能になる。また、上述した関数区間検出手段によって区間検出が行われる近似関数は円弧であることが望ましい。これにより、画像の形状に含まれる長い円弧部分の検出が可能になる。   Moreover, it is desirable that the approximate function for which section detection is performed by the above-described function section detection means is a straight line. Thereby, it is possible to detect a long straight line portion included in the shape of the image. Further, it is desirable that the approximate function for which the section detection is performed by the above-described function section detecting means is a circular arc. As a result, a long arc portion included in the shape of the image can be detected.

また、上述した関数区間検出手段によって区間検出が行われる近似関数は直線と円弧であり、複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とが別々に行われることが望ましい。これにより、画像の形状に含まれる長い直線部分と長い円弧部分を検出することが可能になり、それぞれの検出結果を用いた最適な関数化処理を行うことができる。特に、上述した関数区間検出手段によって検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて関数化処理を行う関数化処理手段をさらに備えることが望ましい。これにより、自由曲線よりも円弧や直線を優先させて関数化処理を行うことにより、関数化処理によるさらなるデータ量の削減が可能になる。また、上述した関数化処理手段は、関数区間検出手段によって検出された円弧と直線に共通の画素が含まれている場合に、円弧を優先させて関数化処理を行うことが望ましい。円弧は短い直線の集まりとして表現することもできるため、円弧を優先させることにより、精度の高い関数化処理を行うことが可能になる。   In addition, the approximation functions for which section detection is performed by the above-described function section detection means are straight lines and arcs, and for each of a plurality of segments, section detection corresponding to the straight lines and section detection corresponding to the arcs are performed separately. Is desirable. Accordingly, it is possible to detect a long straight line portion and a long arc portion included in the shape of the image, and it is possible to perform an optimum functionalization process using each detection result. In particular, it further includes a functionalization processing means for performing functionalization processing by applying an arc, a straight line, and a free curve in the order of the arc, straight line, and the portion other than the arc and the straight line detected by the above-described function section detection means. Is desirable. As a result, by performing function processing by giving priority to arcs and straight lines over free curves, it is possible to further reduce the amount of data by function processing. Further, it is preferable that the functionalization processing unit described above performs the functionalization processing by giving priority to the circular arc when the common pixel is included in the circular arc and the straight line detected by the functional section detection unit. Since an arc can also be expressed as a collection of short straight lines, it is possible to perform highly accurate function processing by giving priority to the arc.

また、上述した関数区間検出手段は、セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点および終点を結ぶ直線との間の誤差が基準値を超える場合には検出候補を短くし、反対に誤差が基準値以下になった場合には検出候補を長くすることにより最終的に決定された検出候補を直線に対応する区間として検出することが望ましい。これにより、次第にセグメントに含まれる直線部分を絞っていって最終的に検出可能な最大長の直線部分を検出することが可能になる。   The function section detecting means described above sets all or part of the segments as detection candidates, and if the error between this detection candidate and the straight line connecting the start point and the end point exceeds the reference value, the detection candidate is selected. On the contrary, when the error is equal to or smaller than the reference value, it is desirable to detect the finally determined detection candidate as a section corresponding to a straight line by lengthening the detection candidate. As a result, it is possible to gradually narrow down the straight line portion included in the segment and detect the longest straight line portion that can be finally detected.

また、上述した関数区間検出手段は、セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点、終点およびこれら以外の中間点を通る円弧との間の誤差が基準値を超える場合には検出候補を短くし、反対に誤差が基準値以下になった場合には検出候補を長くすることにより最終的に決定された検出候補を円弧に対応する区間として検出することが望ましい。これにより、次第にセグメントに含まれる円弧部分を絞っていって最終的に検出可能な最大長の円弧部分を検出することが可能になる。   The above-described function section detection means sets all or part of the segments as detection candidates, and the error between the detection candidate and the arc passing through the start point, end point, and other intermediate points exceeds the reference value. In this case, it is desirable to detect the detection candidate finally determined as a section corresponding to the arc by shortening the detection candidate and conversely increasing the detection candidate when the error is equal to or less than the reference value. As a result, it is possible to gradually narrow down the arc part included in the segment and detect the arc part of the maximum length that can be finally detected.

また、上述した関数区間検出手段は、それまでの検出候補の長さをLとしたときに、L/2だけ検出候補の長さを長くあるいは短くすることが望ましい。これにより、最終的に直線部分あるいは円弧部分を検出するまでの検出候補の長さを変更する回数の削減が可能になり、直線部分あるいは円弧部分の検出に要する時間を短縮することができる。   Further, it is desirable that the above-described function section detecting means lengthens or shortens the detection candidate by L / 2, where L is the length of the detection candidate so far. Thereby, it is possible to reduce the number of times of changing the length of the detection candidate until the straight line portion or the arc portion is finally detected, and the time required for detecting the straight portion or the arc portion can be shortened.

また、上述した関数区間検出手段は、検出候補を構成する各画素と検出対象となる近似関数との距離の二乗の平均値e1を誤差として計算することが望ましい。平均二乗誤差e1によって誤差の大小を評価することにより、画像の読み取り等において発生するノイズの影響を少なくすることができる。   Further, it is desirable that the above-described function section detecting means calculates an average value e1 of the square of the distance between each pixel constituting the detection candidate and the approximate function to be detected as an error. By evaluating the magnitude of the error based on the mean square error e1, it is possible to reduce the influence of noise generated in image reading or the like.

また、上述した関数区間検出手段は、平均値e1とともに、検出候補を構成する各画素と検出対象となる近似関数との距離の二乗の最大値e2を誤差として計算することが望ましい。検出対象となる直線部分や円弧部分を長くすればするほど、これらの近似関数の形状に一致しない局所的な特異形状があっても平均二乗誤差e1が小さくなるため、この特異形状部分が無視されて関数化処理が行われやすくなる。しかし、最大二乗誤差e2が考慮されるため、局所的な特異形状が無視されることがなく、精度の高い関数化処理を行うことができる。   Further, it is desirable that the above-described function section detecting means calculates the maximum value e2 of the square of the distance between each pixel constituting the detection candidate and the approximate function to be detected as an error together with the average value e1. The longer the straight line portion or arc portion to be detected, the smaller the mean square error e1 even if there is a local singular shape that does not match the shape of these approximate functions, so this singular shape portion is ignored. It becomes easy to perform functionalization processing. However, since the maximum square error e2 is taken into account, the local singular shape is not ignored, and highly accurate functionalization processing can be performed.

以下、本発明を適用した一実施形態の画像処理装置について、図面に基づいて詳細に説明する。   Hereinafter, an image processing apparatus according to an embodiment to which the present invention is applied will be described in detail with reference to the drawings.

図1は、一実施形態の画像処理装置の構成を示す図である。図1に示すように、本実施形態の画像処理装置は、画像処理演算部100、スキャナ200、キーボード210、マウス212、ディスプレイ装置220、プリンタ230を含んで構成されている。   FIG. 1 is a diagram illustrating a configuration of an image processing apparatus according to an embodiment. As shown in FIG. 1, the image processing apparatus according to this embodiment includes an image processing calculation unit 100, a scanner 200, a keyboard 210, a mouse 212, a display device 220, and a printer 230.

スキャナ200は、ロゴマーク等の被写体を光学的に読み取って、白黒の二値画像を生成する。この生成された二値画像は、画像処理演算部100に入力される。キーボード210およびマウス212は、画像処理演算部100に対して利用者が各種の操作指示を行うために用いられる。例えば、スキャナ200を用いた画像取込の操作指示や、その後の関数化処理の演算開始指示、関数化処理された画像データから原画像への復元指示、復元の際の拡大倍率等がキーボード210やマウス212を用いて行われる。   The scanner 200 optically reads a subject such as a logo mark and generates a monochrome binary image. The generated binary image is input to the image processing calculation unit 100. The keyboard 210 and the mouse 212 are used by the user to give various operation instructions to the image processing calculation unit 100. For example, an operation instruction for image capture using the scanner 200, a calculation start instruction for subsequent functionalization processing, a restoration instruction from the functionalized image data to the original image, an enlargement magnification at the time of restoration, and the like are displayed on the keyboard 210. Or using the mouse 212.

ディスプレイ装置220は、各種の操作画面や、取り込んだ画像および関数化処理された画像データを用いて原画像を復元した結果等を表示する。プリンタ230は、復元された所定倍率の原画像を所定サイズの紙に印刷する。   The display device 220 displays various operation screens, results of restoring the original image using the captured image and the functionalized image data, and the like. The printer 230 prints the restored original image with a predetermined magnification on paper of a predetermined size.

画像処理演算部100は、入力画像に対して関数化処理を行うとともに、この関数化されたデータに基づいて画像を生成する処理を行う。このために、画像処理演算部100は、画像格納部110、画素列追跡部120、接合点抽出部130、セグメント分割部140、直線検出部150、円弧検出部160、関数化処理部170、出力画像生成部180を備えている。この画像処理演算部100は、CPU、ROM、RAMおよびハードディスク装置を備えたコンピュータによって実現することが可能であり、ROM、RAMあるいはハードディスク装置に格納された画像処理プログラムをCPUで実行することにより、画素列追跡部120、接合点抽出部130、セグメント分割部140、直線検出部150、円弧検出部160、関数化処理部170、出力画像生成部180の各機能が実現される。また、画像格納部110は、主にハードディスク装置によって実現される。   The image processing calculation unit 100 performs a functionalization process on the input image and performs a process of generating an image based on the functionalized data. For this purpose, the image processing calculation unit 100 includes an image storage unit 110, a pixel row tracking unit 120, a joint point extraction unit 130, a segment division unit 140, a straight line detection unit 150, an arc detection unit 160, a functionalization processing unit 170, and an output. An image generation unit 180 is provided. The image processing arithmetic unit 100 can be realized by a computer having a CPU, a ROM, a RAM, and a hard disk device, and an image processing program stored in the ROM, RAM, or hard disk device is executed by the CPU. The functions of the pixel row tracking unit 120, the junction point extraction unit 130, the segment division unit 140, the straight line detection unit 150, the arc detection unit 160, the functionalization processing unit 170, and the output image generation unit 180 are realized. The image storage unit 110 is realized mainly by a hard disk device.

画像格納部110は、スキャナ200を用いて読み取られた原画像に対応する画像データや、関数化処理等を行うために必要な中間データ、関数化処理によって得られた関数化データ等を格納する。   The image storage unit 110 stores image data corresponding to an original image read using the scanner 200, intermediate data necessary for performing functionalization processing, functionalized data obtained by the functionalization processing, and the like. .

画素列追跡部120は、入力画像の輪郭線を構成する画素列に対して追跡処理を行う。例えば、二値化処理された後の入力画像に対してその輪郭線を抽出する処理が行われる。なお、二値化処理された入力画像の代わりに多値画像が入力された場合には、画素列追跡処理の前処理として二値化処理を行えばよい。また、カラー画像が入力された場合には、RGBの各色成分に分解した後に二値化処理を行って、各色成分毎に以後の処理を実施するようにしてもよい。   The pixel column tracking unit 120 performs tracking processing on the pixel columns that form the contour line of the input image. For example, the process of extracting the contour line is performed on the input image after the binarization process. When a multi-valued image is input instead of a binarized input image, the binarization process may be performed as a pre-process for the pixel column tracking process. Further, when a color image is input, binarization processing may be performed after being separated into RGB color components, and the subsequent processing may be performed for each color component.

接合点抽出部130は、画素列追跡部120による追跡によって得られた画素列の中から明らかな接合点を抽出する。ここで、接合点とは、その前後で画素列の傾向が変化する画素である。例えば、接合点抽出部130は、デジタル曲率に基づいて前後の輪郭線が所定角度以上屈曲した角点を明らかな接合点として抽出する。具体的には、輪郭線を構成する画素列の一点P0 に着目し、その前後に画素K個分だけ離れた点P1 、P2 を設定し、線分P0 1 と線分P0 2 のなす角度の余弦Cを計算する。そして、この計算した余弦Cが所定値(例えば−0.6)以上であるときに、この着目点を角点、すなわち明らかな接合点として抽出する。この計算を輪郭線を構成する画素列の全てについて行うことにより、画素列に含まれる全ての明らかな接合点が抽出される。 The junction point extraction unit 130 extracts an apparent junction point from the pixel column obtained by the tracking by the pixel column tracking unit 120. Here, the junction point is a pixel in which the tendency of the pixel row changes before and after that. For example, the joint point extraction unit 130 extracts, as clear joint points, corner points where the front and rear contour lines are bent by a predetermined angle or more based on the digital curvature. Specifically, paying attention to one point P 0 of the pixel row constituting the outline, points P 1 and P 2 separated by K pixels are set before and after that, and the line segment P 0 P 1 and the line segment P are set. Calculate the cosine C of the angle formed by 0 P 2 . When the calculated cosine C is a predetermined value (for example, −0.6) or more, this point of interest is extracted as a corner point, that is, an apparent joint point. By performing this calculation for all the pixel columns constituting the contour line, all obvious junction points included in the pixel column are extracted.

なお、上述した説明では、余弦Cが−0.6以上のときに着目点が角点であると判定したが、この判定の閾値(−0.6)は適宜変更してもよい。また、入力画像が回路図のように細線からなる場合には、入力画像そのものが輪郭線に相当し、しかも輪郭線を構成する画素列に分岐が含まれるため、この分岐を明らかな接合点として抽出するようにしてもよい。   In the above description, when the cosine C is −0.6 or more, the point of interest is determined to be a corner point. However, the threshold value (−0.6) for this determination may be changed as appropriate. When the input image is composed of thin lines as shown in the circuit diagram, the input image itself corresponds to the contour line, and the branch is included in the pixel column constituting the contour line. You may make it extract.

セグメント分割部140は、接合点抽出部130によって抽出された接合点を用いて、画素列追跡部120によって追跡された画素列を複数のセグメントに分割する。直線検出部150は、セグメント分割部140によって分割された各セグメントに含まれる直線部分を検出する。同様に、円弧検出部160は、セグメント分割部140によって分割された各セグメントに含まれる円弧部分を検出する。これらの直線部分および円弧部分の検出は、全てのセグメントを対象にして個別に行われるため、並行して行ってもよいし、前後して別々に行うようにしてもよい。本実施形態の画像処理装置では、最も長い直線部分や円弧部分を、後処理で延長することなく直接検出している点に特徴がある。   The segment dividing unit 140 divides the pixel sequence tracked by the pixel sequence tracking unit 120 into a plurality of segments using the junction points extracted by the junction point extraction unit 130. The straight line detection unit 150 detects a straight line part included in each segment divided by the segment division unit 140. Similarly, the arc detector 160 detects an arc portion included in each segment divided by the segment divider 140. Since the detection of these straight line portions and arc portions is performed individually for all segments, they may be performed in parallel or separately before and after. The image processing apparatus according to the present embodiment is characterized in that the longest straight line portion or arc portion is directly detected without being extended by post-processing.

関数化処理部170は、セグメント分割部140によって複数に分割された各セグメント毎に、直線検出部150および円弧検出部160による検出結果を用いて関数化処理を行う。具体的には、自由曲線、円弧、直線のいずれかの関数を輪郭線形状に当てはめて関数化処理を行うが、円弧部分や直線部分はわずかに形状がゆがんでも不自然に感じるとともにデータ量削減の観点からも、これらを用いた関数化処理が可能な場合には自由曲線よりも優先的に円弧や直線による関数化処理を行う必要がある。また、円弧は短い直線の集まりでも表現できることから、直線よりも円弧を優先する方が好ましい。したがって、円弧検出部160によって検出された円弧部分に直線検出部150によって検出された直線部分が含まれている場合には、この共通する画素については円弧を用いて関数化処理される。それ以外の直線部分に含まれる画素については直線を用いて関数化処理され、円弧にも直線にも含まれない画素については自由曲線(例えば二次曲線)を用いて関数化処理される。   The functionalization processing unit 170 performs functionalization processing using the detection results obtained by the straight line detection unit 150 and the arc detection unit 160 for each segment divided into a plurality of segments by the segment division unit 140. Specifically, any one of the functions of free curve, arc, and straight line is applied to the contour shape, and the function is processed. However, even if the arc or straight line part is slightly distorted, it feels unnatural and reduces the amount of data. From this point of view, if functionalization processing using these is possible, it is necessary to perform functionalization processing using arcs or straight lines in preference to free curves. Further, since the arc can be expressed by a collection of short straight lines, it is preferable to give priority to the arc over the straight lines. Therefore, when the straight line portion detected by the straight line detection unit 150 is included in the circular arc portion detected by the circular arc detection unit 160, the common pixel is functionalized using the circular arc. Pixels included in other straight line portions are functionalized using a straight line, and pixels not included in an arc or a straight line are functionalized using a free curve (for example, a quadratic curve).

出力画像生成部180は、関数化処理部170によって得られた関数化データを用いて原画像を生成する。この原画像生成では倍率を指定することができ、原画像を指定された倍率で拡大した画像が生成される。   The output image generation unit 180 generates an original image using the functionalized data obtained by the functionalization processing unit 170. In this original image generation, the magnification can be designated, and an image obtained by enlarging the original image at the designated magnification is generated.

上述したスキャナ200が画像入力手段に、接合点抽出部130、セグメント分割部140がセグメント抽出手段に、接合点抽出部130が接合点抽出手段に、セグメント分割部140がセグメント分割手段に、直線検出部150、円弧検出部160が関数区間検出手段に、関数化処理部170が関数化処理手段にそれぞれ対応する。   The above-described scanner 200 is an image input unit, a joint point extraction unit 130, a segment division unit 140 is a segment extraction unit, a joint point extraction unit 130 is a joint point extraction unit, and a segment division unit 140 is a segment division unit. The unit 150 and the circular arc detection unit 160 correspond to the function section detection unit, and the functionalization processing unit 170 corresponds to the functionalization processing unit.

本実施形態の画像処理装置はこのような構成を有しており、次にその動作を説明する。   The image processing apparatus according to the present embodiment has such a configuration, and the operation thereof will be described next.

図2は、本実施形態の画像処理装置の全体の動作手順を示す流れ図である。画像格納部110は、スキャナ200を用いて読み取られた画像が入力されると(ステップ100)、この入力画像データを格納する。   FIG. 2 is a flowchart showing an overall operation procedure of the image processing apparatus according to the present embodiment. When an image read using the scanner 200 is input (step 100), the image storage unit 110 stores the input image data.

次に、画素列追跡部120は、入力画像の輪郭線を構成する画素列に対して追跡を行う(ステップ101)。また、接合点抽出部130は、追跡された画素列に含まれる明らかな接合点を抽出する(ステップ102)。セグメント分割部140は、抽出された接合点によって輪郭線を構成する画素列を複数のセグメントに分割する(ステップ103)。   Next, the pixel column tracking unit 120 performs tracking on the pixel columns that form the contour line of the input image (step 101). Further, the junction point extraction unit 130 extracts an apparent junction point included in the tracked pixel column (step 102). The segment dividing unit 140 divides the pixel row constituting the contour line into a plurality of segments by the extracted joint points (step 103).

次に、直線検出部150は、セグメント分割部140によって分割された一のセグメントを取り出してこのセグメントに含まれる直線部分を検出する(ステップ104)。なお、セグメントによっては直線部分が全く含まれない場合や複数個が離散的に含まれる場合が考えられる。直線検出部150は、一のセグメントについて直線部分の検出処理を終了すると、輪郭線を構成する全てのセグメントについて直線部分の検出処理が終了したか否かを判定する(ステップ105)。直線部分の検出処理が行われていないセグメントが存在する場合には否定判断が行われ、未処理の他のセグメントについてステップ104の直線部分の検出処理が繰り返される。   Next, the straight line detection unit 150 takes out one segment divided by the segment division unit 140 and detects a straight line part included in this segment (step 104). Depending on the segment, there may be a case where no straight line portion is included at all, or a case where a plurality of segments are included in a discrete manner. When the straight line detection processing for one segment is completed, the straight line detection unit 150 determines whether or not the straight line detection processing has been completed for all the segments constituting the contour line (step 105). If there is a segment for which the straight line portion detection process is not performed, a negative determination is made, and the straight line portion detection process in step 104 is repeated for other unprocessed segments.

また、輪郭線を構成する全てのセグメントについて直線部分の検出処理が終了するとステップ105の判定において肯定判断が行われ、次に、同様の手順で各セグメントについて円弧部分の検出が行われる。すなわち、円弧検出部160は、セグメント分割部140によって分割された一のセグメントを取り出してこのセグメントに含まれる円弧部分を検出する(ステップ106)。なお、セグメントによっては円弧部分が全く含まれない場合や複数個が離散的に含まれる場合が考えられる。円弧検出部160は、一のセグメントについて円弧部分の検出処理を終了すると、輪郭線を構成する全てのセグメントについて円弧部分の検出処理が終了したか否かを判定する(ステップ107)。円弧部分の検出処理が行われていないセグメントが存在する場合には否定判断が行われ、未処理の他のセグメントについてステップ106の円弧部分の検出処理が繰り返される。   Further, when the straight line portion detection processing is completed for all the segments constituting the contour line, an affirmative determination is made in the determination of step 105, and then the arc portion is detected for each segment in the same procedure. That is, the arc detection unit 160 takes out one segment divided by the segment division unit 140 and detects an arc part included in this segment (step 106). Depending on the segment, there may be a case where no arc portion is included or a plurality of segments are included discretely. When the arc detection unit 160 completes the arc part detection process for one segment, the arc detection unit 160 determines whether or not the arc part detection process has been completed for all segments constituting the contour line (step 107). If there is a segment for which the arc portion detection processing has not been performed, a negative determination is made, and the arc portion detection processing in step 106 is repeated for other unprocessed segments.

なお、上述した説明では、ステップ104、105において直線部分の検出動作を行った後にステップ106、107において円弧部分の検出動作を行ったが、これら2種類のの検出動作は、並行して行ったり、順番を反対にして行うようにしてもよい。   In the above description, the straight line portion detection operation is performed in steps 104 and 105, and then the arc portion detection operation is performed in steps 106 and 107. However, these two types of detection operations may be performed in parallel. Alternatively, the order may be reversed.

このようにして輪郭線を構成する全てのセグメントについて直線部分と円弧部分の検出が終了した後、関数化処理部170は、分割されたセグメント毎に、関数化処理(関数近似処理)を行う(ステップ108)。例えば、最初に、円弧検出部160によって検出された各円弧部分に対して円弧を当てはめる関数化処理を行い、次に、直線検出部150によって検出された直線部分に対して直線を当てはめる関数化処理を行い(直線部分の一部あるいは全部が円弧部分に含まれる場合には、その範囲については円弧による関数近似を優先させる)、最後に、円弧部分にも直線部分にも該当しない画素列に対して自由曲線を用いた関数化処理を行う。このようにして関数化処理された結果は画像格納部110に格納される(ステップ109)。出力画像生成部180は、関数化処理された結果を用いて、元の画像を所定倍率で拡大して復元する処理を行う。このようにして復元された画像がディスプレイ装置220の画面に表示されたり、プリンタ230から記録紙に印刷される(ステップ110)。   In this way, after the detection of the straight line portion and the arc portion is completed for all the segments constituting the contour line, the functionalization processing unit 170 performs functionalization processing (function approximation processing) for each divided segment ( Step 108). For example, first, a functioning process for applying an arc to each arc part detected by the arc detecting unit 160 and then applying a straight line to the straight line part detected by the straight line detecting unit 150 is performed. (If part or all of the straight line part is included in the arc part, priority is given to the function approximation by the arc for the range.) Finally, for pixel rows that do not fall within the arc part or the straight line part The functionalization process using a free curve is performed. The result of the functionalization process in this way is stored in the image storage unit 110 (step 109). The output image generation unit 180 performs processing for enlarging and restoring the original image at a predetermined magnification using the result of the functionalization processing. The image restored in this way is displayed on the screen of the display device 220 or printed on recording paper from the printer 230 (step 110).

次に、直線検出部150によって行われる直線部分の検出動作の詳細について説明する。図3、図4および図5は、直線検出部150による直線部分の検出動作の詳細を示す流れ図である。   Next, details of the straight line detection operation performed by the straight line detection unit 150 will be described. 3, 4, and 5 are flowcharts showing details of the straight line detection operation performed by the straight line detection unit 150.

まず、直線検出部150は、一のセグメントを読み込んで(ステップ200)、この読み込んだセグメントの始点と終点のそれぞれを比較直線の始点と終点に設定するとともに(ステップ201)、調整値Lをセグメント長に設定する(ステップ202)。ここで、「比較直線」とは、始点と終点が一致したセグメント(検出候補)と比較され、誤差算出が行われる直線である。また、「調整値L」とは、比較直線とセグメントとを比較した結果に応じて、処理対象となるセグメントの長さを増減する場合のその増減の長さであり、処理の途中で順次値が変更される。また、セグメント長は、隣接する画素間の距離をこれらの画素の配置状態にかかわらずに(左右上下に配置されている場合と斜め方向に配置されている場合とで区別することなく)1として、構成画素数で示したものである。   First, the straight line detection unit 150 reads one segment (step 200), sets the start point and end point of the read segment as the start point and end point of the comparison line (step 201), and sets the adjustment value L to the segment. The length is set (step 202). Here, the “comparison straight line” is a straight line on which an error calculation is performed by comparing with a segment (detection candidate) whose start point and end point match. The “adjustment value L” is the length of increase / decrease when the length of the segment to be processed is increased / decreased according to the comparison result between the comparison line and the segment. Is changed. The segment length is set to 1 regardless of the distance between adjacent pixels regardless of the arrangement state of these pixels (without distinguishing between the case where the pixels are arranged vertically and the case where they are arranged obliquely). This is indicated by the number of constituent pixels.

次に、直線検出部150は、比較直線とセグメントとの間の平均二乗誤差e1と最大二乗誤差e2を算出する(ステップ203、204)。ここで、平均二乗誤差e1とは、セグメントを構成する各画素から比較直線に下ろした垂線の長さを二乗した合計値をセグメントの画素数で割った値である。また、最大二乗誤差e2とは、セグメントの構成する各画素から比較直線に下ろした垂線の長さを二乗した値の最大値である。なお、平均二乗誤差e1と最大二乗誤差e2の計算の順番はどちらが先であってもよいし、並行して行うようにしてもよい。   Next, the straight line detection unit 150 calculates a mean square error e1 and a maximum square error e2 between the comparison straight line and the segment (steps 203 and 204). Here, the mean square error e1 is a value obtained by dividing a total value obtained by squaring the length of a perpendicular line drawn from each pixel constituting the segment into a comparison line by the number of pixels of the segment. The maximum square error e2 is a maximum value obtained by squaring the length of a perpendicular line drawn from each pixel constituting a segment to a comparison line. Note that the order of calculation of the mean square error e1 and the maximum square error e2 may be either first or may be performed in parallel.

次に、直線検出部150は、平均二乗誤差e1が基準値E1未満で、かつ、最大二乗誤差e2が基準値E2未満であるか否かを判定する(ステップ205)。例えば、実験的評価からE1=0.2、E2=1.0に設定されている。これら2つの条件を満たす場合には肯定判断が行われ、次に、直線検出部150は、上述した比較線分を直線候補Dとして画像格納部110に格納して記憶した後(ステップ206)、比較直線の終点がセグメントの終点の初期値と一致するか否かを判定する(ステップ207)。セグメントの終点の初期値とは、ステップ200において読み込まれたセグメントの終点のことであり、輪郭線を分割した際の接合点に一致する。本実施形態では、セグメントの形状が比較直線にほぼ一致していて平均二乗誤差e1と最大二乗誤差e2がともに小さい場合には、セグメントの終点が延長された後に同様の判定処理が繰り返されるが、比較直線の終点がセグメントの終点の初期値と同じ場合にはこのような終点の延長を行うことができないため、このような場合には肯定判断が行われた後、直線検出部150は、直線候補Dを検出直線Sとして記憶する(ステップ214)。これにより、ステップ200において読み込まれた一のセグメントの全体に対する直線部分の検出動作が終了する。   Next, the straight line detector 150 determines whether or not the mean square error e1 is less than the reference value E1 and the maximum square error e2 is less than the reference value E2 (step 205). For example, E1 = 0.2 and E2 = 1.0 are set based on experimental evaluation. When these two conditions are satisfied, an affirmative determination is made, and then the straight line detection unit 150 stores and stores the above-described comparison line segment as the straight line candidate D in the image storage unit 110 (step 206). It is determined whether the end point of the comparison line matches the initial value of the segment end point (step 207). The initial value of the end point of the segment is the end point of the segment read in step 200, and coincides with the junction point when the contour line is divided. In the present embodiment, when the segment shape substantially matches the comparison straight line and both the mean square error e1 and the maximum square error e2 are small, the same determination process is repeated after the end point of the segment is extended. If the end point of the comparison straight line is the same as the initial value of the end point of the segment, such an end point cannot be extended. In such a case, after an affirmative determination is made, the straight line detection unit 150 determines that the straight line detection unit 150 The candidate D is stored as the detection straight line S (step 214). Thereby, the detection operation of the straight line portion with respect to the entire one segment read in step 200 is completed.

また、比較直線の終点とセグメントの終点の初期値とが一致しない場合にはステップ207の判定において否定判断が行われる。次に、直線検出部150は、調整値Lの値を半分にした後(ステップ208)、この変更後の調整値Lが所定値以下か否かを判定する(ステップ209)。上述したように、本実施形態では、セグメントの形状が比較直線にほぼ一致している場合に、セグメントの終点を延長するがこの延長する長さ(調整値L)は延長する回数が増えるにしたがってそれぞれ半分に減っていく(ステップ208)。したがって、調整値Lが小さな値に収束したときにステップ209において肯定判断が行われる。次に、直線検出部150は、直線候補Dを検出直線Sとして記憶する(ステップ211)。また、直線検出部150は、セグメントの始点を検出直線Sの終点に、セグメントの終点を初期値にそれぞれ設定した後(ステップ212)、この始点と終点が変更されたセグメントの長さが所定値以下であるか否かを判定する(ステップ213)。これは、あまりにも短いセグメントに対して直線部分の検出を行わないようにするための判定動作であり、セグメント長が短くなりすぎた場合には肯定判断が行われ、ステップ200において読み込まれた一のセグメントの全体に対する直線部分の検出動作が終了する。一方、セグメント長が所定値よりも長い場合にはステップ213の判定において否定判断が行われ、ステップ202に戻って、新しいセグメントについて直線部分を検出する動作が繰り返される。   If the comparison straight line end point does not match the segment end point initial value, a negative determination is made in step 207. Next, the straight line detection unit 150 halves the adjustment value L (step 208), and then determines whether or not the changed adjustment value L is equal to or less than a predetermined value (step 209). As described above, in the present embodiment, when the segment shape substantially matches the comparison line, the end point of the segment is extended, but the extension length (adjustment value L) increases as the number of extension increases. Each is reduced by half (step 208). Therefore, an affirmative determination is made in step 209 when the adjustment value L converges to a small value. Next, the straight line detection unit 150 stores the straight line candidate D as the detected straight line S (step 211). The straight line detection unit 150 sets the start point of the segment as the end point of the detection line S and the end point of the segment as the initial value (step 212), and then the length of the segment whose start point and end point are changed is a predetermined value. It is determined whether or not the following is true (step 213). This is a determination operation so as not to detect the straight line portion for a segment that is too short. When the segment length becomes too short, an affirmative determination is made, and the one read in step 200 is determined. The detection operation of the straight line portion with respect to the entire segment ends. On the other hand, if the segment length is longer than the predetermined value, a negative determination is made in the determination in step 213, and the operation returns to step 202 to repeat the operation of detecting a straight line portion for a new segment.

また、変更後の調整値Lが所定値よりも大きい場合にはステップ209の判定において否定判断が行われ、次に、直線検出部150は、セグメントの終点を調整値Lだけ終点の初期値側にずらした後(ステップ210)、ステップ203に戻って平均二乗誤差e1や最大二乗誤差e2の計算以降の動作が繰り返される。   If the adjusted value L after the change is larger than the predetermined value, a negative determination is made in the determination in step 209. Next, the straight line detection unit 150 sets the end point of the segment by the adjustment value L to the initial value side of the end point. (Step 210), the process returns to step 203, and the operations after the calculation of the mean square error e1 and the maximum square error e2 are repeated.

また、「平均二乗誤差e1が基準値E1未満、かつ、最大二乗誤差e2が基準値E2未満」という条件を満たさない場合、すなわち、平均二乗誤差e1が基準値E1以上であったり、あるいは、最大二乗誤差e2が基準値E2以上である場合にはステップ205の判定において否定判断が行われる。次に、直線検出部150は、セグメント長は所定値以下か否かを判定する(ステップ215)。この判定は、これ以上セグメント長を短くして直線部分の検出を継続するか否かを判定するために行われるものである。セグメント長が短くて所定値以下の場合には肯定判断が行われ、直線検出部150は、セグメントの始点を調整値Lだけ終点側にずらすとともに(ステップ216)、セグメントの終点を初期値に設定する(ステップ217)。このように、セグメントに含まれる直線部分が検出されずに比較直線とセグメントが徐々に短くなって所定値以下になってしまった場合には、ここでのセグメントの終点側の残りのセグメントを用いて新たに直線部分の検出動作を行うために新しいセグメントの始点と終点の再設定が行われた後、ステップ202に戻って直線部分を検出する動作が繰り返される。   Further, when the condition that “the mean square error e1 is less than the reference value E1 and the maximum square error e2 is less than the reference value E2” is not satisfied, that is, the mean square error e1 is greater than or equal to the reference value E1, or the maximum If the square error e2 is greater than or equal to the reference value E2, a negative determination is made in step 205. Next, the straight line detection unit 150 determines whether or not the segment length is equal to or less than a predetermined value (step 215). This determination is performed in order to determine whether or not to continue the detection of the straight line portion by further shortening the segment length. If the segment length is shorter than the predetermined value, an affirmative determination is made, and the straight line detection unit 150 shifts the segment start point by the adjustment value L to the end point side (step 216) and sets the segment end point to the initial value. (Step 217). In this way, if the comparison straight line and the segment gradually become shorter than the predetermined value without detecting the straight line part included in the segment, the remaining segment on the end point side of the segment here is used. After the new segment start point and end point are reset in order to newly detect the straight line portion, the process returns to step 202 to repeat the straight line portion detection operation.

また、セグメント長が所定値よりも大きい場合にはステップ215の判定において否定判断が行われる。次に、直線検出部150は、調整値Lの値を半分にするとともに(ステップ218)、セグメントの終点を調整値Lだけ始点側にずらしてセグメントを短くした後(ステップ219)、ステップ203に戻って平均二乗誤差e1や最大二乗誤差e2の計算以降の動作が繰り返される。   If the segment length is greater than the predetermined value, a negative determination is made in the determination in step 215. Next, the straight line detection unit 150 halves the adjustment value L (step 218), shifts the end point of the segment by the adjustment value L to the start point side, shortens the segment (step 219), and then proceeds to step 203. The operations after the calculation of the mean square error e1 and the maximum square error e2 are repeated.

図6および図7は、直線部分の検出の具体例を示す図である。直線検出部150は、最初は、セグメント分割部140によって分割された一のセグメントSG(0)の全体と、このセグメントSG(0)の始点S(0)と終点E(0)を通る比較直線とを比較し、平均二乗誤差e1と最大二乗誤差e2の両方が所定の条件を満たすか否かを調べる(図6(A))。   6 and 7 are diagrams illustrating a specific example of detection of a straight line portion. First, the straight line detection unit 150 compares the entire segment SG (0) divided by the segment division unit 140 and a comparison straight line passing through the start point S (0) and the end point E (0) of the segment SG (0). And whether or not both the mean square error e1 and the maximum square error e2 satisfy a predetermined condition (FIG. 6A).

この例では条件を満たさないため、次に、セグメント長の半分に設定された調整値Lだけ始点S(0)側にずらしたセグメントSG(1)の新たな終点E(1)を設定した後(ステップ218、219)、この短くなったセグメントSG(1)と、このセグメントSG(1)の始点S(0)と終点E(1)を通る新たな比較直線とを比較し、平均二乗誤差e1と最大二乗誤差e2の両方が所定の条件を満たすか否かを調べる(図6(B))。   Since the condition is not satisfied in this example, after setting a new end point E (1) of the segment SG (1) shifted to the start point S (0) side by the adjustment value L set to half of the segment length. (Steps 218 and 219), the shortened segment SG (1) is compared with a new comparison line passing through the start point S (0) and the end point E (1) of the segment SG (1), and the mean square error is compared. It is examined whether both e1 and the maximum square error e2 satisfy a predetermined condition (FIG. 6B).

この例ではこれら2つの条件を満たしており、次に、さらに半分の値に変更された調整値Lだけ終点E(0)側にずらしたセグメントSG(2)の新たな終点E(2)を設定した後(ステップ208、210)、この少し長くなったセグメントSG(2)と、このセグメントSG(2)の始点S(0)と終点E(2)を通る新たな比較直線とを比較し、平均二乗誤差e1と最大二乗誤差e2の両方が所定の条件を満たすか否かを調べる(図6(C))。   In this example, these two conditions are satisfied. Next, a new end point E (2) of the segment SG (2) shifted to the end point E (0) side by the adjustment value L that has been further changed to a half value is set. After setting (steps 208 and 210), this slightly longer segment SG (2) is compared with a new comparison line passing through the start point S (0) and end point E (2) of this segment SG (2). Then, it is checked whether or not both the mean square error e1 and the maximum square error e2 satisfy a predetermined condition (FIG. 6C).

このようにして、セグメントの終点位置が順次変更され、最終的に始点S(0)の最も長い比較直線が検出直線Sとして検出される。一の検出直線Sが決定された後は、この検出直線S以外の残りの部分を検出対象としての新たなセグメントに設定し(ステップ212)、再度直線部分の検出動作が繰り返される。   In this way, the end point position of the segment is sequentially changed, and finally the comparison line having the longest start point S (0) is detected as the detection line S. After one detection straight line S is determined, the remaining part other than the detection straight line S is set as a new segment as a detection target (step 212), and the detection operation of the straight line part is repeated again.

なお、セグメント分割部140によって分割された一のセグメントSG(0)の始点S(0)近傍に直線部分が含まれない場合(図7(A))には、セグメント長をどれだけ短くしていっても平均二乗誤差e1や最大二乗誤差e2の両方が所定の条件を満たすようにはならない。このような場合には、終点E(0)側にずらした始点S(1)を有するあらたなセグメントが設定され(ステップ216、217)、再度直線部分の検出動作が繰り返される(図7(B))。   Note that when the straight line portion is not included in the vicinity of the start point S (0) of one segment SG (0) divided by the segment dividing unit 140 (FIG. 7A), how short the segment length is. However, both the mean square error e1 and the maximum square error e2 do not satisfy the predetermined condition. In such a case, a new segment having the start point S (1) shifted to the end point E (0) side is set (steps 216 and 217), and the detection operation of the straight line portion is repeated again (FIG. 7B). )).

円弧検出部160によって行われる円弧部分の検出動作についても上述した直線検出動作と基本的に同じであり、以下では相違点に着目して説明する。   The arc portion detection operation performed by the arc detection unit 160 is basically the same as the above-described straight line detection operation, and will be described below by focusing on the differences.

図8、図9および図10は、円弧検出部160による円弧部分の検出動作の詳細を示す流れ図である。これらの図に示す流れ図は、図3〜図5に示した流れ図に含まれる比較直線を比較円弧に、直線候補Dを円弧候補Dに、検出直線Sを検出円弧Sにそれぞれ変更するとともにステップ数を改めた点が異なっており、動作手順自体は基本的に同じである。   8, 9 and 10 are flowcharts showing details of an arc portion detection operation by the arc detection unit 160. The flow charts shown in these figures change the comparison straight line included in the flow charts shown in FIGS. 3 to 5 to the comparison arc, the straight line candidate D to the arc candidate D, the detection straight line S to the detection arc S, and the number of steps. The operating procedure itself is basically the same.

また、平均二乗誤差e1と最大二乗誤差e2の算出方法については、直線と円弧とでは異なっている。具体的には、セグメントの始点と終点の他に中間点を合わせた3点を通る円弧を比較円弧として設定し、この円弧の半径と円弧の中心からセグメントを構成する画素までの距離の差の二乗を用いて平均二乗誤差e1や最大二乗誤差e2が計算される。   Further, the calculation method of the mean square error e1 and the maximum square error e2 is different between the straight line and the arc. Specifically, an arc passing through three points including the start point and end point of the segment and the intermediate point is set as a comparison arc, and the difference between the radius of this arc and the distance from the center of the arc to the pixels constituting the segment is set. The mean square error e1 and the maximum square error e2 are calculated using the square.

なお、円弧検出の検出精度を高めるために以下の(1)〜(3)の工夫がなされている。   In order to improve the detection accuracy of arc detection, the following devices (1) to (3) are devised.

(1)比較円弧を設定する際の3点はセグメントの始点、終点、中間点を基本とするが、円弧の中心角が4π/3以上の場合、始点と終点が接近しすぎて、近似円のふれが大きくなってしまう。そのため、円弧の中心角が4π/3以上の場合は始点と始点からの中心角が4π/3となる点とこれらの中間点により比較円弧の設定を行う。   (1) The three points when setting a comparative arc are basically the start point, end point, and middle point of the segment. However, if the center angle of the arc is 4π / 3 or more, the start point and end point are too close, and the approximate circle Will increase. Therefore, when the center angle of the arc is 4π / 3 or more, the comparison arc is set by the start point, the point where the center angle from the start point is 4π / 3, and the intermediate point between them.

(2)比較円弧の中心角によって基準値E1、E2の値を変化させる。中心角の大きな比較円弧については、基準値E1、E2を大きくして判断の基準を甘くするようにする。   (2) The reference values E1 and E2 are changed according to the center angle of the comparative arc. For the comparative arc having a large central angle, the reference values E1 and E2 are increased to make the judgment criteria sweet.

(3)中心角に閾値を設け、あまりに中心角が小さな比較円弧は設定されないようにする。例えば、中心角がπ/2よりも小さな比較円弧は設定されないようにする。   (3) A threshold value is provided for the center angle so that a comparative arc having a too small center angle is not set. For example, a comparative arc whose center angle is smaller than π / 2 is not set.

図11、図12、図13および図14は、具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図であり、本実施形態の手法と従来手法の両方を用いた結果が示されている。実験では図11に示す画像が用いられた。   FIGS. 11, 12, 13 and 14 are diagrams showing experimental results obtained by performing straight line detection and circular arc detection on a specific figure, and results using both the method of the present embodiment and the conventional method. It is shown. In the experiment, the image shown in FIG. 11 was used.

図12(A)、(B)には、本実施形態の手法によって検出された直線部分と円弧部分がそれぞれ示されている。これらの図に含まれる「×」は、検出された直線あるいは円弧の始点あるいは終点を示している。また、図12(A)において点線で囲まれた部分は直線として検出されたが、結果的には優先順位にしたがって円弧として関数近似された部分を表している。また、比較のために、図13(A)、(B)には従来の多段抽出法を用いて検出された直線部分と円弧部分がそれぞれ示されている。図14(A)、(B)には従来のDP(Dynamic Programming)法を用いて検出された直線部分と円弧部分がそれぞれ示されている。   12A and 12B show a straight line portion and an arc portion detected by the method of the present embodiment, respectively. “X” included in these drawings indicates the start point or end point of the detected straight line or arc. In FIG. 12A, a portion surrounded by a dotted line is detected as a straight line, but as a result, a portion approximated by a function as an arc according to the priority order is shown. For comparison, FIGS. 13A and 13B show a straight line portion and a circular arc portion detected using the conventional multistage extraction method, respectively. FIGS. 14A and 14B show a straight line portion and a circular arc portion detected by using a conventional DP (Dynamic Programming) method, respectively.

図12〜図14を比較して明らかなように、本実施形態の手法を用いることにより、従来手法に比べて、より長い直線部分、円弧部分を検出することに成功している。また、本実施形態の手法で検出した直線部分、円弧部分は、従来手法で検出した直線部分、円弧部分を包含していることがわかる。これは、従来手法が開始点から直線、円弧区間を徐々に延ばしていくアルゴリズムであるのに対して、本実施形態の手法はセグメント画素列の最大長から直線、円弧区間を徐々に削っていくアルゴリズムであるからであると思われる。   As apparent from comparison between FIGS. 12 to 14, by using the method of the present embodiment, it has succeeded in detecting a longer linear portion and arc portion than the conventional method. Further, it can be seen that the straight line portion and the circular arc portion detected by the method of the present embodiment include the straight line portion and the circular arc portion detected by the conventional method. This is an algorithm in which the conventional method gradually extends the straight line and the arc segment from the starting point, whereas the method of the present embodiment gradually cuts the straight line and the arc segment from the maximum length of the segment pixel row. It seems to be because it is an algorithm.

このように、画像の輪郭形状を示す各セグメントについてセグメント全体を初期状態として誤差が少なくなるまで徐々にセグメントを短くすることにより近似関数に対応する区間の検出が行われるため、近似関数に対応する短い区間を検出した後にこの区間を徐々に伸ばす場合に比べて、近似関数に対応する単一形状の長い区間を検出することが可能になる。   As described above, since the segment corresponding to the approximate function is detected by gradually shortening the segment until the error is reduced with the entire segment as an initial state for each segment indicating the contour shape of the image, the segment corresponds to the approximate function. It is possible to detect a long section of a single shape corresponding to the approximate function, compared to the case where this section is gradually extended after detecting a short section.

また、画像の輪郭線を構成する画素列の前後の配置に基づいて、明らかな角点に相当する画素を接合点として抽出することにより、画素列を複数のセグメントに分割しており、明らかな角点のみを接合点として抽出することにより、接合点の設定位置が不適切であったために単一形状の長い区間が誤って分断されることを防止することができる。   In addition, the pixel column is divided into a plurality of segments by extracting pixels corresponding to obvious corner points as junction points based on the arrangement of the pixel columns constituting the contour line of the image before and after. By extracting only the corner points as joint points, it is possible to prevent a long section of a single shape from being erroneously divided because the joint point setting position is inappropriate.

また、区間検出が行われる近似関数として直線あるいは円弧を採用することにより、画像の輪郭線形状に含まれる長い直線部分あるいは円弧部分の検出が可能になる。   In addition, by adopting a straight line or an arc as an approximation function for performing section detection, it becomes possible to detect a long straight line part or an arc part included in the contour shape of the image.

また、複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とを別々に行うことにより、画像の形状に含まれる長い直線部分と長い円弧部分の両方を検出することが可能になり、それぞれの検出結果を用いた最適な関数化処理を行うことができる。特に、上述した関数区間検出手段によって検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて、自由曲線よりも円弧や直線を優先させて関数化処理を行うことにより、関数化処理によるさらなるデータ量の削減が可能になる。また、検出された円弧と直線が重複している場合に、円弧を優先させて関数化処理を行うことにより、精度の高い関数化処理を行うことが可能になる。   In addition, it is possible to detect both a long straight line part and a long arc part included in the shape of an image by separately performing a section detection corresponding to a straight line and a section detection corresponding to an arc for each of a plurality of segments. It becomes possible, and an optimal functionalization process using each detection result can be performed. In particular, arcs, straight lines, and free curves are applied in the order of arcs, straight lines, and portions other than these arcs and straight lines detected by the function section detection means described above, giving priority to arcs and straight lines over free curves. By performing the digitization process, it is possible to further reduce the data amount by the functionalization process. In addition, when the detected arc and the straight line overlap, it is possible to perform the functioning process with high accuracy by performing the functioning process by giving priority to the arc.

また、分割された各セグメントの全部あるいは一部を検出候補としてのセグメントに設定し、この検出候補としてのセグメントとその始点および終点を結ぶ直線との間の誤差が基準値を超える場合には検出候補としてのセグメントを短くし、反対に誤差が基準値以下になった場合には検出候補としてのセグメントを長くすることにより最終的な直線部分を検出することにより、次第にセグメントに含まれる直線部分を絞っていって最終的に検出可能な最大長の直線部分を検出することが可能になる。   In addition, all or a part of each divided segment is set as a detection candidate segment, and the error is detected when the error between the detection candidate segment and the straight line connecting the start point and end point exceeds the reference value. If the segment as a candidate is shortened, and the error is below the reference value, the final segment is detected by lengthening the segment as a candidate for detection. It becomes possible to detect the straight line portion of the maximum length that is finally narrowed down and detectable.

また、分割された各セグメントの全部あるいは一部を検出候補としてのセグメントに設定し、この検出候補としてのセグメントとその始点、終点およびこれらの中間点を通る円弧との間の誤差が基準値を超える場合には検出候補としてのセグメントを短くし、反対に誤差が基準値以下になった場合には検出候補としてのセグメントを長くすることにより最終的な円弧部分を検出することにより、次第にセグメントに含まれる円弧部分を絞っていって最終的に検出可能な最大長の円弧部分を検出することが可能になる。   In addition, all or a part of each divided segment is set as a detection candidate segment, and an error between the detection candidate segment and its starting point, end point, and an arc passing through these intermediate points sets a reference value. If it exceeds, the segment as the detection candidate is shortened.On the other hand, when the error is below the reference value, the segment as the detection candidate is lengthened to detect the final arc portion, thereby gradually becoming the segment. It becomes possible to detect the arc portion of the maximum length that can be finally detected by narrowing the included arc portion.

また、直線部分あるいは円弧部分の検出は、それまでの検出候補としてのセグメントのの長さをLとしたときに、L/2だけセグメント長を長くあるいは短くして行っており、これにより、最終的に直線部分あるいは円弧部分を検出するまでのセグメント長を変更する回数の削減が可能になり、直線部分あるいは円弧部分の検出に要する時間を短縮することができる。   In addition, the detection of the straight line portion or the circular arc portion is performed by increasing or decreasing the segment length by L / 2, where L is the length of the segment as the detection candidate so far. In particular, it is possible to reduce the number of times of changing the segment length until the linear portion or the arc portion is detected, and the time required for detecting the linear portion or the arc portion can be shortened.

また、平均二乗誤差e1によって誤差の大小を評価することにより、画像の読み取り等において発生するノイズの影響を少なくすることができる。また、検出対象となる直線部分や円弧部分を長くすればするほど、これらの近似関数の形状に一致しない局所的な特異形状があっても平均二乗誤差e1が小さくなるため、この特異形状部分が無視されて関数化処理が行われやすくなる。しかし、最大二乗誤差e2が考慮されるため、局所的な特異形状が無視されることがなく、精度の高い関数化処理を行うことができる。   Further, by evaluating the magnitude of the error based on the mean square error e1, it is possible to reduce the influence of noise generated in image reading or the like. In addition, the longer the straight line portion or arc portion to be detected, the smaller the mean square error e1 even if there is a local singular shape that does not match the shape of these approximate functions. It is ignored and functionalization is easy to be performed. However, since the maximum square error e2 is taken into account, the local singular shape is not ignored, and highly accurate functionalization processing can be performed.

なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。上述した実施形態では、スキャナ200を用いて画像入力を行ったが、その他の入力装置(例えばデジタルカメラ)を用いたり、光磁気ディスク等に格納された画像データを読み込むことにより入力するようにしてもよい。   In addition, this invention is not limited to the said embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention. In the above-described embodiment, image input is performed using the scanner 200. However, input is performed by using another input device (for example, a digital camera) or by reading image data stored on a magneto-optical disk or the like. Also good.

また、上述した実施形態では、画像の読み取り等において発生したノイズについては特に対策をしていないが、ノイズ対策を行うことでさらに精度の高い関数化処理を行うようにしてもよい。例えば、関数化処理の過程では、誤差の評価を行いながら適切な近似関数を選定することになるが、セグメント長が十分短い区間に対応する画素列に対しては自由曲線を用いた関数化処理が行われる場合が多い。このような場合には、隣接するセグメントの近似関数と比べて曲率が異なる場合にはこの自由曲線の部分はノイズであることが多い。このため、このような現象が発生した場合には、その発生状況をディスプレイ装置220の画面上に表示し、ノイズに相当する画素の削除の可否を操作者に問い合わせるようにしてもよい。   In the above-described embodiment, no particular countermeasure is taken for noise generated during image reading or the like, but more accurate functionalization processing may be performed by taking noise countermeasures. For example, in the process of functionalization, an appropriate approximation function is selected while evaluating the error, but the functionalization process using a free curve is applied to pixel columns corresponding to sections with sufficiently short segment lengths. Is often performed. In such a case, when the curvature is different from the approximate function of the adjacent segment, the free curve portion is often noise. For this reason, when such a phenomenon occurs, the state of occurrence may be displayed on the screen of the display device 220, and the operator may be inquired as to whether or not a pixel corresponding to noise can be deleted.

また、上述した実施形態では、検出された直線と円弧とが重複している場合には、円弧を優先させて関数化処理が行われるため、図2に示すステップ106、107における円弧検出を先に行うとともに、円弧として検出された部分を除いた区間を対象にステップ104、105における直線検出を行うようにしてもよい。   In the above-described embodiment, when the detected straight line and the arc overlap, the arc is prioritized and the functionalization process is performed. Therefore, the arc detection in steps 106 and 107 shown in FIG. In addition, the straight line detection in steps 104 and 105 may be performed for a section excluding a portion detected as an arc.

一実施形態の画像処理装置の構成を示す図である。It is a figure which shows the structure of the image processing apparatus of one Embodiment. 本実施形態の画像処理装置の全体の動作手順を示す流れ図である。3 is a flowchart illustrating an overall operation procedure of the image processing apparatus according to the present exemplary embodiment. 直線検出部による直線部分の検出動作の詳細を示す流れ図である。It is a flowchart which shows the detail of the detection operation of the straight line part by a straight line detection part. 直線検出部による直線部分の検出動作の詳細を示す流れ図である。It is a flowchart which shows the detail of the detection operation of the straight line part by a straight line detection part. 直線検出部による直線部分の検出動作の詳細を示す流れ図である。It is a flowchart which shows the detail of the detection operation of the straight line part by a straight line detection part. 直線部分の検出の具体例を示す図である。It is a figure which shows the specific example of a detection of a linear part. 直線部分の検出の具体例を示す図である。It is a figure which shows the specific example of a detection of a linear part. 円弧検出部による円弧部分の検出動作の詳細を示す流れ図である。It is a flowchart which shows the detail of the detection operation | movement of the circular arc part by a circular arc detection part. 円弧検出部による円弧部分の検出動作の詳細を示す流れ図である。It is a flowchart which shows the detail of the detection operation | movement of the circular arc part by a circular arc detection part. 円弧検出部による円弧部分の検出動作の詳細を示す流れ図である。It is a flowchart which shows the detail of the detection operation | movement of the circular arc part by a circular arc detection part. 具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図である。It is a figure which shows the experimental result which performed the straight line detection and the circular arc detection with respect to the specific figure. 具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図である。It is a figure which shows the experimental result which performed the straight line detection and the circular arc detection with respect to the specific figure. 具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図である。It is a figure which shows the experimental result which performed the straight line detection and the circular arc detection with respect to the specific figure. 具体的な図形に対して直線検出と円弧検出を行った実験結果を示す図である。It is a figure which shows the experimental result which performed the straight line detection and the circular arc detection with respect to the specific figure.

符号の説明Explanation of symbols

100 画像処理演算部
110 画像格納部
120 画素列追跡部
130 接合点抽出部
140 セグメント分割部
150 直線検出部
160 円弧検出部
170 関数化処理部
180 出力画像生成部
200 スキャナ
210 キーボード
212 マウス
220 ディスプレイ装置
230 プリンタ
DESCRIPTION OF SYMBOLS 100 Image processing calculating part 110 Image storage part 120 Pixel row tracking part 130 Joint point extraction part 140 Segment division part 150 Straight line detection part 160 Arc detection part 170 Functionalization processing part 180 Output image generation part 200 Scanner 210 Keyboard 212 Mouse 220 Display apparatus 230 Printer

Claims (27)

画像の入力を行う画像入力手段と、
前記画像入力手段によって入力された画像の形状を示す複数のセグメントを抽出するセグメント抽出手段と、
前記セグメント抽出手段によって抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、円弧および直線のそれぞれに対応する区間を検出する関数区間検出手段と、を備え、
前記関数区間検出手段は、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点および終点を通る円弧あるいは直線との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を円弧あるいは直線に対応する区間として検出するとともに、前記検出候補の長さを増減する場合の増減の長さである調整値Lを最初は前記セグメントの長さの半分に設定し、2回目以降の増減における前記調整値Lを前回の1/2に設定することを特徴とする画像処理装置。
An image input means for inputting an image;
Segment extraction means for extracting a plurality of segments indicating the shape of the image input by the image input means;
For the segment extracted by the segment extractor, the segment start point and end point are set to the initial state, the segment length is decreased until the error falls below the reference value, and the sections corresponding to the arc and the straight line are detected. Function interval detecting means for performing,
The function section detecting means sets all or a part of the segment as a detection candidate, and when an error between the detection candidate and an arc or straight line passing through the start point and the end point exceeds the reference value, the detection is performed. When the candidate is shortened and, conversely, when the error is equal to or less than the reference value, the detection candidate finally determined by increasing the detection candidate is detected as a section corresponding to an arc or a straight line, The adjustment value L, which is the length of increase / decrease when increasing / decreasing the length of the detection candidate, is initially set to half the length of the segment, and the adjustment value L for the second and subsequent increases / decreases is set to 1/2 of the previous time. the image processing apparatus according to claim that you set.
請求項1において、
前記セグメント抽出手段は、
前記画像の輪郭線に対応する画素列に含まれる接合点を抽出する接合点抽出手段と、
前記接合点抽出手段によって抽出された接合点を境界として、前記画素列を前記複数のセグメントに分割するセグメント分割手段と、
を有することを特徴とする画像処理装置。
In claim 1,
The segment extraction means includes
A junction point extracting means for extracting a junction point included in a pixel column corresponding to the contour line of the image;
Segment dividing means for dividing the pixel row into the plurality of segments with the joint point extracted by the joint point extracting means as a boundary;
An image processing apparatus comprising:
請求項2において、
前記接合点抽出手段は、前記画素列の前後の配置に基づいて、明らかな角点に相当する画素を前記接合点として抽出することを特徴とする画像処理装置。
In claim 2,
The said junction point extraction means extracts the pixel corresponded to an obvious corner point as said junction point based on the arrangement | positioning before and behind the said pixel row | line | column.
請求項1〜3のいずれかにおいて、
前記関数区間検出手段は、前記複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とを別々に行うことを特徴とする画像処理装置。
In any one of Claims 1-3,
The function section detecting means separately performs section detection corresponding to a straight line and section detection corresponding to an arc for each of the plurality of segments.
請求項4において、
前記関数区間検出手段によって検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて関数化処理を行う関数化処理手段をさらに備えることを特徴とする画像処理装置。
In claim 4 ,
It further comprises functionalization processing means for performing functionalization processing by applying an arc, a straight line, and a free curve in the order of the arc, the straight line, and the portion other than the arc and the straight line detected by the function section detection means, An image processing apparatus.
請求項5において、
前記関数化処理手段は、前記関数区間検出手段によって検出された円弧と直線に共通の画素が含まれている場合に、円弧を優先させて関数化処理を行うことを特徴とする画像処理装置。
In claim 5 ,
The image processing apparatus according to claim 1, wherein the functionalization processing unit prioritizes the arc to perform the functionalization processing when a common pixel is included in the arc and the straight line detected by the function section detection unit.
請求項1〜6のいずれかにおいて、  In any one of Claims 1-6,
前記関数区間検出手段は、円弧に対応する区間を検出する場合に、前記検出候補の始点、終点およびこれら以外の中間点を通る円弧と前記検出区間との誤差を算出することを特徴とする画像処理装置。  The function section detecting means, when detecting a section corresponding to an arc, calculates an error between the detection section and an arc passing through the start point and end point of the detection candidate and other intermediate points. Processing equipment.
請求項1〜7のいずれかにおいて、
前記関数区間検出手段は、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の平均値e1を前記誤差として計算することを特徴とする画像処理装置。
In any one of Claims 1-7 ,
The function section detecting means calculates an average value e1 of a square of a distance between each pixel constituting the detection candidate and the approximate function to be detected as the error.
請求項8において、
前記関数区間検出手段は、前記平均値e1とともに、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の最大値e2を前記誤差として計算することを特徴とする画像処理装置。
In claim 8 ,
The function section detecting means calculates, as the error, the maximum value e2 of the square of the distance between each pixel constituting the detection candidate and the approximate function to be detected together with the average value e1. Processing equipment.
画像の入力を行う第1のステップと、
入力された画像の形状を示す複数のセグメントを抽出する第2のステップと、
抽出された前記セグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、円弧および直線のそれぞれに対応する区間を検出する第3のステップと、を備え、
前記第3のステップでは、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点および終点を通る円弧あるいは直線との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を円弧あるいは直線に対応する区間として検出するとともに、前記検出候補の長さを増減する場合の増減の長さである調整値Lを最初は前記セグメントの長さの半分に設定し、2回目以降の増減における前記調整値Lを前回の1/2に設定することを特徴とする画像処理方法。
A first step of inputting an image;
A second step of extracting a plurality of segments indicating the shape of the input image;
With respect to the extracted segment, the segment start point and the end point are set as initial states, the segment length is decreased until the error becomes equal to or less than the reference value, and a section corresponding to each of the arc and the straight line is detected. includes a step, the,
In the third step, all or a part of the segment is set as a detection candidate, and when an error between the detection candidate and an arc or straight line passing through the start point and the end point exceeds the reference value, the detection is performed. When the candidate is shortened and, conversely, when the error is equal to or less than the reference value, the detection candidate finally determined by increasing the detection candidate is detected as a section corresponding to an arc or a straight line, The adjustment value L, which is the length of increase / decrease when increasing / decreasing the length of the detection candidate, is initially set to half the length of the segment, and the adjustment value L for the second and subsequent increases / decreases is set to 1/2 of the previous time. an image processing method characterized that you set.
請求項10において、
前記第2のステップは、
前記画像の輪郭線に対応する画素列に含まれる接合点を抽出する第4のステップと、
抽出された前記接合点を境界として、前記画素列を前記複数のセグメントに分割する第5のステップと、
を有することを特徴とする画像処理方法。
In claim 10 ,
The second step includes
A fourth step of extracting a junction point included in a pixel row corresponding to the contour line of the image;
A fifth step of dividing the pixel column into the plurality of segments with the extracted joint point as a boundary;
An image processing method comprising:
請求項11において、
前記第4のステップは、前記画素列の前後の配置に基づいて、明らかな角点に相当する画素を前記接合点として抽出することを特徴とする画像処理方法。
In claim 11 ,
In the image processing method according to the fourth step, pixels corresponding to apparent corner points are extracted as the junction points based on the arrangement of the pixel rows before and after.
請求項10〜12のいずれかにおいて、
前記第3のステップでは、前記複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とが別々に行われることを特徴とする画像処理方法。
In any one of Claims 10-12 ,
In the third step, for each of the plurality of segments, section detection corresponding to a straight line and section detection corresponding to an arc are separately performed.
請求項13において、
前記第3のステップにおいて検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて関数化処理を行う第6のステップをさらに有することを特徴とする画像処理方法。
In claim 13 ,
The method further includes a sixth step of performing functionalization processing by applying an arc, a straight line, and a free curve in the order of the arc, the straight line, and the arc and the straight line other than the straight line detected in the third step, respectively. Image processing method.
請求項14において、
前記第6のステップは、前記第3のステップにおいて検出された円弧と直線に共通の画素が含まれている場合に、円弧を優先させて関数化処理を行うことを特徴とする画像処理方法。
In claim 14 ,
The sixth step is an image processing method characterized in that when a common pixel is included in the arc and the straight line detected in the third step, the arc is given priority and the functionalization process is performed.
請求項10〜15のいずれかにおいて、
前記第3のステップは、円弧に対応する区間を検出する場合に、前記検出候補の始点、終点およびこれら以外の中間点を通る円弧と前記検出区間との誤差を算出することを特徴とする画像処理方法。
In any one of Claims 10-15,
The third step calculates an error between the detection section and an arc passing through the start point, end point, and other intermediate points of the detection candidate when detecting a section corresponding to the arc. Processing method.
請求項10〜16のいずれかにおいて、
前記第3のステップは、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の平均値e1を前記誤差として計算することを特徴とする画像処理方法。
In any one of Claims 10-16 ,
In the third step, an average value e1 of a square of the distance between each pixel constituting the detection candidate and the approximate function to be detected is calculated as the error.
請求項17において、
前記第3のステップは、前記平均値e1とともに、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の最大値e2を前記誤差として計算することを特徴とする画像処理方法。
In claim 17 ,
In the third step, the maximum value e2 of the square of the distance between each pixel constituting the detection candidate and the approximate function to be detected is calculated as the error together with the average value e1. Processing method.
コンピュータを、
画像の入力を行う画像入力手段と、
前記画像入力手段によって入力された画像の形状を示す複数のセグメントを抽出するセグメント抽出手段と、
前記セグメント抽出手段によって抽出されたセグメントに対して、このセグメントの始点と終点を初期状態として、誤差が基準値以下になるまでセグメント長を減少させて、円弧および直線のそれぞれに対応する区間を検出する関数区間検出手段と、
して機能させるための画像処理プログラムであって、
前記関数区間検出手段は、前記セグメントの全部あるいは一部を検出候補に設定し、この検出候補とその始点および終点を通る円弧あるいは直線との間の誤差が前記基準値を超える場合には前記検出候補を短くし、反対に前記誤差が前記基準値以下になった場合には前記検出候補を長くすることにより最終的に決定された前記検出候補を円弧あるいは直線に対応する区間として検出するとともに、前記検出候補の長さを増減する場合の増減の長さである調整値Lを最初は前記セグメントの長さの半分に設定し、2回目以降の増減における前記調整値Lを前回の1/2に設定する画像処理プログラム。
Computer
An image input means for inputting an image;
Segment extraction means for extracting a plurality of segments indicating the shape of the image input by the image input means;
For the segment extracted by the segment extractor, the segment start point and end point are set to the initial state, the segment length is decreased until the error falls below the reference value, and the sections corresponding to the arc and the straight line are detected. Function interval detecting means for
An image processing program for causing and,
The function section detecting means sets all or a part of the segment as a detection candidate, and when an error between the detection candidate and an arc or straight line passing through the start point and the end point exceeds the reference value, the detection is performed. When the candidate is shortened and, conversely, when the error is equal to or less than the reference value, the detection candidate finally determined by increasing the detection candidate is detected as a section corresponding to an arc or a straight line, The adjustment value L, which is the length of increase / decrease when increasing / decreasing the length of the detection candidate, is initially set to half the length of the segment, and the adjustment value L for the second and subsequent increases / decreases is set to 1/2 of the previous time. An image processing program to set.
請求項19において、
前記セグメント抽出手段は、
前記画像の輪郭線に対応する画素列に含まれる接合点を抽出する接合点抽出手段と、
前記接合点抽出手段によって抽出された接合点を境界として、前記画素列を前記複数のセグメントに分割するセグメント分割手段と、
を有することを特徴とする画像処理プログラム。
In claim 19 ,
The segment extraction means includes
A junction point extracting means for extracting a junction point included in a pixel column corresponding to the contour line of the image;
Segment dividing means for dividing the pixel row into the plurality of segments with the joint point extracted by the joint point extracting means as a boundary;
An image processing program comprising:
請求項20において、
前記接合点抽出手段は、前記画素列の前後の配置に基づいて、明らかな角点に相当する画素を前記接合点として抽出することを特徴とする画像処理プログラム。
In claim 20 ,
The image processing program characterized in that the junction point extraction means extracts pixels corresponding to obvious corner points as the junction points based on the front and rear arrangement of the pixel row.
請求項19〜21のいずれかにおいて、
前記関数区間検出手段は、前記複数のセグメントのそれぞれについて、直線に対応する区間検出と円弧に対応する区間検出とを別々に行うことを特徴とする画像処理プログラム。
In any one of Claims 19-21 ,
The image processing program characterized in that the function section detecting means separately performs section detection corresponding to a straight line and section detection corresponding to an arc for each of the plurality of segments.
請求項22において、
コンピュータを、さらに、前記関数区間検出手段によって検出された円弧、直線、これらの円弧および直線以外の部分の順に、円弧、直線、自由曲線をそれぞれ当てはめて関数化処理を行う関数化処理手段として機能させるための画像処理プログラム。
In claim 22 ,
The computer further functions as functionalization processing means for performing functionalization processing by applying arcs, straight lines, and free curves in the order of arcs, straight lines, and portions other than these arcs and straight lines detected by the function section detection means. An image processing program for making
請求項23において、
前記関数化処理手段は、前記関数区間検出手段によって検出された円弧と直線に共通の画素が含まれている場合に、円弧を優先させて関数化処理を行うことを特徴とする画像処理プログラム。
In claim 23 ,
An image processing program characterized in that the functionalization processing means prioritizes a circular arc and performs functionalization processing when a common pixel is included in the arc and the straight line detected by the function section detection means.
請求項19〜24のいずれかにおいて、  In any one of Claims 19-24,
前記関数区間検出手段は、円弧に対応する区間を検出する場合に、前記検出候補の始点、終点およびこれら以外の中間点を通る円弧と前記検出区間との誤差を算出することを特徴とする画像処理プログラム。  The function section detecting means, when detecting a section corresponding to an arc, calculates an error between the detection section and an arc passing through the start point and end point of the detection candidate and other intermediate points. Processing program.
請求項19〜25のいずれかにおいて、
前記関数区間検出手段は、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の平均値e1を前記誤差として計算することを特徴とする画像処理プログラム。
In any one of Claims 19-25 ,
The function section detecting means calculates an average value e1 of the square of the distance between each pixel constituting the detection candidate and the approximate function to be detected as the error.
請求項26において、
前記関数区間検出手段は、前記平均値e1とともに、前記検出候補を構成する各画素と検出対象となる前記近似関数との距離の二乗の最大値e2を前記誤差として計算することを特徴とする画像処理プログラム。
In claim 26 ,
The function section detecting means calculates the maximum value e2 of the square of the distance between each pixel constituting the detection candidate and the approximate function to be detected as the error together with the average value e1. Processing program.
JP2003303000A 2003-08-27 2003-08-27 Image processing apparatus, method, and program Expired - Fee Related JP3883993B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003303000A JP3883993B2 (en) 2003-08-27 2003-08-27 Image processing apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003303000A JP3883993B2 (en) 2003-08-27 2003-08-27 Image processing apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2005071243A JP2005071243A (en) 2005-03-17
JP3883993B2 true JP3883993B2 (en) 2007-02-21

Family

ID=34407118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003303000A Expired - Fee Related JP3883993B2 (en) 2003-08-27 2003-08-27 Image processing apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP3883993B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4086060B2 (en) * 2005-08-17 2008-05-14 トヨタ自動車株式会社 Point sequence approximation method and point sequence approximation apparatus
JP4770880B2 (en) * 2008-06-20 2011-09-14 コニカミノルタビジネステクノロジーズ株式会社 Outline conversion method, image compression method using the same, outline conversion apparatus, image compression apparatus, outline conversion program, and image compression program
JP5854774B2 (en) * 2011-11-11 2016-02-09 株式会社Pfu Image processing apparatus, straight line detection method, and computer program

Also Published As

Publication number Publication date
JP2005071243A (en) 2005-03-17

Similar Documents

Publication Publication Date Title
US8170368B2 (en) Correcting device and method for perspective transformed document images
US7054485B2 (en) Image processing method, apparatus and system
JP3345350B2 (en) Document image recognition apparatus, method thereof, and recording medium
US7916957B2 (en) Line noise eliminating apparatus, line noise eliminating method, and line noise eliminating program
US20030031366A1 (en) Image processing method and apparatus using self-adaptive binarization
JP3830998B2 (en) Ruled line removal method and character recognition apparatus using the same
US20080056546A1 (en) Character noise eliminating apparatus, character noise eliminating method, and character noise eliminating program
EP2545498B1 (en) Resolution adjustment of an image that includes text undergoing an ocr process
JP4565396B2 (en) Image processing apparatus and image processing program
JP3883993B2 (en) Image processing apparatus, method, and program
JP4873554B2 (en) Image distribution apparatus and image distribution method
JP4259949B2 (en) Image creating apparatus, image creating program, and recording medium
JPH10283471A (en) Method for processing picture and device therefor and record medium for recording picture processing program
JP4257264B2 (en) Pattern matching device, image quality verification method, and image quality verification program
JPH10162102A (en) Character recognition device
JP2858530B2 (en) Edge enhancement device
US8643649B2 (en) Image processing apparatus, image processing method, and computer-readable medium
JP2682416B2 (en) Figure recognition device
JP4259950B2 (en) Image recognition apparatus, image recognition program, and recording medium
JP2899383B2 (en) Character extraction device
JP3585143B2 (en) Character string extraction method and device
JP2778439B2 (en) Figure recognition device
JP6684947B2 (en) Reading system, reading device, program, and storage medium
JP2963508B2 (en) Character extraction device
JP4230962B2 (en) Image processing apparatus, image processing method, and image processing program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061115

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees