JP2868643B2 - Method for extracting closed area of figure - Google Patents
Method for extracting closed area of figureInfo
- Publication number
- JP2868643B2 JP2868643B2 JP3112442A JP11244291A JP2868643B2 JP 2868643 B2 JP2868643 B2 JP 2868643B2 JP 3112442 A JP3112442 A JP 3112442A JP 11244291 A JP11244291 A JP 11244291A JP 2868643 B2 JP2868643 B2 JP 2868643B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- tracking
- point
- vectors
- closed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Analysis (AREA)
Description
【0001】[0001]
【産業上の利用分野】この発明は線図形の中から一部の
閉領域を抽出する方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for extracting a part of a closed area from a line figure.
【0002】[0002]
【従来の技術】印刷製版工程においては,図形内の一部
の閉領域を特定の色で塗りつぶしたり,写真の画像をそ
の閉領域内に貼り込んだりする画像処理が行なわれる。
この画像処理を行なうためには,まず図形内の閉領域を
抽出する必要がある。2. Description of the Related Art In a plate making process, image processing is performed in which a part of a closed area in a figure is painted with a specific color or a picture image is pasted in the closed area.
In order to perform this image processing, it is necessary to first extract a closed region in the figure.
【0003】図15の(1)は,2つの閉ループF1,
F2を有する図形を示す図である。2つの長方形の閉ル
ープF1,F2は,閉ループを形成する複数のベクトル
でそれぞれ構成されている。図15(1)において,例
えば,2つの閉ループF1,F2で形成される閉領域R
aを抽出し,この閉領域Raに対して画像処理が行なわ
れる。FIG. 15A shows two closed loops F1,
It is a figure showing the figure which has F2. Each of the two rectangular closed loops F1 and F2 is composed of a plurality of vectors forming a closed loop. In FIG. 15A, for example, a closed region R formed by two closed loops F1 and F2
a is extracted, and image processing is performed on the closed region Ra.
【0004】図形内の閉領域を抽出する方法としては,
例えば特公昭61−25190号公報に記載されたもの
がある。この公報において,図形内の閉領域を抽出する
方法は「AND図形」を求める方法として記載されてい
る。この方法によれば,ベクトルを追跡していく際に,
2つの閉ループF1,F2の交点に至った場合には,そ
の交点から出ている複数のベクトルについて,それぞれ
微小ベクトル(微小な単位長さのベクトル)を求める。
そして,微小ベクトルが相手方の閉ループ内に存在する
ベクトルを,追跡すべきベクトルとして選択する。こう
してベクトルを順次追跡していくことによって閉領域R
aの輪郭を構成するベクトルを求めていく。As a method of extracting a closed region in a figure,
For example, there is one described in Japanese Patent Publication No. 61-25190. In this publication, a method of extracting a closed area in a figure is described as a method of obtaining an “AND figure”. According to this method, when tracking the vector,
When the intersection of the two closed loops F1 and F2 is reached, a minute vector (a vector having a minute unit length) is obtained for each of a plurality of vectors coming out of the intersection.
Then, a vector whose minute vector exists in the other party's closed loop is selected as a vector to be tracked. By sequentially tracing the vectors in this manner, the closed region R
The vectors forming the contour of a are obtained.
【0005】[0005]
【発明が解決しようとする課題】上述した従来の方法で
は,複数のベクトルが予め2つの閉ループに分類されて
いなければならない。従って,図形を表わす複数のベク
トルが複数の閉ループに分類されていない場合には,こ
の方法によって閉領域を抽出できないという問題があ
る。In the conventional method described above, a plurality of vectors must be classified into two closed loops in advance. Therefore, when a plurality of vectors representing a figure are not classified into a plurality of closed loops, there is a problem that a closed region cannot be extracted by this method.
【0006】また,図形が多数の閉ループを有している
ときには,上述の方法による処理が煩雑になる場合があ
る。図15(2)は,3つの閉ループF1,F2,F3
を有する図形を示す図である。例えば閉領域Rbを抽出
するには,オペレータが3つの閉ループF1,F2,F
3と閉領域Rbとの関係を指定しなければならない。閉
ループの数がさらに多数になった場合には,各閉ループ
と抽出したい閉領域との関係を指定するのにかなりの手
間を要するという問題がある。When a graphic has a large number of closed loops, the processing by the above method may be complicated. FIG. 15B shows three closed loops F1, F2, and F3.
It is a figure which shows the figure which has. For example, in order to extract the closed region Rb, the operator needs to perform three closed loops F1, F2, F
3 and the closed region Rb. When the number of closed loops is further increased, there is a problem that it takes considerable time to specify the relationship between each closed loop and a closed region to be extracted.
【0007】この発明は,従来技術における上述の課題
を解決するためになされたものであり,オペレータが複
雑な指定を行なう必要がなく,一部の閉領域を容易に抽
出することのできる閉領域抽出方法を提供することを目
的とする。SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems in the prior art, and does not require the operator to make complicated designations, and allows a closed area to be easily extracted from a part of the closed area. It is intended to provide an extraction method.
【0008】[0008]
【課題を解決するための手段】上述の課題を解決するた
め,この発明による閉領域抽出方法は, (1)画像内の線図形を構成する複数のベクトルを表わ
すベクトルデータを準備する工程と, (2)前記線図形内の一部の閉領域の内部の点を指定点
として指定する工程と, (3)前記指定点の位置と前記ベクトルデータとに基づ
いて,前記複数のベクトルの中から,前記指定点との距
離が最も近いベクトルを追跡開始ベクトルとして選択す
る工程と, (4)前記追跡開始ベクトルの進行方向に前記指定点を
見たときに,前記指定点が前記追跡開始ベクトルの左側
にあるか右側にあるかを,前記追跡開始ベクトルの始点
と前記指定点とを両端点とするベクトルと前記追跡開始
ベクトルとの外積に基づいて判定し,前記指定点が前記
追跡開始ベクトルの左側にある場合を第1の追跡条件と
判断し,前記指定点が前記追跡開始ベクトルの右側にあ
る場合を第2の追跡条件と判断する工程と, (5)前記第1の追跡条件の場合には,前記追跡開始ベ
クトルから直列に接続していく複数のベクトルを各ベク
トルの進行方向に係わらず反時計方向に順次追跡しつ
つ,閉ループを構成する複数のベクトルを選択すること
によって,前記指定点を含む最小の閉領域を取り囲む閉
ループベクトル群を抽出し, 前記第2の追跡条件の場合には,前記追跡開始ベクトル
から直列に接続していく複数のベクトルを各ベクトルの
進行方向に係わらず時計方向に順次追跡しつつ,閉ルー
プを構成する複数のベクトルを選択することによって,
前記指定点を含む最小の閉領域を取り囲む閉ループベク
トル群を抽出する工程と,を備える。In order to solve the above-mentioned problems, a closed region extracting method according to the present invention comprises: (1) a step of preparing vector data representing a plurality of vectors constituting a line figure in an image; (2) a step of designating a point inside a part of the closed region in the line figure as a designated point; and (3) a step of designating, from the plurality of vectors, Selecting the vector closest to the specified point as the tracking start vector; and (4) when the specified point is viewed in the traveling direction of the tracking start vector, left
Is the starting point of the tracking start vector
And the vector having the specified point as both end points and the tracking start
Determined based on the outer product of a vector, said when the specified point is to the left of the track starting vector is determined that the first tracking condition, the designated point when the second on the right side of the tracing starting vector (5) In the case of the first tracking condition, a plurality of vectors connected in series from the tracking start vector are stored in each vector.
Selecting a plurality of vectors forming a closed loop while sequentially tracking in a counterclockwise direction irrespective of the traveling direction of the torque, thereby extracting a closed loop vector group surrounding a minimum closed area including the designated point; In the case of the tracking condition, a plurality of vectors connected in series from the tracking start vector are
By selecting multiple vectors that form a closed loop while sequentially tracking clockwise regardless of the direction of travel ,
Extracting a closed loop vector group surrounding the smallest closed region including the designated point.
【0009】[0009]
【作用】一部の閉領域内に指定した指定点と,指定点に
最も距離の近いベクトルとの関係に基づいてベクトルの
追跡条件を判定し,その追跡条件に応じて,ベクトルを
時計回りまたは反時計回りに追跡するので,指定点を指
定するだけで,閉領域を取り囲む閉ループベクトル群を
抽出することができる。また,ベクトルの追跡条件の判
定においては、指定点が追跡開始ベクトルの左側にある
か右側にあるかをベクトルの外積に基づいて判定するの
で,ベクトルの進行方向に従って追跡条件を一義的に決
定することができる。また,追跡開始後には,ベクトル
の進行方向に係わらずに追跡するので,ベクトルの進行
方向とは逆向きにも追跡してゆくことができる。 [Operation] A vector tracking condition is determined based on a relationship between a specified point specified in a part of a closed area and a vector closest to the specified point, and the vector is rotated clockwise or Since the tracking is performed in the counterclockwise direction, a closed loop vector group surrounding the closed region can be extracted only by specifying the specified point. In addition, the vector tracking condition
By default, the specified point is on the left side of the tracking start vector
Or on the right based on the cross product of the vectors
The tracking conditions are uniquely determined according to the vector's traveling direction.
Can be specified. After the start of tracking, the vector
Tracking regardless of the direction of travel
You can track in the opposite direction.
【0010】[0010]
【実施例】A.装置の構成 図1は,本発明の一実施例を適用して閉領域の抽出処理
を行なう画像処理装置の構成を示すブロック図である。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing the configuration of an image processing apparatus that performs a closed region extraction process by applying an embodiment of the present invention.
【0011】この画像処理装置100は,CPU10
と,処理プログラムを記憶するROM20と,RAM3
0と,画像データ入力ポート40と,図形画像入力ポー
ト50と,端末制御部60と,外部記憶装置制御部70
とを備えている。これらの構成要素10〜70は,バス
ライン80によって互いに接続されている。画像データ
入力ポート40は通信回線を介して外部の画像処理装置
と接続されており,写真などの絵柄画像を表わす多値画
像データを外部の画像処理装置から受け取るポートであ
る。図形画像入力ポート50はイメージスキャナ110
と接続されており,白黒の線図形画像を表わす図形画像
データをイメージスキャナ110から受け取るポートで
ある。また,端末制御部60と外部記憶装置制御部70
とは,入出力端末120と外部記憶装置130とにそれ
ぞれ接続されている。入出力端末120はキーボードや
マウスなどの入力装置とCRTなどの表示装置とを有し
ており,オペレータが表示装置を見ながら入力装置によ
って各種のデータ入力や指定を行なう。The image processing apparatus 100 includes a CPU 10
A ROM 20 for storing a processing program and a RAM 3
0, image data input port 40, graphic image input port 50, terminal control unit 60, external storage device control unit 70
And These components 10 to 70 are connected to each other by a bus line 80. The image data input port 40 is connected to an external image processing device via a communication line, and receives multi-valued image data representing a picture image such as a photograph from the external image processing device. The graphic image input port 50 is an image scanner 110
Is a port that receives graphic image data representing a monochrome line graphic image from the image scanner 110. Further, the terminal control unit 60 and the external storage device control unit 70
Are connected to the input / output terminal 120 and the external storage device 130, respectively. The input / output terminal 120 has an input device such as a keyboard and a mouse, and a display device such as a CRT. An operator performs various data inputs and designations with the input device while looking at the display device.
【0012】CPU10は,ベクトルデータ変換手段1
1と,閉領域抽出手段12と,画像貼込手段13とを有
している。ベクトルデータ変換手段11は,図形画像の
ラスタデータに基づいて図形の細線化を行なうことによ
り1画素の幅の図形をもとめ,この図形を表わすベクト
ルデータを生成する。閉領域抽出手段12は,このベク
トルデータに基づいて後述する閉領域の抽出処理を行な
う。また,画像貼込手段13は,抽出された閉領域内に
絵柄画像を貼込む処理を行なう。なお,ベクトルデータ
変換手段11と,閉領域抽出手段12と,画像貼込手段
13とは,ROM20に記憶された処理プログラムに従
ってCPU10がデータ処理を行なうことによって実現
される手段である。The CPU 10 includes a vector data conversion means 1
1, a closed region extracting unit 12, and an image pasting unit 13. The vector data conversion means 11 obtains a figure having a width of one pixel by thinning the figure based on the raster data of the figure image, and generates vector data representing the figure. The closed region extraction means 12 performs a closed region extraction process described later based on the vector data. The image pasting means 13 performs a process of pasting a picture image in the extracted closed area. The vector data converting means 11, the closed area extracting means 12, and the image pasting means 13 are realized by the CPU 10 performing data processing according to a processing program stored in the ROM 20.
【0013】B.処理の概略手順 図2は,この画像処理装置を用いて行なう処理の概略手
順を示すフローチャートである。まず,ステップS1で
は,原画像として描かれた図形をイメージスキャナ11
0で光電走査することにより,図形画像を表わすラスタ
データを読み取る。図3は,図形FFの原画像を示す図
である。この図形FFは,黒色の2つの長方形が一部で
重なった形状を有している。また,図形の各辺(線分)
は,数画素から数十画素の幅を有している。B. FIG. 2 is a flowchart showing a schematic procedure of a process performed by using the image processing apparatus. First, in step S1, a figure drawn as an original image is
By performing photoelectric scanning with 0, raster data representing a graphic image is read. FIG. 3 is a diagram showing an original image of the graphic FF. This figure FF has a shape in which two black rectangles partially overlap. Also, each side (line segment) of the figure
Has a width of several pixels to several tens of pixels.
【0014】ステップS2では,図形FFを表わすラス
タデータに基づき,ベクトルデータ変換手段11が図形
FFの細線化を行なうことにより1画素の幅の図形をも
とめ,この図形を表わすベクトルデータを生成する。求
められたベクトルデータは,RAM30に記憶される。
図4は,細線化により得られた図形FFt(以下,「細
線化図形」と呼ぶ。)を示す図である。この細線化図形
FFtは,複数のベクトルV1〜V20で構成される閉
ループ図形である。In step S2, based on the raster data representing the graphic FF, the vector data converter 11 thins the graphic FF to obtain a graphic having a width of one pixel, and generates vector data representing the graphic. The obtained vector data is stored in the RAM 30.
FIG. 4 is a diagram showing a figure FFt (hereinafter, referred to as a “thinned figure”) obtained by thinning. This thin line figure FFt is a closed loop figure composed of a plurality of vectors V1 to V20.
【0015】図4に示すように,細線化図形FFtはベ
クトルV1〜V10で構成される長方形と,ベクトルV
11〜V20で構成される長方形とを有している。図5
は,細線化図形FFtのベクトルを表わすベクトルデー
タの構造を示す概念図である。各ベクトルV1〜Vn
(この実施例ではn=20)に対するベクトルデータは
次のデータを有している。 (1)始点座標(Xsi,Ysi) (2)終点座標(Xei,Yei) (3)始点接続データ a.始点接続ベクトル数Csi:このベクトルの始点に
接続している他のベクトルの数。他のベクトルは,始
点,終点のどちらで接続していてもよい。図6のベクト
ルViに対しては始点接続ベクトル数Csi=2であ
る。 b.始点接続ベクトルのアドレスAi:始点接続ベクト
ルのベクトルデータのRAM30におけるアドレス。 (4)終点接続データ a.終点接続ベクトル数Cei:このベクトルの終点に
接続している他のベクトルの数。他のベクトルは,始
点,終点のどちらで接続していてもよい。図6のベクト
ルViに対しては終点接続ベクトル数Cei=3であ
る。 b.終点接続ベクトルのアドレスBi:各終点接続ベク
トルのベクトルデータのRAM30におけるアドレス。 (5)追跡済フラグTFi:このベクトルが既に追跡さ
れているか否かを示すフラグ。始めはすべてのベクトル
の追跡済フラグが0(未追跡を表わす)にイニシャライ
ズされている。As shown in FIG. 4, a thin line figure FFt is a rectangle composed of vectors V1 to V10 and a vector V1.
11 to V20. FIG.
FIG. 4 is a conceptual diagram showing a structure of vector data representing a vector of a thinned figure FFt. Each vector V1 to Vn
The vector data for (n = 20 in this embodiment) has the following data. (1) Start point coordinates (Xsi, Ysi) (2) End point coordinates (Xei, Yei) (3) Start point connection data a. Start point connection vector number Csi: the number of other vectors connected to the start point of this vector. Other vectors may be connected at either the start point or the end point. For the vector Vi in FIG. 6, the starting point connection vector number Csi = 2. b. Address Ai of start point connection vector: Address in RAM 30 of vector data of start point connection vector. (4) Endpoint connection data a. End point connection vector number Cei: the number of other vectors connected to the end point of this vector. Other vectors may be connected at either the start point or the end point. For the vector Vi in FIG. 6, the number of end point connection vectors Cei = 3. b. Address Bi of end point connection vector: Address in RAM 30 of vector data of each end point connection vector. (5) Tracked flag TFi: a flag indicating whether or not this vector has already been tracked. Initially, the tracked flags of all vectors are initialized to 0 (representing untracked).
【0016】ベクトルデータ変換手段11は,細線化図
形FFtの各ベクトルV1〜V20を求めるとともに,
各ベクトルの接続関係を調べることによって図5に示す
ベクトルデータを生成する。図2に戻り,ステップS2
においてベクトルデータを作成した後,ステップS3〜
S6において閉領域の抽出処理を行なう。ここでは,図
4の4つのベクトルV3,V4,V18,V19で取り
囲まれる閉領域CRを抽出する場合について説明する。The vector data conversion means 11 obtains each vector V1 to V20 of the thinned figure FFt,
The vector data shown in FIG. 5 is generated by examining the connection relation of each vector. Returning to FIG. 2, step S2
After creating the vector data in step S3
At S6, a process of extracting a closed region is performed. Here, a case will be described in which a closed region CR surrounded by the four vectors V3, V4, V18, and V19 in FIG. 4 is extracted.
【0017】ステップS3では,オペレータが閉領域C
Rの内部にある一点CP(以下,「指定点」と呼ぶ。)
の位置を指定する。この指定は,入出力端末120のデ
ィスプレイ装置に表示された細線化図形FFtを見なが
ら,ディジタイザやマウスなどのポインティングデバイ
スを用いてディスプレイ装置のカーソルを移動させ,指
定点CPの位置で入力操作(マウスのクリックなど)を
行なうことによって実行される。指定された点CPの座
標値(Xc,Yc)はRAM30に記憶される。In step S3, the operator sets the closed area C
One point CP inside R (hereinafter, referred to as “designated point”)
Specify the position of. This designation is performed by moving the cursor of the display device using a pointing device such as a digitizer or a mouse while looking at the thinned figure FFt displayed on the display device of the input / output terminal 120, and performing an input operation at the position of the designated point CP ( This is executed by performing a mouse click or the like. The coordinate values (Xc, Yc) of the designated point CP are stored in the RAM 30.
【0018】ステップS4とS5では,指定点CPの位
置に基づいて,閉領域抽出手段12(図1参照)がベク
トルを次々に追跡していくことによって閉ループを構成
するベクトル(閉領域CRを取り囲むベクトル)を選択
する。これらのステップS4,S5の詳細な手順につい
ては更に後述するが,ここでは図7を参照してその概要
を説明する。In steps S4 and S5, based on the position of the designated point CP, the closed region extracting means 12 (see FIG. 1) tracks the vectors one after another, thereby forming a vector forming a closed loop (surrounding the closed region CR). Vector). The detailed procedure of these steps S4 and S5 will be further described later, but the outline thereof will be described here with reference to FIG.
【0019】ステップS4では,細線化図形FFtの各
ベクトルについて指定点CPとの距離dを算出し,距離
dが最小となるベクトルを追跡開始ベクトルVf0とし
て選択する(図7(1)参照)。In step S4, the distance d to the designated point CP is calculated for each vector of the thin line figure FFt, and the vector having the minimum distance d is selected as the tracking start vector Vf0 (see FIG. 7A).
【0020】追跡開始ベクトルVf0と指定点CPとの
関係は,図7(1)に示すように,次の2つに分類され
る: (a)追跡開始ベクトルVf0の進行方向に指定点CP
を見たときに,指定点CPが追跡開始ベクトルVf0の
左側に見える場合(図中のベクトルVf0aの場合)。 (b)追跡開始ベクトルVf0の進行方向に指定点CP
を見たときに,指定点CPが追跡開始ベクトルVf0の
右側に見える場合(図中のベクトルVf0bの場合)。The relationship between the tracking start vector Vf0 and the designated point CP is classified into the following two, as shown in FIG. 7A: (a) The designated point CP in the traveling direction of the tracking start vector Vf0
When the designated point CP is seen on the left side of the tracking start vector Vf0 (in the case of the vector Vf0a in the figure). (B) The designated point CP in the traveling direction of the tracking start vector Vf0
When the designated point CP is seen on the right side of the tracking start vector Vf0 when viewed (in the case of the vector Vf0b in the figure).
【0021】ステップS5では,上記(a),(b)の
2つの場合のそれぞれについて,次のようにしてベクト
ルを追跡する:上記(a)の場合には,図7(2a)に
示すように,反時計回りにベクトルを追跡する。すなわ
ち,追跡開始ベクトルVf0aの終点EPに接続する複
数のベクトルの中で,終点EPを中心として追跡開始ベ
クトルVf0aから時計回りに各ベクトル角度θ1,θ
2…を計り,最小の角度θ1を有するベクトルVf1を
次の追跡ベクトルとする。In step S5, for each of the above two cases (a) and (b), the vector is tracked as follows: In the case of the above (a), as shown in FIG. Then, the vector is tracked counterclockwise. That is, among a plurality of vectors connected to the end point EP of the tracking start vector Vf0a, each vector angle θ1, θ0 is clockwise from the tracking start vector Vf0a around the end point EP.
2 are measured, and the vector Vf1 having the minimum angle θ1 is set as the next tracking vector.
【0022】上記(b)の場合には,図7(2b)に示
すように,時計回りにベクトルを追跡する。すなわち,
追跡開始ベクトルVf0bの終点EPに接続する複数の
ベクトルの中で,終点EPを中心として追跡開始ベクト
ルVf0bから反時計回りに各ベクトルの度θ1,θ2
…を計り,最小の角度θ1を有するベクトルVf1を次
の追跡ベクトルとする。In the case of the above (b), the vector is tracked clockwise as shown in FIG. 7 (2b). That is,
Among a plurality of vectors connected to the end point EP of the tracking start vector Vf0b, the degrees θ1, θ2 of the respective vectors in a counterclockwise direction from the tracking start vector Vf0b around the end point EP.
, And the vector Vf1 having the minimum angle θ1 is set as the next tracking vector.
【0023】図4の例では,閉領域CRを取り囲むベク
トルV3,V4,V18,V19を追跡ベクトルとして
選択していく。例えば,ステップS4においてベクトル
V19が追跡開始ベクトルとして選択され,ベクトルV
3,V4,V18が追跡ベクトルとして順次選択され
る。そして,これらの追跡ベクトルが閉ループを形成す
ると追跡処理を終了する。抽出すべき閉領域が他にある
場合には,オペレータが抽出処理の継続を指定すること
によってステップS6からステップS3に戻り,上述の
処理を繰り返す。In the example of FIG. 4, vectors V3, V4, V18, and V19 surrounding the closed region CR are selected as tracking vectors. For example, in step S4, the vector V19 is selected as the tracking start vector, and the vector V19 is selected.
3, V4 and V18 are sequentially selected as tracking vectors. When these tracking vectors form a closed loop, the tracking process ends. If there is another closed area to be extracted, the operator returns from step S6 to step S3 by designating continuation of the extraction processing, and repeats the above processing.
【0024】以上のようにして閉領域CRの抽出処理が
終了すると,ステップS7において閉領域CRの内部に
所定の画像が貼込まれる。貼込まれる画像は,多値画像
データで表わされる絵柄画像である。画像の貼込み処理
は,閉領域CRの内部(すなわち,ベクトルV3,V
4,V18,V19で囲まれた領域)の原画像データ
を,多値画像データで置き換えることによって行なわれ
る。この画像貼込処理は,画像貼込手段13によって行
なわれる。When the process of extracting the closed region CR is completed as described above, a predetermined image is pasted inside the closed region CR in step S7. The image to be pasted is a picture image represented by multi-valued image data. The image pasting process is performed inside the closed region CR (that is, the vectors V3 and V3).
This is performed by replacing the original image data of the area surrounded by 4, V18, and V19) with the multivalued image data. This image pasting process is performed by the image pasting means 13.
【0025】C.ベクトル追跡の詳細手順 以下では,ステップS4,S5におけるベクトルの追跡
手順を詳細に説明する。図8と図9は,ステップS4の
手順を詳細に示すフローチャートである。C. Detailed Procedure of Vector Tracking The following describes the vector tracking procedure in steps S4 and S5 in detail. FIGS. 8 and 9 are flowcharts showing the procedure of step S4 in detail.
【0026】ステップS401〜S404では,まず,
細線化図形FFtのすべてのベクトルについて指定点C
Pとの距離を算出する。図10は,これらのステップに
おける処理を説明する図である。各ベクトルと指定点C
Pとの距離を求めるためには,まずステップS401で
指定点CPから各ベクトルに対して垂線をおろし,垂線
と各ベクトルとの交点を求める。図10は,指定点CP
からベクトルViにおろした垂線NLを示している。In steps S401 to S404, first,
Specified point C for all vectors of thinned figure FFt
The distance from P is calculated. FIG. 10 is a diagram for explaining the processing in these steps. Each vector and designated point C
In order to determine the distance to P, first, in step S401, a perpendicular is drawn from the designated point CP to each vector, and an intersection between the perpendicular and each vector is determined. FIG. 10 shows the designated point CP.
From the vertical line NL to the vector Vi.
【0027】ベクトルViの始点Psと終点Peとの座
標をそれぞれ(Xsi,Ysi),(Xei,Yei)
とすると,ベクトルViは次の一次式で表わされる。The coordinates of the start point Ps and the end point Pe of the vector Vi are (Xsi, Ysi) and (Xei, Yei), respectively.
Then, the vector Vi is represented by the following linear expression.
【数1】 また,指定点CPの座標を(Xc,Yc)とすると,垂
線NLは次の一次式で表わされる。(Equation 1) Assuming that the coordinates of the designated point CP are (Xc, Yc), the perpendicular NL is represented by the following linear expression.
【数2】 数式1と数式2から,垂線NLとベクトルViとの交点
IPの座標(Xp,Yp)は,それぞれ次の数式3と数
式4で表わされる。(Equation 2) From Expressions 1 and 2, the coordinates (Xp, Yp) of the intersection IP between the perpendicular NL and the vector Vi are expressed by Expressions 3 and 4, respectively.
【数3】 (Equation 3)
【数4】 (Equation 4)
【0028】次に,ステップS402において交点IP
がベクトルViの上にあるか否かを調べる。交点IPの
座標(Xp,Yp)が次の条件を満足すれば,交点IP
はベクトルViの上に存在する。 Xsi≦Xp≦Xei,かつ,Ysi≦Yp≦Yei 上記の条件を満たさない場合には,交点IPはベクトル
Viの上に存在しない。Next, at step S402, the intersection IP
Is on the vector Vi. If the coordinates (Xp, Yp) of the intersection IP satisfy the following condition, the intersection IP
Exists on the vector Vi. Xsi ≦ Xp ≦ Xei and Ysi ≦ Yp ≦ Yei If the above conditions are not satisfied, the intersection point IP does not exist on the vector Vi.
【0029】交点IPがベクトルViの上に存在する場
合には,ステップS403において,指定点CPと交点
IPとの間の距離を,指定点CPとベクトルViとの距
離dと定義する(図10の(a−1),(b−1)の場
合)。この場合,そのベクトルViの状態フラグFiを
1に設定する。If the intersection point IP exists on the vector Vi, in step S403, the distance between the designated point CP and the intersection point IP is defined as the distance d between the designated point CP and the vector Vi (FIG. 10). (A-1) and (b-1)). In this case, the state flag Fi of the vector Vi is set to 1.
【0030】一方,交点IPがベクトルViの上に存在
しない場合には,ステップS404において,ベクトル
Viの始点Psおよび終点Peと指定点CPとの距離を
比較し,その小さい方を指定点CPとベクトルViとの
距離dとする(図10の(a−2),(b−2)の場
合)。この場合,そのベクトルViの状態フラグFiを
0に設定する。On the other hand, if the intersection point IP does not exist on the vector Vi, in step S404, the distances between the start point Ps and end point Pe of the vector Vi and the designated point CP are compared, and the smaller one is compared with the designated point CP. The distance d from the vector Vi is assumed (cases (a-2) and (b-2) in FIG. 10). In this case, the state flag Fi of the vector Vi is set to 0.
【0031】以上のようにして細線化図形のすべてのベ
クトルについて距離dと状態フラグFiとを求める。次
に,ステップS405において,距離dが最小となるベ
クトルが複数あるか否かを調べる。距離dが最小となる
ベクトルを,ここでは「候補ベクトル」と呼ぶ。候補ベ
クトルが1つしか存在しない場合には,ステップS40
6において,そのベクトルを追跡開始ベクトルとして選
択する。As described above, the distance d and the state flag Fi are obtained for all the vectors of the thin line figure. Next, in step S405, it is checked whether or not there are a plurality of vectors having the minimum distance d. The vector having the minimum distance d is referred to herein as a “candidate vector”. If there is only one candidate vector, step S40
At 6, the vector is selected as the tracking start vector.
【0032】候補ベクトルが複数ある場合には,ステッ
プS407において,さらにその複数の候補ベクトルの
中に状態フラグFiの値が1である候補ベクトルが存在
するか否かを調べる。状態フラグFi=1である候補ベ
クトルが存在する場合には,ステップS408におい
て,そのうちの任意の1つを追跡開始ベクトルとして選
択する。これは,図10の(a−1)または(b−1)
の場合に相当する。追跡開始ベクトルとして選択された
ベクトルの追跡済フラグは1(追跡済みであることを表
わす)に設定される。If there are a plurality of candidate vectors, it is checked in step S407 whether or not any of the plurality of candidate vectors has a value of the state flag Fi of 1. If there is a candidate vector with the status flag Fi = 1, in step S408, any one of them is selected as the tracking start vector. This corresponds to (a-1) or (b-1) in FIG.
Corresponds to the case of The tracked flag of the vector selected as the tracking start vector is set to 1 (indicating that tracking has been completed).
【0033】一方,状態フラグFi=1である候補ベク
トルが存在しない場合には,ステップS409におい
て,状態フラグFi=0の候補ベクトルのうちで互いに
連結している2つのベクトルVi,Vkの一組を追跡開
始ベクトルセットとして選択する。これは,図10の
(a−2)または(b−2)の場合に相当する。追跡開
始ベクトルセットVi,Vkを選択することは,ベクト
ルViを追跡開始ベクトルとして選択し,さらに,ベク
トルVkをその次の追跡ベクトルとして選択することと
同じである。なお,2つの候補ベクトルVi,Vkが連
結しているか否かは,図5に示すベクトルデータを参照
することによって判断できる。追跡開始ベクトルセット
として選択された2つのベクトルVi,Vkの追跡済フ
ラグはどちらも1(追跡済みであることを表わす)に設
定される。On the other hand, when there is no candidate vector with the status flag Fi = 1, in step S409, a set of two vectors Vi and Vk connected to each other among the candidate vectors with the status flag Fi = 0 As the tracking start vector set. This corresponds to the case of (a-2) or (b-2) in FIG. Selecting the tracking start vector sets Vi and Vk is the same as selecting the vector Vi as the tracking start vector and further selecting the vector Vk as the next tracking vector. Whether or not the two candidate vectors Vi and Vk are connected can be determined by referring to the vector data shown in FIG. The tracked flags of the two vectors Vi and Vk selected as the tracking start vector set are both set to 1 (indicating that tracking has been completed).
【0034】図9のステップS410〜S416では,
指定点CPと選択された追跡開始ベクトルVf0との関
係に基づいて,追跡条件を表わすフラグ(以下,「追跡
方向フラグ」と呼ぶ。)DFが以下のようにして設定さ
れる。In steps S410 to S416 in FIG.
Based on the relationship between the designated point CP and the selected tracking start vector Vf0, a flag DF (hereinafter, referred to as a "tracking direction flag") indicating the tracking condition is set as follows.
【0035】ステップS410では,追跡開始ベクトル
Vf0の状態フラグFiが1か否かが調べられる。図1
0の(a−1),(b−1)の場合には状態フラグFi
が1であり,図10の(a−2),(b−2)の場合に
は状態フラグFiが0である。In step S410, it is checked whether or not the state flag Fi of the tracking start vector Vf0 is 1. FIG.
In the case of (a-1) and (b-1) of 0, the status flag Fi
Is 1, and in the case of (a-2) and (b-2) in FIG. 10, the status flag Fi is 0.
【0036】まず,図10の(a−1),(b−1)の
場合について説明する。Fi=1であれば,ステップS
411において,ベクトルの外積Vf0×Vcの大きさ
|Vf0×Vc|の符号が調べられる。ここで,ベクト
ルVcは追跡開始ベクトルVf0の始点から指定点CP
に向かうベクトル(以下,「指定点ベクトル」と呼
ぶ。)である。図11の(a−1),(b−1),(a
−2),(b−2)は,それぞれ図10の(a−1),
(b−1),(a−2),(b−2)の場合における追
跡開始ベクトルVf0と指定点ベクトルVcとの関係を
示す図である。First, the cases of (a-1) and (b-1) in FIG. 10 will be described. If Fi = 1, step S
At 411, the sign of the magnitude | Vf0 * Vc | of the vector cross product Vf0 * Vc is examined. Here, the vector Vc is a specified point CP from the start point of the tracking start vector Vf0.
(Hereinafter, referred to as “designated point vector”). (A-1), (b-1), (a) of FIG.
-2) and (b-2) are (a-1) and (b-1) in FIG.
It is a figure which shows the relationship between the tracking start vector Vf0 and the designated point vector Vc in the case of (b-1), (a-2), (b-2).
【0037】外積の大きさ|Vf0×Vc|は,次の数
式5で与えられる。The magnitude of the outer product | Vf0 × Vc | is given by the following equation (5).
【数5】 ここで,ベクトル間の角度θcは,追跡開始ベクトルV
f0の始点Psを中心として,反時計回りに追跡開始ベ
クトルVf0から指定点ベクトルVcまで計った角度で
ある。図12の(a)は,参考の為に正弦波曲線を示し
ている。図11(a−1)の例のように角度θcがπ以
下であれば|Vf0×Vc|≧0であり,追跡方向フラ
グDFは1に設定される(ステップS413)。一方,
図11(b−1)の例のように角度θcがπより大であ
れば|Vf0×Vc|<0であり,追跡方向フラグDF
は0に設定される(ステップS414)。言い換えれ
ば,追跡開始ベクトルVf0の進行方向に見たときに指
定点CPが左側に見える場合には追跡方向フラグDFが
1に設定され(ステップS413),指定点CPが右側
に見える場合には追跡方向フラグDFが0に設定される
(ステップS414)。(Equation 5) Here, the angle θc between the vectors is the tracking start vector V
It is an angle measured from the tracking start vector Vf0 to the designated point vector Vc counterclockwise around the start point Ps of f0. FIG. 12A shows a sine wave curve for reference. If the angle θc is equal to or smaller than π as in the example of FIG. 11A-1, | Vf0 × Vc | ≧ 0, and the tracking direction flag DF is set to 1 (step S413). on the other hand,
If the angle θc is larger than π as in the example of FIG. 11B-1, | Vf0 × Vc | <0, and the tracking direction flag DF
Is set to 0 (step S414). In other words, the tracking direction flag DF is set to 1 when the designated point CP is seen on the left side when viewed in the traveling direction of the tracking start vector Vf0 (step S413), and when the designated point CP is seen on the right side, the tracking is performed. The direction flag DF is set to 0 (Step S414).
【0038】図10の(a−2),(b−2)の場合に
は,追跡開始ベクトルとして2つのベクトルで構成され
るベクトルセットVf01,Vf02が選択されている
ので,状態フラグFiが0である。この時には,ステッ
プS410からステップS412に移行する。In the case of (a-2) and (b-2) of FIG. 10, since the vector set Vf01 and Vf02 composed of two vectors are selected as the tracking start vectors, the state flag Fi is set to 0. It is. At this time, the process moves from step S410 to step S412.
【0039】ステップS412では,追跡開始ベクトル
セットの合成ベクトルVf00(以下,「追跡開始合成
ベクトル」と呼ぶ。)と,指定点ベクトルVcとの外積
の大きさ|Vf00×Vc|の符号が上記と同様にして
調べられる。図11の(a−2),(b−2)に示すよ
うに,指定点ベクトルVcは追跡開始合成ベクトルVf
00の始点から指定点CPに向かうベクトルである。In step S412, the sign of the magnitude | Vf00 × Vc | of the cross product of the combined vector Vf00 of the tracking start vector set (hereinafter, referred to as “combined tracking start vector”) and the designated point vector Vc is as follows. It can be checked in the same way. As shown in (a-2) and (b-2) of FIG. 11, the designated point vector Vc is the tracking start composite vector Vf
A vector from the start point of 00 to the designated point CP.
【0040】ステップS412において|Vf00×V
c|≧0であればステップS415において追跡方向フ
ラグDFが1に設定され,|Vf00×Vc|<0であ
ればステップS416において追跡方向フラグDFが0
に設定される。In step S412, | Vf00 × V
If c | ≧ 0, the tracking direction flag DF is set to 1 in step S415, and if | Vf00 × Vc | <0, the tracking direction flag DF is set to 0 in step S416.
Is set to
【0041】なお,状態フラグFiが0であり,追跡開
始ベクトルセットとが選択されている場合に,追跡開始
合成ベクトルVf00を用いて追跡方向フラグDFの設
定を行なったのは,図11の(c)のような場合にも,
追跡方向フラグDFを正しく設定できるようするためで
ある。図11の(c)の場合に,追跡開始ベクトルセッ
トの第1のベクトルVf01を用い,その始点から指定
点CPまでのベクトルVc1とベクトルVf01との外
積|Vf01×Vc1|の符号を調べると追跡方向フラ
グDFは1となる。一方,第2のベクトルVf02を用
い,その始点から指定点CPまでのベクトルVc2とベ
クトルVf02との外積|Vf02×Vc2|の符号を
調べると追跡方向フラグDFは0となる。すなわち,追
跡開始ベクトルセットの2つのベクトルのうちどちらを
用いて追跡方向フラグDFを設定するかによって,追跡
方向フラグDFの値が異なってしまう場合がある。そこ
で,追跡開始ベクトルセットが選択されている場合に
は,追跡開始合成ベクトルVf00を用いて上述のよう
に追跡方向フラグDFを設定すれば,追跡開始ベクトル
セットの正味の方向からみた指定点CPの位置を正しく
判断できる。Note that the setting of the tracking direction flag DF using the tracking start composite vector Vf00 when the state flag Fi is 0 and the tracking start vector set is selected is as shown in FIG. In cases like c),
This is to enable the tracking direction flag DF to be set correctly. In the case of FIG. 11C, the first vector Vf01 of the tracking start vector set is used, and the sign of the outer product | Vf01 × Vc1 | of the vector Vc1 and the vector Vf01 from the start point to the designated point CP is checked. The direction flag DF becomes 1. On the other hand, when the sign of the cross product | Vf02 × Vc2 | between the vector Vc2 and the vector Vf02 from the start point to the designated point CP is examined using the second vector Vf02, the tracking direction flag DF becomes 0. That is, the value of the tracking direction flag DF may differ depending on which of the two vectors of the tracking start vector set is used to set the tracking direction flag DF. Therefore, when the tracking start vector set is selected, by setting the tracking direction flag DF as described above using the combined tracking start vector Vf00, the designated point CP in the net direction of the tracking start vector set can be set. The position can be determined correctly.
【0042】なお,追跡開始合成ベクトルVf00を1
つの追跡開始ベクトルとみれば,上記の処理は,この追
跡開始合成ベクトルVf00の進行方向に見たときに指
定点CPがそのどちら側にあるかを判断していることを
意味する。Note that the tracking start composite vector Vf00 is set to 1
If the tracking start vector is regarded as one, the above-described processing means that it is determined which side the designated point CP is on when viewed in the traveling direction of the tracking start composite vector Vf00.
【0043】以上のようにして,追跡開始ベクトルVf
0(またはVf00)が選択されるとともに,追跡開始
ベクトルの進行方向に指定点CPを見たときに,指定点
CPが追跡開始ベクトルの左側に見える場合には追跡方
向フラグDFが1に設定され,指定点CPが追跡開始ベ
クトルの右側に見える場合には追跡方向フラグDFが0
に設定される。この追跡方向フラグDFは,この発明に
おける追跡条件を表わすためのフラグである。As described above, the tracking start vector Vf
When 0 (or Vf00) is selected and the designated point CP is seen to the left of the tracking start vector when the designated point CP is viewed in the traveling direction of the tracking start vector, the tracking direction flag DF is set to 1. If the designated point CP is visible to the right of the tracking start vector, the tracking direction flag DF is set to 0.
Is set to The tracking direction flag DF is a flag for representing a tracking condition in the present invention.
【0044】図13は,図2のステップS5における閉
ループベクトルの追跡処理の詳細手順を示すフローチャ
ートである。ステップS501では,現在の追跡ベクト
ルの終点に複数のベクトルが接続しているか否かを調べ
る。これは,図5に示す終点接続データを参照すること
によって調べる。なお,処理当初における「現在の追跡
ベクトル」は,追跡開始ベクトルVf0である。FIG. 13 is a flowchart showing a detailed procedure of the closed loop vector tracking process in step S5 of FIG. In step S501, it is checked whether a plurality of vectors are connected to the end point of the current tracking vector. This is checked by referring to the end point connection data shown in FIG. The “current tracking vector” at the beginning of the process is the tracking start vector Vf0.
【0045】現在の追跡ベクトルの終点に1つのベクト
ルのみが接続している場合には,後述するステップS5
05に移行し,その接続しているベクトルが次の追跡ベ
クトルとして選択される。If only one vector is connected to the end point of the current tracking vector, step S5
The process proceeds to 05, and the connected vector is selected as the next tracking vector.
【0046】一方,現在の追跡ベクトルの終点に複数の
ベクトルが接続している場合には,ステップS502に
おいて追跡方向フラグDFの値が1か0かが判断され
る。DF=1の場合には,ステップS503において,
反時計回りにベクトルを追跡して次の追跡ベクトルの候
補を選択する。すなわち,図14の(a)に示すよう
に,現在の追跡ベクトルViの終点EPiに接続する複
数のベクトルVm1〜Vm3の中で,終点EPiを中心
として追跡ベクトルViから時計回りに各ベクトル角度
θm1,θm2,θm3を計り,最小の角度θm1を有
するベクトルVm1を次の追跡ベクトルの候補(以下,
単に「追跡候補ベクトル」と呼ぶ。)とする。On the other hand, if a plurality of vectors are connected to the end point of the current tracking vector, it is determined in step S502 whether the value of the tracking direction flag DF is 1 or 0. If DF = 1, in step S503,
Track the vector in a counterclockwise direction and select the next tracking vector candidate. That is, as shown in FIG. 14A, of the plurality of vectors Vm1 to Vm3 connected to the end point EPi of the current tracking vector Vi, each vector angle θm1 is clockwise from the tracking vector Vi around the end point EPi. , Θm2, and θm3, and the vector Vm1 having the minimum angle θm1 is determined as the next tracking vector candidate (hereinafter, referred to as
It is simply called a “tracking candidate vector”. ).
【0047】追跡方向フラグDF=0の場合には,ステ
ップS504において,時計回りにベクトルを追跡して
追跡候補ベクトルを選択する。すなわち,図14の
(b)に示すように,現在の追跡ベクトルViの終点E
Piに接続する複数のベクトルの中で,終点EPiを中
心として追跡ベクトルViから反時計回りに各ベクトル
角度θm1,θm2,θm3を計り,最小の角度θm1
を有するベクトルVm1を次の追跡候補ベクトルとす
る。If the tracking direction flag DF = 0, in step S504, the vector is tracked clockwise to select a tracking candidate vector. That is, as shown in FIG. 14B, the end point E of the current tracking vector Vi
Among a plurality of vectors connected to Pi, respective vector angles θm1, θm2, θm3 are measured counterclockwise from the tracking vector Vi around the end point EPi, and the minimum angle θm1
Is the next tracking candidate vector.
【0048】ここで,上記の追跡候補ベクトルの選択処
理で用いる演算処理について,図14(b)の場合を例
に取って説明する。まず,内積の公式に従って,現在の
追跡ベクトルViの逆ベクトル(−Vi)と,追跡ベク
トルViの終点EPiに接続する各ベクトルVm1,V
m2,Vm3とのなす角度のコサイン(=cosθm
k)を次の数式6により求める。Here, the calculation processing used in the above-described tracking candidate vector selection processing will be described using the case of FIG. 14B as an example. First, according to the inner product formula, the inverse vector (−Vi) of the current tracking vector Vi and the vectors Vm1 and Vm connected to the end point EPi of the tracking vector Vi.
cosine of the angle between m2 and Vm3 (= cos θm
k) is calculated by the following equation (6).
【数6】 ここで,k=1〜3である。また,現在の追跡ベクトル
Viの始点SPiの座標を(Xsi,Ysi),終点E
Piの座標を(Xei,Yei),追跡ベクトルViに
接続するベクトルの終点EPmの座標を(Xemk,Y
emk)としている。また,角度θmkは,追跡ベクト
ルViの終点を中心として,追跡ベクトルの逆ベクトル
(−Vi)から注目しているベクトルVmkまで反時計
回りに計った角度である。(Equation 6) Here, k = 1 to 3. The coordinates of the start point SPi of the current tracking vector Vi are (Xsi, Ysi), and the end point E
The coordinates of Pi are (Xei, Yei), and the coordinates of the end point EPm of the vector connected to the tracking vector Vi are (Xemk, Yei).
emk). The angle θmk is an angle measured counterclockwise from the inverse vector (−Vi) of the tracking vector to the vector Vmk of interest around the end point of the tracking vector Vi.
【0049】ただし,図14(b)のベクトルVm3の
ように,その終点が現在の追跡ベクトルViの終点EP
iになっているベクトルについては,次の数式7によっ
て,その逆ベクトル(−Vm3)と追跡ベクトルの逆ベ
クトル(−Vi)とのなす角度を求める。However, the end point is the end point EP of the current tracking vector Vi, as in the vector Vm3 in FIG.
For the vector i, the angle formed by the inverse vector (−Vm3) and the inverse vector (−Vi) of the tracking vector is calculated by the following equation (7).
【数7】 (Equation 7)
【0050】cosθmkの値から角度θmkの値を求
める場合,図12の(b)にも示すように,0〜2πの
間にある2つの値θa,θbの内のどちらであるかを決
める必要がある。そこで,追跡ベクトルViの逆ベクト
ル(−Vi)と注目しているベクトルVmkとの外積の
大きさ|(−Vi)×Vmk|を数式8で求める。When obtaining the value of the angle θmk from the value of cos θmk, it is necessary to determine which of the two values θa and θb is between 0 and 2π, as shown in FIG. There is. Therefore, the magnitude | (−Vi) × Vmk | of the cross product of the inverse vector (−Vi) of the tracking vector Vi and the vector Vmk of interest is calculated by Expression 8.
【数8】 (Equation 8)
【0051】外積の大きさ|(−Vi)×Vmk|は,
それらのなす角度θmkのサイン(sinθmk)に比
例する。従って,図12(a)の正弦曲線からもわかる
ように,外積の大きさ|(−Vi)×Vmk|が正であ
れば0からπまでの角度θaを角度θmの値として選
び,外積の大きさ|(−Vi)×Vm|が負であれば,
πから2πまでの角度θbを角度θmの値として選べ
ば,正しい角度θmkを求めることができる。The magnitude of the outer product | (−Vi) × Vmk |
It is proportional to the sine (sin θmk) of the angle θmk they make. Therefore, as can be seen from the sine curve in FIG. 12A, if the magnitude of the cross product | (−Vi) × Vmk | is positive, the angle θa from 0 to π is selected as the value of the angle θm, and If the magnitude | (−Vi) × Vm | is negative,
If the angle θb from π to 2π is selected as the value of the angle θm, the correct angle θmk can be obtained.
【0052】追跡方向フラグDFの値が1の場合には,
図14(a)に示すように,追跡ベクトルの逆ベクトル
(−Vi)から注目しているベクトルまで「時計回り」
に計った角度が最小のベクトルを追跡候補ベクトルとす
る。ところで,上述の方法で求められた角度θmkは,
追跡ベクトルViの終点EPiを中心として,追跡ベク
トルの逆ベクトル(−Vi)から注目しているベクトル
Vmkまで「反時計回り」に計った角度なので,時計回
りに計った角度を(2π−θmk)の計算で求め,これ
を各ベクトルVmkの角度とする。こうして求められた
各ベクトルVm1〜Vm3に対する時計回りの角度θm
1〜θm3を比較して,最小の角度θm1を有するベク
トルVm1を追跡候補ベクトルとして選択する。When the value of the tracking direction flag DF is 1,
As shown in FIG. 14A, “clockwise” from the inverse vector (−Vi) of the tracking vector to the vector of interest
The vector with the smallest angle measured in the above is set as a tracking candidate vector. By the way, the angle θmk obtained by the above method is
The angle measured "counterclockwise" from the inverse vector (-Vi) of the tracking vector to the vector of interest Vmk around the end point EPi of the tracking vector Vi, so the angle measured clockwise is (2π-θmk). , And this is defined as the angle of each vector Vmk. Clockwise angle θm with respect to each vector Vm1 to Vm3 thus obtained
By comparing 1 to θm3, a vector Vm1 having the minimum angle θm1 is selected as a tracking candidate vector.
【0053】一方,追跡方向フラグDFの値が0の場合
には,図14(b)に示すように,追跡ベクトルの逆ベ
クトル(−Vi)から注目しているベクトルVmkまで
「反時計回り」に計った角度が最小のベクトルを追跡候
補ベクトルとする。そこで,上述の方法で求められた角
度θmkを,そのまま各ベクトルの角度とする。こうし
て求められた各ベクトルVm1〜Vm3の角度θm1〜
θm3を比較して,最小の角度θm1を有するベクトル
Vm1を追跡候補ベクトルとして選択する。On the other hand, when the value of the tracking direction flag DF is 0, as shown in FIG. 14B, "counterclockwise" from the inverse vector (-Vi) of the tracking vector to the vector Vmk of interest. The vector with the smallest angle measured in the above is set as a tracking candidate vector. Therefore, the angle θmk obtained by the above method is used as it is for each vector. The angle θm1 of each vector Vm1 to Vm3 thus obtained is
By comparing θm3, a vector Vm1 having the minimum angle θm1 is selected as a tracking candidate vector.
【0054】上記のように,ステップS503またはS
504において追跡候補ベクトルが選択されると,次の
ステップS505において追跡候補ベクトルの追跡済み
フラグTFの値が調べられる。追跡候補ベクトルの追跡
済みフラグTFが1であれば,すでに閉ループを構成す
るベクトル群が選択されているので,ステップS5全体
の処理を終了する。一方,追跡候補ベクトルの追跡済み
フラグTFが0であればステップS501に戻り,上述
の処理を繰り返すことによって閉ループを構成するベク
トル群を選択する。As described above, step S503 or S
When the tracking candidate vector is selected in 504, the value of the tracked flag TF of the tracking candidate vector is checked in the next step S505. If the tracked flag TF of the tracking candidate vector is 1, since the vector group forming the closed loop has already been selected, the entire process of step S5 ends. On the other hand, if the tracked flag TF of the tracking candidate vector is 0, the process returns to step S501, and a vector group forming a closed loop is selected by repeating the above processing.
【0055】なお,ステップS503またはS504に
おいて,ベクトルVm3のようにその終点が追跡ベクト
ルViの終点に接続しているベクトルが追跡候補ベクト
ルとして選択された場合には,その次に実行されるステ
ップS501〜ステップS504の処理において,ベク
トルVm3の始点SPm3に接続するベクトルの中の1
つが次の追跡候補ベクトルとして選択される。In step S503 or S504, if a vector whose end point is connected to the end point of the tracking vector Vi, such as the vector Vm3, is selected as a tracking candidate vector, the next step S501 is executed. In the processing of step S504, one of the vectors connected to the start point SPm3 of the vector Vm3
One is selected as the next tracking candidate vector.
【0056】以上のように,上記実施例では,指定点C
Pとの距離が最も近いベクトルを追跡開始ベクトルVf
0として選択した後,時計回りまたは反時計回りにベク
トルを追跡していくことにより,指定点を取り囲む最小
の閉ループを形成するベクトル群を選択し,この閉ルー
プで囲まれる閉領域を抽出するようにしているので,オ
ペレータが指定点CPを指定するだけで,閉領域を容易
に抽出することができる。As described above, in the above embodiment, the designated point C
The vector closest to P is the tracking start vector Vf
After selecting the vector as 0, by tracing the vector clockwise or counterclockwise, the vector group forming the smallest closed loop surrounding the specified point is selected, and the closed area surrounded by this closed loop is extracted. Therefore, the closed area can be easily extracted only by the operator designating the designated point CP.
【0057】なお,この発明は上記実施例に限られるも
のではなく,その要旨を逸脱しない範囲において種々の
態様において実施することが可能である。The present invention is not limited to the above-described embodiment, but can be implemented in various modes without departing from the gist of the invention.
【0058】[0058]
【発明の効果】以上説明したように,本発明の閉領域抽
出方法によれば,一部の閉領域内に指定した指定点と,
指定点に最も距離の近いベクトルとの関係に基づいてベ
クトルの追跡条件を判定し,その追跡条件に応じてベク
トルを時計回りまたは反時計回りに追跡するので,指定
点を指定するだけで閉領域を取り囲む閉ループベクトル
群を抽出することができる。従って,オペレータは複雑
な指定を行なう必要がなく,指定点を指定するだけで一
部の閉領域を容易に抽出することができるという効果が
ある。As described above, according to the closed area extraction method of the present invention, the specified point specified in a part of the closed area is
The vector tracking condition is determined based on the relationship with the vector closest to the specified point, and the vector is tracked clockwise or counterclockwise according to the tracking condition. Can be extracted. Therefore, there is an effect that the operator does not need to perform complicated designation, and can easily extract a part of the closed region only by designating the designated point.
【図1】この発明の実施例を適用する画像処理装置の構
成を示すブロック図。FIG. 1 is a block diagram showing a configuration of an image processing apparatus to which an embodiment of the present invention is applied.
【図2】実施例の概略処理手順を示すフローチャート。FIG. 2 is a flowchart illustrating a schematic processing procedure according to the embodiment;
【図3】処理対象となる図形の一例を示す図。FIG. 3 is a diagram illustrating an example of a graphic to be processed;
【図4】ベクトルで表わされた図形を示す説明図。FIG. 4 is an explanatory diagram showing a graphic represented by a vector.
【図5】ベクトルデータの構造を示す概念図。FIG. 5 is a conceptual diagram showing the structure of vector data.
【図6】ベクトル相互の接続関係を示す説明図。FIG. 6 is an explanatory diagram showing a connection relationship between vectors.
【図7】実施例における処理の概要を示す説明図。FIG. 7 is an explanatory diagram showing an outline of processing in the embodiment.
【図8】追跡開始ベクトルの選択手順を示すフローチャ
ート。FIG. 8 is a flowchart showing a procedure for selecting a tracking start vector.
【図9】追跡開始ベクトルの選択手順を示すフローチャ
ート。FIG. 9 is a flowchart showing a procedure for selecting a tracking start vector.
【図10】追跡開始ベクトルの選択手順を示す説明図。FIG. 10 is an explanatory diagram showing a procedure for selecting a tracking start vector.
【図11】追跡開始ベクトルの選択手順を示す説明図。FIG. 11 is an explanatory diagram showing a procedure for selecting a tracking start vector.
【図12】正弦曲線と余弦曲線とを示すグラフ。FIG. 12 is a graph showing a sine curve and a cosine curve.
【図13】ベクトルの追跡手順を示すフローチャート。FIG. 13 is a flowchart showing a vector tracking procedure.
【図14】ベクトルの追跡手順を示す説明図。FIG. 14 is an explanatory diagram showing a vector tracking procedure.
【図15】閉領域の抽出処理の内容を示す説明図。FIG. 15 is an explanatory diagram showing the contents of a closed region extraction process.
10 CPU 11 ベクトルデータ変換手段 12 閉領域抽出手段 13 画像貼込手段 20 ROM 30 RAM 40 画像データ入力ポート 50 図形画像入力ポート 60 端末制御部 70 外部記憶装置制御部 80 バスライン 100 画像処理装置 110 イメージスキャナ 120 入出力端末 130 外部記憶装置 CP 指定点 CR 閉領域 Cei 終点接続ベクトル数 Csi 始点接続ベクトル数 DF 追跡方向フラグ FFt 細線化図形 Fi 状態フラグ IP 交点 NL 垂線 Pe 終点 Ps 始点 TFi 追跡済フラグ V1〜V20 ベクトル Vc 指定点ベクトル Vf0 追跡開始ベクトル Vf00 追跡開始合成ベクトル Reference Signs List 10 CPU 11 Vector data conversion means 12 Closed area extraction means 13 Image pasting means 20 ROM 30 RAM 40 Image data input port 50 Graphic image input port 60 Terminal control unit 70 External storage device control unit 80 Bus line 100 Image processing device 110 Image Scanner 120 I / O terminal 130 External storage device CP Designated point CR Closed area Cei End point connection vector number Csi Start point connection vector number DF Tracking direction flag FFt Thinned figure Fi State flag IP Intersection NL Vertical line Pe End point Ps Start point TFi Tracked flag V1 V20 Vector Vc Specified point vector Vf0 Tracking start vector Vf00 Tracking start composite vector
Claims (1)
部の閉領域を抽出する方法であって, (1)画像内の線図形を構成する複数のベクトルを表わ
すベクトルデータを準備する工程と, (2)前記線図形内の一部の閉領域の内部の点を指定点
として指定する工程と, (3)前記指定点の位置と前記ベクトルデータとに基づ
いて,前記複数のベクトルの中から,前記指定点との距
離が最も近いベクトルを追跡開始ベクトルとして選択す
る工程と, (4)前記追跡開始ベクトルの進行方向に前記指定点を
見たときに,前記指定点が前記追跡開始ベクトルの左側
にあるか右側にあるかを,前記追跡開始ベクトルの始点
と前記指定点とを両端点とするベクトルと前記追跡開始
ベクトルとの外積に基づいて判定し,前記指定点が前記
追跡開始ベクトルの左側にある場合を第1の追跡条件と
判断し,前記指定点が前記追跡開始ベクトルの右側にあ
る場合を第2の追跡条件と判断する工程と, (5)前記第1の追跡条件の場合には,前記追跡開始ベ
クトルから直列に接続していく複数のベクトルを各ベク
トルの進行方向に係わらず反時計方向に順次追跡しつ
つ,閉ループを構成する複数のベクトルを選択すること
によって,前記指定点を含む最小の閉領域を取り囲む閉
ループベクトル群を抽出し, 前記第2の追跡条件の場合には,前記追跡開始ベクトル
から直列に接続していく複数のベクトルを各ベクトルの
進行方向に係わらず時計方向に順次追跡しつつ,閉ルー
プを構成する複数のベクトルを選択することによって,
前記指定点を含む最小の閉領域を取り囲む閉ループベク
トル群を抽出する工程と, を備えることを特徴とする図形の閉領域抽出方法。1. A method for extracting a part of a closed area from a line figure having a plurality of closed areas, comprising: (1) preparing vector data representing a plurality of vectors constituting a line figure in an image; (2) a step of designating a point inside a part of the closed area in the line figure as a designated point; and (3) the plurality of vectors based on the position of the designated point and the vector data. Selecting the vector closest to the specified point as the tracking start vector from among the following: (4) When the specified point is viewed in the traveling direction of the tracking start vector, the specified point Left side of start vector
Is the starting point of the tracking start vector
And the vector having the specified point as both end points and the tracking start
Determined based on the outer product of a vector, said when the specified point is to the left of the track starting vector is determined that the first tracking condition, the designated point when the second on the right side of the tracing starting vector (5) In the case of the first tracking condition, a plurality of vectors connected in series from the tracking start vector are stored in each vector.
Selecting a plurality of vectors forming a closed loop while sequentially tracking in a counterclockwise direction irrespective of the traveling direction of the torque, thereby extracting a closed loop vector group surrounding a minimum closed area including the designated point; In the case of the tracking condition, a plurality of vectors connected in series from the tracking start vector are
By selecting multiple vectors that form a closed loop while sequentially tracking clockwise regardless of the direction of travel ,
Extracting a closed loop vector group surrounding a minimum closed area including the designated point.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3112442A JP2868643B2 (en) | 1991-04-16 | 1991-04-16 | Method for extracting closed area of figure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3112442A JP2868643B2 (en) | 1991-04-16 | 1991-04-16 | Method for extracting closed area of figure |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04317185A JPH04317185A (en) | 1992-11-09 |
JP2868643B2 true JP2868643B2 (en) | 1999-03-10 |
Family
ID=14586735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3112442A Expired - Fee Related JP2868643B2 (en) | 1991-04-16 | 1991-04-16 | Method for extracting closed area of figure |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2868643B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4279133B2 (en) | 2003-12-19 | 2009-06-17 | 大日本スクリーン製造株式会社 | Graphic processing apparatus, graphic processing method, and program |
CN106708383B (en) * | 2016-11-22 | 2020-08-04 | 广州视源电子科技股份有限公司 | Graphic processing method and system |
CN112837395B (en) * | 2020-12-25 | 2023-03-28 | 佛山欧神诺云商科技有限公司 | Modeling method for quickly constructing house type structure, electronic equipment and storage medium |
CN112802151B (en) * | 2020-12-25 | 2023-02-17 | 佛山欧神诺云商科技有限公司 | Wall line drawing method, electronic device and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2548037B2 (en) * | 1989-06-20 | 1996-10-30 | 武藤工業株式会社 | Automatic contour tracking method in CAD |
-
1991
- 1991-04-16 JP JP3112442A patent/JP2868643B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04317185A (en) | 1992-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2856386B2 (en) | Color adjustment device and method | |
CN109478317A (en) | System and method for composograph | |
US11699253B2 (en) | Systems, methods, and devices for image processing | |
US20070182762A1 (en) | Real-time interactive rubber sheeting using dynamic delaunay triangulation | |
JPH1049704A (en) | Image conversion method | |
JP2868643B2 (en) | Method for extracting closed area of figure | |
CN115423688A (en) | Quantum circuit diagram and quantum color image scaling method based on bilinear interpolation | |
JP2000324336A (en) | Interpolation method and device | |
JP2000348206A (en) | Image generating device and method for deciding image priority | |
US5694536A (en) | Method and apparatus for automatic gap closing in computer aided drawing | |
JPH03119387A (en) | Method and apparatus for forming contour of digital type surface | |
US5574839A (en) | Method and apparatus for automatic gap closing in computer aided drawing | |
JP6732082B1 (en) | Image generation apparatus, image generation method, and image generation program | |
JP2003162728A (en) | Image processor and image outputting device | |
JP2914547B2 (en) | How to specify the image processing target area | |
Ablameyko et al. | Knowledge based technique for map-drawing interpretation | |
JP2746981B2 (en) | Figure generation method | |
JP2746980B2 (en) | Figure generation method | |
JP3435286B2 (en) | Template matching method | |
AU769689B2 (en) | Converting a Bitmap Image Comprising at Least One Region to a Segment Representation | |
JP2000036056A (en) | Picture associating method | |
CN113034552A (en) | Optical flow correction method and computer equipment | |
JPH05242235A (en) | Picture processor | |
JPH05266205A (en) | Line plotting system | |
JPH04280161A (en) | Mask graph generating method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |