JPH06103379A - Image processing method and apparatus thereof - Google Patents
Image processing method and apparatus thereofInfo
- Publication number
- JPH06103379A JPH06103379A JP4254989A JP25498992A JPH06103379A JP H06103379 A JPH06103379 A JP H06103379A JP 4254989 A JP4254989 A JP 4254989A JP 25498992 A JP25498992 A JP 25498992A JP H06103379 A JPH06103379 A JP H06103379A
- Authority
- JP
- Japan
- Prior art keywords
- image
- vector
- contour
- image processing
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】
【目的】 輪郭ベクトルを抽出する場合における各輪
郭ベクトルの接続関係を記憶するためのメモリ量を少な
くすることを可能にする画像処理方法及び装置を提供す
る。
【構成】 画像を帯状に分割した単位で入力し、その
入力した帯状画像単位に輪郭画素を追跡して、水平及び
垂直ベクトルを抽出し、メモリに記憶する。そして、抽
出された個々の水平ベクトルに対して接続される垂直ベ
クトル、及び個々の垂直ベクトルに対して接続される水
平ベクトルを検索し、これら水平ベクトルと垂直ベクト
ルの接続を明かな状態にした輪郭ベクトルを抽出する。
(57) [Abstract] [PROBLEMS] To provide an image processing method and apparatus capable of reducing the amount of memory for storing the connection relation of each contour vector when the contour vector is extracted. [Structure] An image is input in a band-divided unit, contour pixels are traced in the input band-shaped image unit, horizontal and vertical vectors are extracted, and stored in a memory. Then, a vertical vector connected to each of the extracted horizontal vectors and a horizontal vector connected to each of the vertical vectors are searched for, and the connection of these horizontal and vertical vectors is made clear. Extract the vector.
Description
【0001】[0001]
【産業上の利用分野】本発明は画像処理方法及びその装
置、詳しくはラスタ走査順で入力した2値画像の輪郭線
を抽出する画像処理方法とその装置に関するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing method and an apparatus thereof, and more particularly to an image processing method and an apparatus thereof for extracting a contour line of a binary image input in a raster scanning order.
【0002】[0002]
【従来の技術】2値ドットパターンからアウトラインフ
ォントを作成する場合、2値画像文字パターンの輪郭線
を抽出し、その輪郭線をベクトル情報形式で記憶するこ
とにより、その文字のアウトラインフォントを作成す
る。このような2値画像より輪郭線を抽出するには、ま
ず2値画像における輪郭線追跡のための追跡開始点を見
付けることから始められる。そして、この追跡開始点が
発見されると、次にこの追跡開始点から順にその画像の
輪郭を追跡していき、追跡の終った輪郭点には次々に追
跡済のマークを付けながら追跡を続行する。こうして、
この追跡が一巡した時点で1つの輪郭点列(輪郭線)を
求めている。このような手順を繰り返し行うことによ
り、その画像中のすべての輪郭線を抽出することができ
る。2. Description of the Related Art When an outline font is created from a binary dot pattern, the outline of a binary image character pattern is extracted and the outline is stored in a vector information format to create the outline font of that character. . Extracting the contour line from such a binary image can be started by first finding a tracking start point for contour line tracking in the binary image. Then, when this tracking start point is found, the contour of the image is traced in order from this tracking start point, and the tracking is continued while marking the traced points one after another. To do. Thus
One contour point sequence (contour line) is obtained at the time when this tracking has completed one cycle. By repeating such a procedure, all the contour lines in the image can be extracted.
【0003】ここで8連結の輪郭追跡の手順例を図2に
示す。図2において、201は内側に空白部分202を
含む2値画像パターンで、この輪郭線を抽出する場合を
説明する。但し、図2における1つのマス目は1ドット
(画素)を表わしている。FIG. 2 shows an example of a procedure for tracking contours of eight connections. In FIG. 2, reference numeral 201 denotes a binary image pattern including a blank portion 202 inside, and a case where this contour line is extracted will be described. However, one square in FIG. 2 represents one dot (pixel).
【0004】(1)2値画像パターン201を画面の基
準点(0,0)からラスタ走査してゆく。(1) The binary image pattern 201 is raster-scanned from a reference point (0,0) on the screen.
【0005】(2)追跡済のマークが付いていない画素
(例えばドット203)が存在する点にぶつかったなら
ば、その点をP0としてドットパターンの輪郭追跡を開
始する。全画面分を探しても点P0が存在しなければ手
順終了。(2) If a point at which a pixel (for example, a dot 203) without a traced mark exists is hit, the point is set to P 0 and the contour tracing of the dot pattern is started. If the point P 0 does not exist even when searching for all screens, the procedure ends.
【0006】(3)開始点P0に隣接する8方向の近傍
画素方向に、図3に示す順番で探索を開始する。そし
て、最初に出会った画素が存在する点(図2の場合では
ドット204)を次の輪郭点P1とする。尚、この時、
隣接点が存在しない場合は、その点を孤立点として手順
(2)へ戻る。(3) The search is started in the order of the neighboring pixels in the eight directions adjacent to the starting point P 0 in the order shown in FIG. Then, the point where the first encountered pixel exists (dot 204 in the case of FIG. 2) is set as the next contour point P 1 . At this time,
When there is no adjacent point, the point is regarded as an isolated point and the procedure returns to step (2).
【0007】(4)このようにしてPiのマーク付けを
行い、図4に示したように、Piに隣接する8方向の近
傍画素に対して、次の輪郭点Pi+1を抽出する。これ
は、直前にマーク付けを行った点401より、Pi(ド
ット204)を中心に反時計回り方向にドットが存在す
るかを探索し、最初に出会った画素が存在する点を次の
輪郭点Pi+1とするものである。[0007] (4) This performs the marking P i in the extraction as shown in FIG. 4, with respect to eight directions neighboring pixels adjacent to the P i, the next contour point P i + 1 To do. This is to search for a dot in the counterclockwise direction centered on P i (dot 204) from the point 401 marked immediately before, and find the point where the first encountered pixel exists in the next contour. The point is P i + 1 .
【0008】(5)以下、手順(4)を繰り返して、次
々に輪郭点を求める。但し、Pn+1=P1、Pn=P0とな
ったならは、P0、P1、・・・、Pn-1を1つの領域の
輪郭点列となし、手順(6)へ進む。(5) Thereafter, the procedure (4) is repeated to successively obtain contour points. However, if P n + 1 = P 1 and P n = P 0 , then P 0 , P 1 , ..., P n-1 are set as the contour point sequence of one region, and the procedure (6) Go to.
【0009】(6)別の画像領域の輪郭点列を求めるた
めに手順(2)へ戻る。(6) The procedure returns to step (2) in order to obtain the outline point sequence of another image area.
【0010】以上である。That is all.
【0011】尚、図3及び図4において、中心部分は注
目点を、◎(401)は直前にマーク付けを行った点を
示している。又、図中に示された数字は画素(ドット)
の有無を探索する順番を表現している。In FIGS. 3 and 4, the central portion shows the point of interest, and ⊚ (401) shows the point where the mark was made immediately before. Also, the numbers shown in the figure are pixels (dots)
Represents the order of searching for the presence or absence of.
【0012】しかしながら、上記例では、輪郭追跡の開
始点を決定した後は、輪郭線に沿った追跡を行うため、
全画像をメモリ上に取り込んだ後で、輪郭線の抽出処理
を開始しなければならない。このため、必要とするメモ
リ容量が大きくなり、コストアップや処理時間が遅くな
る等の不具合があった。However, in the above example, after the start point of contour tracking is determined, tracking along the contour line is performed,
The outline extraction process must be started after all the images have been stored in the memory. Therefore, there is a problem that the required memory capacity becomes large and the cost is increased and the processing time is delayed.
【0013】これに対してメモリ容量の削減を図るため
に、ラスタ走査順に画像を取り込み、注目画素とその近
傍の画素の状態により輪郭点を抽出する方法を本願出願
人は提案した。この方法では、画素単位に輪郭線の接続
状態を保持しておく接続情報テーブルを持っており、画
像内の全ての画素について輪郭を抽出し終った段階で、
再び接続情報テーブルを走査して、最終的な輪郭ベクト
ルの総ループ数、各ループを構成する輪郭点の個数、各
ループを構成する輪郭点の座標値等を求めている。On the other hand, in order to reduce the memory capacity, the applicant of the present application has proposed a method of capturing an image in the raster scanning order and extracting contour points according to the states of the pixel of interest and pixels in the vicinity thereof. In this method, there is a connection information table that holds the connection state of contour lines in pixel units, and at the stage where the contours have been extracted for all pixels in the image,
The connection information table is scanned again to obtain the final total number of contour vector loops, the number of contour points forming each loop, the coordinate values of the contour points forming each loop, and the like.
【0014】[0014]
【発明が解決しようとする課題】しかしながら、これで
も、画像内の全ての画素について輪郭(粗輪郭)ベクト
ルを抽出し終った段階で、再び接続情報テーブルを走査
して、最終的な輪郭ベクトルの総ループ数、各ループを
構成する輪郭点の個数、各ループを構成する輪郭点の座
標値等を求めているため、画像内の輪郭点の接続情報を
全て保持しておかなければならないので接続情報テーブ
ルの容量が大きくなり、テーブルの検索スピードが低下
する傾向にあることがわかった。However, even in this case, when the contour (coarse contour) vectors have been extracted for all the pixels in the image, the connection information table is scanned again to determine the final contour vector. Since the total number of loops, the number of contour points that make up each loop, and the coordinate values of the contour points that make up each loop are obtained, all connection information for contour points in the image must be stored. It was found that the capacity of the information table becomes large and the search speed of the table tends to decrease.
【0015】[0015]
【課題を解決するための手段】本発明は、かかる問題点
に鑑み成されたものであり、輪郭ベクトルを抽出する場
合における各輪郭ベクトルの接続関係を記憶するための
メモリ量を少なくすることを可能にする画像処理方法及
び装置を提供しようとするものである。SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to reduce the amount of memory for storing the connection relation of each contour vector when the contour vector is extracted. It is an object of the present invention to provide an image processing method and apparatus that enables the image processing.
【0016】この課題を解決するため本発明の画像処理
方法は以下の行程を備える。すなわち、画像から当該入
力画像の輪郭ベクトルを抽出する画像処理方法におい
て、画像を複数の帯状画像に分割して入力する行程と、
入力した帯状画像単位にそれぞれの輪郭ベクトルを抽出
する輪郭抽出行程とを備える。In order to solve this problem, the image processing method of the present invention comprises the following steps. That is, in the image processing method of extracting the contour vector of the input image from the image, the process of dividing the image into a plurality of strip images and inputting the image,
A contour extraction process for extracting each contour vector for each input strip image.
【0017】また、本発明の画像処理装置は以下に示す
構成を備える。The image processing apparatus of the present invention has the following configuration.
【0018】画像から当該入力画像の輪郭ベクトルを抽
出する画像処理装置において、画像を複数の帯状画像に
分割して入力する入力手段と、入力した帯状画像単位に
それぞれの輪郭ベクトルを抽出する輪郭抽出手段とを備
える。In the image processing apparatus for extracting the contour vector of the input image from the image, the input means for dividing the image into a plurality of strip-shaped images and inputting the same, and the contour extraction for extracting each contour vector for each input strip-shaped image unit And means.
【0019】また、他の発明は上記目的に加えて、2値
画像を再生する場合に高精細な画像を出力することを可
能ならしめる画像処理方法及びその装置を提供しようと
するものである。Further, in addition to the above object, another invention is to provide an image processing method and an apparatus therefor capable of outputting a high definition image when reproducing a binary image.
【0020】この課題を達成するため、本発明の画像処
理方法は以下に示す行程を備える。すなわち、画像から
当該入力画像の輪郭ベクトルを抽出する画像処理方法に
おいて、画像を複数の帯状画像に分割して入力する行程
と、入力した帯状画像単位にそれぞれの輪郭ベクトルを
抽出する輪郭抽出行程と抽出された個々の帯状画像の輪
郭ベクトルを平滑化する平滑行程とを備える。In order to achieve this object, the image processing method of the present invention comprises the following steps. That is, in the image processing method of extracting the contour vector of the input image from the image, a step of dividing the image into a plurality of band-shaped images and inputting the same, and a contour extraction step of extracting each contour vector for each input band-shaped image unit. And a smoothing step for smoothing the contour vector of each extracted strip-shaped image.
【0021】また、本発明の画像処理装置は以下に示す
構成を備える。The image processing apparatus of the present invention has the following structure.
【0022】画像から当該入力画像の輪郭ベクトルを抽
出する画像処理装置において、画像を複数の帯状画像に
分割して入力する入力手段と、入力した帯状画像単位に
それぞれの輪郭ベクトルを抽出する輪郭抽出手段と抽出
された個々の帯状画像の輪郭ベクトルを平滑化する平滑
化手段とを備える。In an image processing apparatus for extracting a contour vector of the input image from an image, input means for dividing the image into a plurality of strip-shaped images and inputting the same, and contour extraction for extracting each contour vector for each input strip-shaped image Means and a smoothing means for smoothing the contour vector of each extracted strip-shaped image.
【0023】また、本発明の更なる目的は、輪郭ベクト
ルを抽出する場合における各輪郭ベクトルの接続関係を
記憶するためのメモリ量を少なくすると共に、個々の帯
状画像から抽出された輪郭ベクトルどうしの接続状態を
良好にする画像処理方法及びその装置を提供しようとす
るものである。A further object of the present invention is to reduce the amount of memory for storing the connection relation of each contour vector in the case of extracting the contour vector, and to reduce the amount of memory between the contour vectors extracted from the individual band images. An object of the present invention is to provide an image processing method and a device for improving the connection state.
【0024】この課題を達成するため本発明の画像処理
方法は以下に示す行程を備える。すなわち、画像から当
該入力画像の輪郭ベクトルを抽出する画像処理方法にお
いて、画像を複数の帯状画像に分割して入力する行程
と、入力した帯状画像単位にそれぞれの輪郭ベクトルを
抽出する輪郭抽出行程と抽出されたかく帯状画像の輪郭
ベクトルを統合する行程とを備える。In order to achieve this object, the image processing method of the present invention comprises the following steps. That is, in the image processing method of extracting the contour vector of the input image from the image, a step of dividing the image into a plurality of band-shaped images and inputting the same, and a contour extraction step of extracting each contour vector for each input band-shaped image unit. And a step of integrating the contour vectors of the extracted strip-shaped image.
【0025】また、本発明の画像処理装置は以下に示す
構成を備える。The image processing apparatus of the present invention has the following configuration.
【0026】画像から当該入力画像の輪郭ベクトルを抽
出する画像処理装置において、画像を複数の帯状画像に
分割して入力する入力手段と、入力した帯状画像単位に
それぞれの輪郭ベクトルを抽出する輪郭抽出手段と抽出
されたかく帯状画像の輪郭ベクトルを統合する統合手段
とを備える。In the image processing apparatus for extracting the contour vector of the input image from the image, input means for dividing the image into a plurality of strip-shaped images and inputting the same, and contour extraction for extracting the respective contour vectors for each input strip-shaped image unit Means and integrating means for integrating the contour vector of the extracted strip image.
【0027】[0027]
【作用】かかる本発明の構成において、例えば画像全体
を帯状画像として分割して入力し、その入力された帯状
画像単位に輪郭ベクトルを抽出する。従って、ここの帯
状画像から得られる輪郭ベクトルの接続関係を記憶する
量は少なくなり、お互いの接続関係を検索する対象が少
なくなるので高速になる。In the structure of the present invention, for example, the entire image is divided and input as a strip image, and the contour vector is extracted for each input strip image. Therefore, the amount of storing the connection relation of the contour vectors obtained from the band-shaped image here is small, and the number of objects for searching the connection relation of each other is small, resulting in high speed.
【0028】[0028]
【実施例】以下、添付図面を参照して本発明に係る実施
例を詳細に説明する。Embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
【0029】<第1実施例>本実施例は、図1に示すよ
うに、入力画像をストライプ状に分割し、各ストライプ
毎に注目画素(101)と、その近傍の8個の画素の状
態を見て処理を進めるもので、注目画素をラスタ走査
し、1画素ごとにその位置をずらしながら画像全体の処
理を逐次行ってゆく。<First Embodiment> In the present embodiment, as shown in FIG. 1, an input image is divided into stripes, and a pixel of interest (101) and a state of eight pixels in the vicinity are divided for each stripe. The processing is proceeded by looking at, the target pixel is raster-scanned, and the processing of the entire image is sequentially performed while shifting the position of each pixel.
【0030】図1において、101は注目画素であ
り、”0”及び”2”で示された位置は、主走査方向に
対し注目画素101と同じ位置にあり、副走査方向のそ
れぞれ1ラスタ前の画素(0)及び1ラスタ先の画素
(2)を示す。”1”及び”3”で示された位置は、注
目画素101と同一のラスタ上にあり、それぞれ1画素
前の画素(3)及び1画素先の画素(1)を示してい
る。さらに、”A”及び”B”は、主走査方向に1画素
先の位置にあり、それぞれ1ラスタ前及び1ラスタ先の
位置にある画素を示し、”C”及び”D”は主走査方向
の1画素前の位置にある画素で、それぞれ1ラスタ先及
び1ラスタ前の位置にある画素を示す。In FIG. 1, reference numeral 101 is a pixel of interest, and the positions indicated by "0" and "2" are at the same positions as the pixel of interest 101 in the main scanning direction, and each raster is one raster before in the sub-scanning direction. Pixel (0) and pixel (2) one raster ahead. The positions indicated by "1" and "3" are on the same raster as the pixel of interest 101 and indicate the pixel (3) one pixel before and the pixel (1) one pixel ahead, respectively. Further, "A" and "B" indicate pixels located one pixel ahead in the main scanning direction, respectively, one raster before and one raster ahead, and "C" and "D" indicate main scanning direction. Pixels at the position one pixel before the pixel of FIG.
【0031】図5は、本実施例の輪郭検出を行うハード
ウエア構成例を示すブロック図である。FIG. 5 is a block diagram showing an example of the hardware configuration for detecting the contour of this embodiment.
【0032】501は信号線500を介して入力される
画像データをやりとりするための入力制御(インタ−フ
ェース)部であり、この信号線500よりラスタ走査形
式で順次2値画像データが入力されてくる。502はラ
ッチで、501より入力された画像データを、図示しな
い画素同期クロックに同期して1画素づつ順次更新しな
がら保持する。次の画素同期クロックにて、ラッチ50
2は次の画素データを入力制御回路501より入力す
る。この時、既に保持していた画素データは、その画素
クロックに同期してラッチ503にラッチされ、保持さ
れることになる。同様にラッチ503は保持されていた
画素データは、次の画素同期クロックにて、ラッチ50
4に保持される。Reference numeral 501 denotes an input control (interface) unit for exchanging image data input via the signal line 500, and binary image data is sequentially input from the signal line 500 in a raster scanning format. come. Reference numeral 502 is a latch that holds the image data input from the 501 while sequentially updating the image data pixel by pixel in synchronization with a pixel synchronization clock (not shown). Latch 50 at the next pixel sync clock
2 inputs the next pixel data from the input control circuit 501. At this time, the pixel data already held is latched and held in the latch 503 in synchronization with the pixel clock. Similarly, the pixel data held in the latch 503 is transferred to the latch 50 at the next pixel synchronization clock.
Held at 4.
【0033】505及び503はそれぞれ1ラスタ分の
画素データを保持するFIFO(ファーストイン・ファ
ーストアウト・メモリ)である。FIFO505は、ラ
ッチ504の出力を順次、画素同期クロックに同期して
取り込み、1ラスタ前のデータをラッチ507へ出力す
る。同様に、FIFO506も、ラッチ509の出力を
取り込み、ラッチ510に1ラスタ前の画素データを出
力する。ラッチ507、508、509及びラッチ51
0、511、512は共に前記ラッチ502、503、
504と全く同様に動作する。Reference numerals 505 and 503 denote FIFOs (first-in first-out memory) for holding pixel data for one raster. The FIFO 505 sequentially takes in the output of the latch 504 in synchronization with the pixel synchronization clock and outputs the data of one raster before to the latch 507. Similarly, the FIFO 506 also takes in the output of the latch 509 and outputs the pixel data of one raster before to the latch 510. Latches 507, 508, 509 and latch 51
0, 511, 512 are the latches 502, 503,
It operates exactly like 504.
【0034】上記構成によれば、ラッチ502、50
3、504、507、508、509、510、511
及び512には、常に3×3画素のデータ、換言すれば
ある領域の画素データが記憶されることになる。ここで
ラッチ508に保持された画素データを注目画素位置
(図1の符号101)として見ると、その回りの各ラッ
チには図1における画素位置”B”、”2”、”
C”、”1”、”3”、”A”、”0”、”D”のデー
タが保持されることになる。According to the above configuration, the latches 502, 50
3, 504, 507, 508, 509, 510, 511
In and 512, data of 3 × 3 pixels, that is, pixel data of a certain area is always stored. Here, when the pixel data held in the latch 508 is viewed as a target pixel position (reference numeral 101 in FIG. 1), the pixel positions “B”, “2”, “in FIG.
The data of C "," 1 "," 3 "," A "," 0 "," D "will be held.
【0035】513、514は共に入力ポートで、入力
ポート513は、ラッチ510、502、504、51
2のデータ、即ち、それぞれ図1における”A”、”
B”、”C”、”D”の位置のデータをCPU519に
供給する。同様に、入力ポート514はラッチ511、
507、503、509、508のデータ、即ち、”
0”、”1”、”2”、”3”及び注目画素位置のデー
タをCPU519に供給する。Both 513 and 514 are input ports, and the input port 513 is a latch 510, 502, 504, 51.
2 data, that is, "A" and "" in FIG. 1, respectively
The data at the positions of B "," C ", and" D "are supplied to the CPU 519. Similarly, the input port 514 has the latch 511,
The data of 507, 503, 509, and 508, that is, "
The data of 0 ”,“ 1 ”,“ 2 ”,“ 3 ”and the pixel position of interest are supplied to the CPU 519.
【0036】515は主走査方向の画素位置を示す主走
査カウンタであり、図示しない副走査同期信号によりリ
セットされ、画素同期信号によりカウントアップする。
516は副走査方向の画素位置を示す副走査カウンタ
で、図示しないページ同期信号によりリセットされ、副
走査同期信号によりカウントアップされる。517は入
出力制御用の入出力ポートであり、入出力制御回路50
1に対し、画素データ入力の実行及び保留を指示する信
号、及び入出力制御回路501よりCPU519への画
素データ更新を知らせる信号等を保持する。521はハ
ードディスク522の入出力制御装置である。Reference numeral 515 is a main scanning counter which indicates a pixel position in the main scanning direction, which is reset by a sub scanning synchronizing signal (not shown) and counts up by the pixel synchronizing signal.
A sub-scanning counter 516 indicates a pixel position in the sub-scanning direction, which is reset by a page sync signal (not shown) and counted up by the sub-scan sync signal. Reference numeral 517 denotes an input / output port for input / output control, which is an input / output control circuit 50.
1 holds a signal for instructing execution and suspension of pixel data input, a signal for notifying the CPU 519 of pixel data update from the input / output control circuit 501, and the like. Reference numeral 521 is an input / output control device for the hard disk 522.
【0037】これら入出力制御ポート517、主走査カ
ウンタ515、副走査カウンタ516、入力ポート51
3、514、メモリ520、ディスクI/O521はバ
ス518を介してCPU519に接続されている。These input / output control port 517, main scanning counter 515, sub-scanning counter 516 and input port 51.
3, 514, the memory 520, and the disk I / O 521 are connected to the CPU 519 via the bus 518.
【0038】こうして、CPU519は入出力制御ポー
ト517を介して、画素データの更新を行い、主走査カ
ウンタ515及び副走査カウンタ516を介して、注目
画素の画素位置(i,j)を知ることができる。また、
入力ポート513及び514を介して、注目画素及びそ
の近傍の8方向の画素の状態を知ることができる。In this way, the CPU 519 updates the pixel data via the input / output control port 517, and can know the pixel position (i, j) of the target pixel via the main scanning counter 515 and the sub-scanning counter 516. it can. Also,
Through the input ports 513 and 514, it is possible to know the states of the pixel of interest and the pixels in the eight directions in the vicinity thereof.
【0039】このようにして注目画素の処理が終了する
と、CPU519は入出力制御ポート517を介して9
個のラッチに記憶される画素データの更新を指示し、同
時に画素データの更新指示の信号をクリアするととも
に、後段のラッチにラッチされる画素データを更新し、
この更新が終了すると入出力制御ポート517に、更新
完了の信号を出力する。When the processing of the pixel of interest is completed in this way, the CPU 519 sends a 9-bit image through the input / output control port 517.
Instructing to update the pixel data stored in the individual latches, at the same time clearing the pixel data update instruction signal, and updating the pixel data latched in the subsequent latches,
When this update is completed, an update completion signal is output to the input / output control port 517.
【0040】CPU519は、更新指示の出力後、入出
力制御ポート517より更新完了の信号が入力されるの
を監視している。この更新完了の信号が入力されると、
新たに9個のラッチに記憶された画素データに関する処
理を実行し、以下同様にこれを繰り返すものである。The CPU 519 monitors the input of the update completion signal from the input / output control port 517 after outputting the update instruction. When this update completion signal is input,
The process relating to the pixel data newly stored in the nine latches is executed, and the same is repeated thereafter.
【0041】尚、説明が前後するが、CPU519は、
CPU519の動作処理手順(詳細は後述する)を記憶
しているROM及びワークエリアとして使用されるRA
Mを内蔵している。Incidentally, although the description goes back and forth, the CPU 519
An RA used as a work area and a ROM that stores the operation processing procedure of the CPU 519 (details will be described later).
Built in M.
【0042】また、入力制御回路501は、画像領域の
最終画素を注目画素として処理し終った際に、入出力制
御ポート517に終了信号を出力する。Further, the input control circuit 501 outputs an end signal to the input / output control port 517 when the last pixel of the image area is processed as the target pixel.
【0043】次に注目画素及びその近傍の8画素の状態
に応じた、それぞれの場合の処理を説明する。Next, the processing in each case according to the states of the target pixel and the eight pixels in the vicinity thereof will be described.
【0044】注目画素が白画素である場合、その画素は
輪郭の一部ではないので、その処理を終了してラスタ走
査を1画素分進め、注目画素位置を更新する。If the pixel of interest is a white pixel, that pixel is not a part of the outline, so the processing is terminated, the raster scanning is advanced by one pixel, and the pixel of interest position is updated.
【0045】注目画素が黒画素の場合は、近傍の画素の
状態によって以下の処理を行う。図6〜図21に各状態
における処理内容を示してある。When the pixel of interest is a black pixel, the following processing is performed depending on the states of neighboring pixels. 6 to 21 show the processing contents in each state.
【0046】ここで図8の画素マトリクス61におい
て、”d”は”do not care”、即ち、”
d”で示される位置の画素は白画素でも黒画素でも構わ
ないことを意味している。これは以下の図でも同様とす
る。また図6の画素マトリクス62において、○印は横
方向(水平)ベクトルの始点及び縦(垂直)方向ベクト
ルの終点を表わしており、△印は縦方向ベクトルの始点
及び横方向ベクトルの終点を表わしている。また図6の
62における実線矢印は、始点及び終点共に定まった、
矢印の向く方向の輪郭ベクトルを表わし、図7に示すよ
うな点線矢印は、始点もしくは終点のいずれか一方のみ
が定まった(一方が定まっていない)、矢印の向く方向
の輪郭ベクトルを表わしている。これら、○、△、実線
矢印及び点線矢印の持つ意味も、以降の図においても同
様である。また●は黒画素を示し、白画素はその位置を
明示したいときのみ点線の○印で表記し、それ以外の時
は表記していない。Here, in the pixel matrix 61 of FIG. 8, "d" is "do not care", that is, "d".
This means that the pixel at the position indicated by d ″ may be either a white pixel or a black pixel. This is the same in the following figures. Further, in the pixel matrix 62 of FIG. ) Represents the start point of the vector and the end point of the vertical (vertical) direction vector, and the triangle marks represent the start point of the vertical direction vector and the end point of the horizontal direction vector, and the solid line arrow 62 in FIG. Decided together,
The contour vector in the direction of the arrow is represented, and the dotted arrow as shown in FIG. 7 represents the contour vector in the direction of the arrow when only one of the start point and the end point is determined (one is not determined). . The meanings of these circles, triangles, solid arrows and dotted arrows are the same in the following figures. In addition, ● indicates a black pixel, and white pixel is indicated by a dotted circle ○ only when it is desired to clearly indicate the position, and is not indicated otherwise.
【0047】これら輪郭ベクトルの始点・終点位置は、
主走査方向及び副走査方向共に、画素と画素の中間の位
置にあるものとする。また、主走査方向及び副走査方向
共に、画素のある位置は正整数で示され、画素位置を2
次元の座標で表現をする。例えば、図6の注目画素63
の位置が[(3,7):第7ラスタの第3画素位置の
意]であれば、図6の62で示された4本のベクトルは
それぞれ点64(2.5,6.5)、点65(3.5,
6.5)、点66(3.5,7.5)、点67(2.
5,7.5)の4点を始点、終点とする互いに連続する
4本のベクトルとして表現される。The start and end positions of these contour vectors are
It is assumed that both the main scanning direction and the sub-scanning direction are at the positions between pixels. Further, in both the main scanning direction and the sub scanning direction, the position where the pixel is present is indicated by a positive integer, and the pixel position is 2
Express in dimensional coordinates. For example, the pixel of interest 63 in FIG.
Is [(3,7): third pixel position of the seventh raster], the four vectors indicated by 62 in FIG. 6 are points 64 (2.5, 6.5), respectively. , Point 65 (3.5,
6.5), point 66 (3.5, 7.5), point 67 (2.
5 and 7.5) are represented as four continuous vectors having a start point and an end point.
【0048】これらベクトルを(始点の座標、終点の座
標)で表現するものとすると、図6の4本のベクトルそ
れぞれ [(2.5,6.5),(3.5,6.5)] [(3.5,6.5),(3.5,7.5)] [(3.5,7.5),(2.5,7.5)] [(2.5,7.5),(2.5,6.5)] で表現される。If these vectors are represented by (coordinates of start point and coordinates of end point), the four vectors in FIG. 6 are [(2.5, 6.5), (3.5, 6.5), respectively. ] [(3.5, 6.5), (3.5, 7.5)] [(3.5, 7.5), (2.5, 7.5)] [(2.5, 7) .5), (2.5, 6.5)].
【0049】従って、ここでは少数の表現を避けるため
に便宜上、以降の画素位置を偶数のみで表現することに
し、始点、終点の位置を奇数の整数で表現することにす
る。即ち、m画素×n画素の画像は、2m×2nの正の
偶数(整数)の座標表現で表わすものとする。これによ
り、上述の図6の例は、注目画素位置を(6,14)で
あると表現し、それぞれ4つの終点、始点は(5,1
3)、(7,13)、(7,15)、(5,15)とな
る。これにより、図6の4本のベクトルは、 [(5,13),(7,13)] [(7,13),(7,15)] [(7,15),(5,15)] [(5,15),(5,13)] で表現される。Therefore, in order to avoid a small number of representations, the pixel positions thereafter are represented by only even numbers, and the positions of the start point and the end point are represented by odd integers. That is, an image of m pixels × n pixels is represented by a coordinate expression of 2m × 2n positive even numbers (integers). Thus, in the example of FIG. 6 described above, the pixel position of interest is expressed as (6, 14), and the four end points and the start points are (5, 1), respectively.
3), (7,13), (7,15), (5,15). As a result, the four vectors in FIG. 6 are [(5,13), (7,13)] [(7,13), (7,15)] [(7,15), (5,15) ] [(5,15), (5,13)].
【0050】これ以降2値画像は、それぞれがm画素よ
りなるnラスタで構成されるm×n画素(m、nは正の
整数)でなるものとし、第j番目のラスタの第i番目の
画素位置を(2i,2j)(i,jは正の整数で、i≦
m、j≦n)で表現するものとする。Thereafter, the binary image is assumed to be m × n pixels (m and n are positive integers) composed of n rasters each having m pixels, and the i-th raster of the j-th raster. The pixel position is (2i, 2j) (i, j is a positive integer, and i ≦
m, j ≦ n).
【0051】<輪郭抽出処理の説明>図22は実施例の
装置のCPU519による輪郭抽出処理の全体の流れを
示すフローチャートである。<Description of Contour Extraction Processing> FIG. 22 is a flowchart showing the overall flow of the contour extraction processing by the CPU 519 of the apparatus of the embodiment.
【0052】先ず、ステップS1にて、処理の初期設
定、即ち、図1のように入力画像をストライプ状に分割
し、注目ストライプを画像の先頭ストライプにセットす
る。入力画像を分割する際の各々のストライプのライン
数は同じであっても、異なっていてもよい。また各々の
ストライプのライン数は予め決められた数に設定して
も、外部からの設定手段により任意に設定しても良い。First, in step S1, the initial setting of the process, that is, the input image is divided into stripes as shown in FIG. 1, and the target stripe is set to the leading stripe of the image. The number of lines in each stripe when dividing the input image may be the same or different. Further, the number of lines of each stripe may be set to a predetermined number or may be arbitrarily set by an external setting means.
【0053】ステップS2では、注目ストライプ中の2
値画像データからベクトル列を抽出し、各ベクトルの始
点の座標及びこのベクトルに流入してくる(注目ベクト
ルの始点の座標が終点となっている)ベクトル、流出し
ていく(注目ベクトルの終点の座標が始点となってい
る)ベクトルを、図23及び図24に示すテーブル(こ
れらを接続情報テーブルと定義する)形式で出力する。
図23は水平方向のベクトルを示す図、図24は垂直方
向のベクトルを示す図である。尚、上記の如く実施例で
は、2値画像の輪郭を垂直及び水平方向のベクトルに分
解して輪郭(第1段階の輪郭)を抽出する。ここで注意
すべき点は、全ての2値画像の輪郭は、ベクトル長さは
不定であるが、水平ベクトル→垂直ベクトル→水平ベク
トル→垂直ベクトル→…という具合に、これら水平/垂
直の繰り返しで表現される。In step S2, 2 in the target stripe
A vector string is extracted from the value image data, and the coordinates of the starting point of each vector and the vectors that flow into this vector (the coordinates of the starting point of the vector of interest are the end points) and flow out (of the ending point of the vector of interest) A vector whose coordinates are the starting point) is output in the form of a table (defined as a connection information table) shown in FIGS. 23 and 24.
FIG. 23 is a diagram showing horizontal vectors, and FIG. 24 is a diagram showing vertical vectors. As described above, in the embodiment, the contour of the binary image is decomposed into vertical and horizontal vectors to extract the contour (first-stage contour). The point to note here is that the contours of all binary images have indefinite vector lengths, but horizontal / vertical vectors → horizontal vectors → vertical vectors → ... Expressed.
【0054】さて、ステップS3では、図23及び図2
4に示すテーブルから流入及び流出ベクトルの項目番号
を辿ることにより、図25に示すような画像中の総輪郭
線数、各輪郭線毎の輪郭線の総点数、輪郭線中の各点の
x座標、y座標を記憶したテーブルを作成する。Now, in step S3, as shown in FIGS.
By tracing the inflow and outflow vector item numbers from the table shown in FIG. 4, the total number of contour lines in the image as shown in FIG. 25, the total number of contour lines for each contour line, and the x of each point in the contour line. Create a table that stores coordinates and y coordinates.
【0055】次にステップS4に進み、ディスクI/O
521を介して、このテーブル情報をファイル形式でデ
ィスク522に記憶し、図23及び図24のテーブルの
内容をクリアする。Next, in step S4, the disk I / O
This table information is stored in the disk 522 in a file format via 521, and the contents of the tables of FIGS. 23 and 24 are cleared.
【0056】その後、ステップS5に進み、注目ストラ
イプが入力画像の最終ストライプかどうかが判定され、
最終ストライプでなければS6に移り、最終ストライプ
ならば処理を終了する。ステップS6では注目ストライ
プを次のストライプに移動してステップS2に戻る。Then, in step S5, it is determined whether the target stripe is the final stripe of the input image,
If it is not the final stripe, the process proceeds to S6, and if it is the final stripe, the process ends. In step S6, the target stripe is moved to the next stripe and the process returns to step S2.
【0057】以上のように入力画像を1個以上のストラ
イプに分割し、ストライプ毎にアウトラインの抽出・整
列・ファイル出力処理を行うことで、図23及び図24
で示されるテーブルの容量を小さくすることができる。As described above, the input image is divided into one or more stripes, and the outline extraction / alignment / file output processing is performed for each stripe.
The capacity of the table indicated by can be reduced.
【0058】ここで、上記ステップS22のベクトル列
抽出処理の内容を図26のフローチャートを用いて説明
する。Here, the contents of the vector string extraction processing in step S22 will be described with reference to the flowchart of FIG.
【0059】まずステップS11では、入力ポート51
4のビット4(注目画素)を見ることにより、注目画素
が白画素か黒画素かを判定する。白画素の場合はステッ
プS13へ進み、黒画素の場合はステップS12へ進
む。ステップS12では、注目画素の周囲8画素の状態
を見て、その状態に応じた適当な処理ルーチンをコール
する。First, in step S11, the input port 51
By observing bit 4 (pixel of interest) of 4, it is determined whether the pixel of interest is a white pixel or a black pixel. If it is a white pixel, the process proceeds to step S13, and if it is a black pixel, the process proceeds to step S12. In step S12, the state of the eight pixels surrounding the target pixel is checked, and an appropriate processing routine corresponding to the state is called.
【0060】ステップS13では、前述の如く入出力制
御ポート517を介して画素位置の更新を指示する。そ
して、入出力制御ポート517より更新完了の信号を入
力するとステップS14に進み、入出力制御ポート51
7を介して、最終画素の処理が終了したか否かを判断
し、終了していなければステップS11へ戻り、次の注
目画素も同様に処理を行い、終了していれば、元のルー
チンにリターンする。In step S13, the pixel position update is instructed via the input / output control port 517 as described above. When the update completion signal is input from the input / output control port 517, the process proceeds to step S14, and the input / output control port 51
7, it is determined whether or not the processing for the final pixel is completed. If not completed, the process returns to step S11, the next target pixel is similarly processed, and if completed, the original routine is returned to. To return.
【0061】図27は図26のステップS12に示され
た周囲画素の状態により実行される処理を示すフローチ
ャートである。FIG. 27 is a flow chart showing the processing executed by the state of the surrounding pixels shown in step S12 of FIG.
【0062】ステップS21において、CPU519の
レジスタを“0”で初期化する。次にステップS22に
進み、図1の“0”で示された位置の画素の状態(以
降、f(0)で表現する)が黒画素(以降、“1”で表
わす)であればステップS23へ進み、白画素(以降、
“0”で表わす)であればステップS23をスキップ
し、ステップS4へ進む。ステップS23では前記レジ
スタの内容に“1”を加える。すなわち、そのレジスタ
のビット0を“1”にセットする。In step S21, the register of the CPU 519 is initialized to "0". Next, the process proceeds to step S22, and if the state of the pixel at the position indicated by "0" in FIG. 1 (hereinafter expressed by f (0)) is a black pixel (hereinafter expressed by "1"), step S23. Proceed to and white pixels (hereinafter,
If it is "0"), step S23 is skipped and the process proceeds to step S4. In step S23, "1" is added to the contents of the register. That is, bit 0 of that register is set to "1".
【0063】次にステップS24に進み、図1の“1”
の位置の画素の状態が黒画素であれば(f(1)=1)
ステップS25へ進み、前記レジスタの内容に2を加え
る(ビット1を“1”にセットする)。また、f(1)
=0であればステップS25をスキップする。Next, in step S24, "1" in FIG.
If the state of the pixel at the position is a black pixel (f (1) = 1)
In step S25, 2 is added to the contents of the register (bit 1 is set to "1"). Also, f (1)
If = 0, step S25 is skipped.
【0064】ステップS26に処理が進むと、今度は同
様に図1の“2”の位置の画素が黒画素かどうかを調べ
る。f(2)=1(黒画素)であればステップS27へ
進み、前記レジスタの内容に4を加える(ビット2を
“1”でセットする)。また、f(2)=0の場合に
は、ステップS27をスキップする。When the process proceeds to step S26, it is similarly checked whether or not the pixel at the position "2" in FIG. 1 is a black pixel. If f (2) = 1 (black pixel), the process proceeds to step S27, and 4 is added to the contents of the register (bit 2 is set to "1"). If f (2) = 0, step S27 is skipped.
【0065】ステップS28では、図1の“3”の位置
の画素に注目し、f(3)=1ならステップS29へ進
んで前記レジスタの内容に8を加える(ビット3を
“1”にセットする)。また、そうでなければステップ
S29の処理をスキップし、ステップS30へ進む。At step S28, attention is paid to the pixel at the position of "3" in FIG. 1. If f (3) = 1, the process proceeds to step S29 and 8 is added to the contents of the register (bit 3 is set to "1"). To). If not, the process of step S29 is skipped and the process proceeds to step S30.
【0066】以上の結果、図1に示した“0”、
“1”、“2”、“3”の画素位置の各画素の状態に応
じて、レジスタには0〜15のいずれかの値が保持され
ることになる。ステップS30では、このレジスタの保
持する値の処理番号のルーチンをコールする。As a result of the above, "0" shown in FIG.
Depending on the state of each pixel at the pixel positions of "1", "2", and "3", any value of 0 to 15 is held in the register. In step S30, the routine of the processing number of the value held in this register is called.
【0067】以下、レジスタに保持された値0〜15に
対応する処理(ケース0〜15)を説明するが、それら
ケース0〜15と注目画素及びその周辺画素の関係は、
次の様になっているのは理解できよう。すなわち、ケー
ス0は図6に対応し、ケース1は図7、ケース2は図
8、ケース3は図9、ケース4は図10、ケース5は図
11、ケース6は図12、ケース7は図13、ケース8
は図14、ケース9は図15、ケース10は図16、ケ
ース11は図17、ケース12は図18、ケース13は
図19、ケース14は図20、ケース15は図21に対
応する。The processing (cases 0 to 15) corresponding to the values 0 to 15 held in the register will be described below. The relationship between these cases 0 to 15 and the pixel of interest and its peripheral pixels is as follows.
You can understand that it is as follows. That is, Case 0 corresponds to FIG. 6, Case 1 is FIG. 7, Case 2 is FIG. 8, Case 3 is FIG. 9, Case 4 is FIG. 10, Case 5 is FIG. 11, Case 6 is FIG. 12, Case 7 is FIG. 13, case 8
14, case 9 corresponds to FIG. 15, case 10 corresponds to FIG. 16, case 11 corresponds to FIG. 17, case 12 corresponds to FIG. 18, case 13 corresponds to FIG. 19, case 14 corresponds to FIG. 20, and case 15 corresponds to FIG.
【0068】以下、各状態それぞれの処理内容に関し詳
述する。The processing contents of each state will be described in detail below.
【0069】図27のステップS30において、レジス
タの値が“0”の場合は、図28に示す処理がコールさ
れる。図28は先に指摘した様に図6に示す状態(ケー
ス0)を処理するルーチンである。以降、注目画素63
の座標が(2i,2j)として説明する。In step S30 of FIG. 27, if the register value is "0", the process shown in FIG. 28 is called. FIG. 28 is a routine for processing the state (case 0) shown in FIG. 6 as pointed out above. After that, the target pixel 63
The coordinates will be described as (2i, 2j).
【0070】<ケース0の場合の処理説明(図6、図2
3、図24、図28)>図28のステップS31では
(2i−1,2j−1)を水平ベクトルの始点として登
録する。即ち、図23に示す水平ベクトルカウンタ23
0の指し示す水平ベクトル始点(図6の64)のx座標
テーブルの欄(図23の231)に(2i−1)を格納
し、同じく水平ベクトル始点y座標テーブルの欄(図2
3の232)に(2j−1)を格納する。そして、この
水平ベクトルに流入してくる元の垂直ベクトルは、図2
4の垂直ベクトルカウンタ240が、この時点で指して
いる垂直ベクトルの始点座標テーブル内の位置の次の位
置に格納されるベクトルであり、また、この水平ベクト
ルが流出していく先の垂直ベクトルは、この時点で垂直
ベクトルカウンタ240が指している垂直ベクトルの始
点座標テーブルの位置にある。<Description of Processing in Case 0 (FIGS. 6 and 2)
3, FIG. 24, FIG. 28)> In step S31 of FIG. 28, (2i-1,2j-1) is registered as the starting point of the horizontal vector. That is, the horizontal vector counter 23 shown in FIG.
(2i-1) is stored in the column (231 in FIG. 23) of the horizontal vector start point (64 in FIG. 6) indicated by 0, and the column of the horizontal vector start point y coordinate table (see FIG. 2) is also stored.
(2j-1) is stored in 232) of 3. The original vertical vector flowing into this horizontal vector is shown in FIG.
The vertical vector counter 240 of 4 is the vector stored at the position next to the position in the starting point coordinate table of the vertical vector pointed at this time, and the vertical vector to which this horizontal vector flows is At this point, the vertical vector counter 240 is at the position of the vertical vector start point coordinate table pointed to by the vertical vector counter 240.
【0071】即ち、図23に示す水平ベクトルの流入ベ
クトル項目番号の欄において、水平ベクトルカウンタ2
30が指し示す位置(図23の例では233)に、垂直
ベクトルカウンタ240の値に1加えた値を格納する。
また、水平ベクトルの流出ベクトル項目番号の欄には、
水平ベクトルカウンタ230が指し示す位置(図23の
例では234)に、垂直ベクトルカウンタ240の値を
格納する。That is, in the horizontal vector inflow vector item number column shown in FIG. 23, the horizontal vector counter 2
A value obtained by adding 1 to the value of the vertical vector counter 240 is stored in the position indicated by 30 (233 in the example of FIG. 23).
Also, in the column of the outflow vector item number of the horizontal vector,
The value of the vertical vector counter 240 is stored at the position indicated by the horizontal vector counter 230 (234 in the example of FIG. 23).
【0072】次にステップS32では、同様に(2i+
1,2j−1)を垂直ベクトルの始点(図6の65)と
して登録する。この垂直ベクトルに流入する水平ベクト
ルはステップS31で登録した水平ベクトルであり、こ
の垂直ベクトルが流出する水平ベクトルは、水平ベクト
ル始点座標テーブルのステップ31で登録された水平ベ
クトルの次の位置に格納される水平ベクトルであると登
録する。Next, in step S32, similarly (2i +
1, 2j-1) is registered as the start point of the vertical vector (65 in FIG. 6). The horizontal vector flowing into this vertical vector is the horizontal vector registered in step S31, and the horizontal vector flowing out of this vertical vector is stored at the position next to the horizontal vector registered in step 31 of the horizontal vector starting point coordinate table. Register it as a horizontal vector.
【0073】即ち、図24を参照して説明すると、欄2
41には(2i+1)が、欄242には(2j−1)
が、更に欄243には、この時の水平ベクトルカウンタ
230の値が、欄244にはこの時の水平ベクトルカウ
ンタ230の値に+1した値が格納される。That is, referring to FIG. 24, column 2
41 is (2i + 1), and column 242 is (2j-1).
However, the value of the horizontal vector counter 230 at this time is stored in the column 243, and the value obtained by adding 1 to the value of the horizontal vector counter 230 at this time is stored in the column 244.
【0074】次にステップS33に進み、水平ベクトル
カウンタ230の内容を+1する。ステップS24で
は、(2i+1,2j+1)を水平ベクトルの始点(図
6の67)座標として登録し、この水平ベクトルに流入
する垂直ベクトルは、ステップS32で登録したベクト
ルであると登録すると共に、この水平ベクトルが流出す
る垂直ベクトルは、ステップS32で登録された垂直ベ
クトルの垂直ベクトル始点座標テーブル内における次の
位置に格納さる垂直ベクトル(図6の点66と点64と
を結ぶベクトル)であるとして登録する。Next, in step S33, the content of the horizontal vector counter 230 is incremented by one. In step S24, (2i + 1,2j + 1) is registered as the starting point (67 in FIG. 6) of the horizontal vector, and the vertical vector flowing into this horizontal vector is registered as the vector registered in step S32, and this horizontal vector is registered. The vertical vector outflowing the vector is registered as the vertical vector stored at the next position in the vertical vector start point coordinate table of the vertical vector registered in step S32 (the vector connecting the points 66 and 64 in FIG. 6). To do.
【0075】ステップS35では、垂直ベクトルカウン
タ240の内容を+1し、ステップS36では、(2i
−1,2j+1)を垂直ベクトルの始点座標として登録
し、この垂直ベクトルに流入する水平ベクトルはステッ
プS34で登録された水平ベクトルであるとして登録す
る。そして、この垂直ベクトルが流出する水平ベクトル
は、ステップS31で登録した水平ベクトルであるとし
て登録する。こうして最後に、ステップS37で、水平
ベクトルカウンタ230及び垂直ベクトルカウンタ24
0を共に+1して処理を終了する。In step S35, the content of the vertical vector counter 240 is incremented by 1, and in step S36, (2i
-1,2j + 1) is registered as the starting point coordinates of the vertical vector, and the horizontal vector flowing into this vertical vector is registered as the horizontal vector registered in step S34. The horizontal vector from which this vertical vector flows is registered as the horizontal vector registered in step S31. Thus, finally, in step S37, the horizontal vector counter 230 and the vertical vector counter 24
0 is added to +1 and the process ends.
【0076】この処理結果は、図6の62で示すごと
く、点64と点65とを結ぶ水平ベクトルと、点67と
点66とを結ぶ2つの水平ベクトルと、点65と点6
7、及び点66と点64とを結ぶ2つの垂直ベクトルを
合せた、4つのベクトルが巡回した1つのループを作っ
ている状態として抽出する。The result of this processing is, as shown by 62 in FIG. 6, a horizontal vector connecting points 64 and 65, two horizontal vectors connecting points 67 and 66, and points 65 and 6
7 and two vertical vectors connecting the points 66 and 64 are combined and extracted as a state in which one loop in which four vectors circulate is formed.
【0077】ケース0の説明は上記の通りであるが、簡
単に説明すると、1本の水平ベクトルが発見されると、
その水平ベクトルの始点を終点とする垂直ベクトルが必
ずあることになるから、その垂直ベクトルを特定する番
号(図24の垂直ベクトルテーブルから見つける)を流
入ベクトル項目番号の欄に書き込む。また、注目してい
る水平ベクトルの終点位置には垂直ベクトルがかならず
接続されることになるから、その垂直ベクトルを特定す
る番号(図24の垂直ベクトルテーブルから見つける)
を流出ベクトル項目番号の欄に書き込む。同様の原理
で、垂直ベクトルテーブルについても同様の処理を行う
ことになる。これは、以下に示すケース1〜15につい
ても全く同じである。The case 0 has been described above. However, in brief, if one horizontal vector is found,
Since there is always a vertical vector whose end point is the start point of the horizontal vector, a number specifying the vertical vector (found from the vertical vector table of FIG. 24) is written in the inflow vector item number column. Also, since the vertical vector is always connected to the end point position of the horizontal vector of interest, the number identifying the vertical vector (found from the vertical vector table in FIG. 24).
Is written in the field of the outflow vector item number. The same processing is performed on the vertical vector table based on the same principle. This is exactly the same for Cases 1 to 15 shown below.
【0078】<ケース1の説明(図7、図23、図2
4、図29)>図29は図27のステップS30で、レ
ジスタの保持する値が1の場合にコールされるケース1
の処理を示すフローチャートである。<Description of Case 1 (FIGS. 7, 23 and 2)
4, FIG. 29)> FIG. 29 is a case 1 called when the value held in the register is 1 in step S30 of FIG.
It is a flowchart which shows the process of.
【0079】まずステップS41では(2i+1,2j
+1)を水平ベクトルの始点として、図23に示すテー
ブルの始点座標のx、y座標に登録する。また、この水
平ベクトルが流出する垂直ベクトルの番号(欄234)
は、後述するステップS43で登録される垂直ベクトル
カウンタ240の値とする。次にステップS42に進
み、ステップS41で登録した水平ベクトルに流入する
垂直ベクトルを図34に示す流出先が未定な垂直ベクト
ルテーブル341から捜し出して登録する。このステッ
プS42の処理の内容は、図30のフローチャートで示
している。First, in step S41, (2i + 1,2j
+1) is set as the starting point of the horizontal vector, and is registered in the x and y coordinates of the starting point coordinates in the table shown in FIG. Also, the number of the vertical vector from which this horizontal vector flows (column 234).
Is the value of the vertical vector counter 240 registered in step S43 described later. Next, proceeding to step S42, the vertical vector flowing into the horizontal vector registered at step S41 is searched for from the vertical vector table 341 whose outflow destination shown in FIG. The content of the process of step S42 is shown in the flowchart of FIG.
【0080】ステップS51では、テーブル341に登
録されている流出先が未定の垂直ベクトルの数を保持す
る流出ベクトル未定垂直ベクトルカウンタ340の値を
変数kにセットする。ステップS52では垂直ベクトル
流出ベクトル未決定項目番号テーブル341に登録され
ている項目番号(k−1)の値が指し示す垂直ベクトル
の始点のx座標の欄が(2i+1)であるか否かを判定
する。(2i+1)でなければ変数kの値(k)を1だ
け減じて、再びステップS52を実行する。ステップS
52で始点のx座標が(2i+1)であればステップS
54へ進む。In step S51, the value of the outflow vector undetermined vertical vector counter 340, which holds the number of vertical vectors whose outflow destination is undetermined, registered in the table 341 is set in the variable k. In step S52, it is determined whether or not the column of the x coordinate of the starting point of the vertical vector indicated by the value of the item number (k-1) registered in the vertical vector outflow vector undecided item number table 341 is (2i + 1). . If it is not (2i + 1), the value (k) of the variable k is decremented by 1, and step S52 is executed again. Step S
If the x coordinate of the starting point is (2i + 1) at 52, step S
Proceed to 54.
【0081】ステップS54ではテーブル341の項目
番号が(k−1)である垂直ベクトルが、前述したステ
ップS41で登録した水平ベクトルの流入元ベクトルで
あり、更にステップS41で登録した水平ベクトルが、
この垂直ベクトルの流出先ベクトルであることになる。
従って、図23の水平ベクトルカウンタ230で指示さ
れる水平ベクトルの流入ベクトル項目番号欄に、テーブ
ル341の項目番号が(k−1)である垂直ベクトル番
号を、及び図24の垂直ベクトルの流出項目番号欄に、
ステップS41における水平ベクトルカウンタ230の
値を格納する。In step S54, the vertical vector whose item number in the table 341 is (k-1) is the inflow source vector of the horizontal vector registered in step S41, and the horizontal vector registered in step S41 is
This is the outflow vector of this vertical vector.
Therefore, in the inflow vector item number column of the horizontal vector designated by the horizontal vector counter 230 of FIG. 23, the vertical vector number whose item number of the table 341 is (k−1) and the outflow item of the vertical vector of FIG. In the number column,
The value of the horizontal vector counter 230 in step S41 is stored.
【0082】ステップS55では、ステップS53、ス
テップS54において、流出先が決定したベクトルを流
出先未定ベクトルテーブル341から消去し、そのテー
ブルの空いた部分を詰める。次に、ステップS56で、
流出ベクトル未定垂直ベクトルカウンタ340の値を1
減じ、垂直ベクトル流出テーブル未決定項目番号テーブ
ル341に登録されている流出先が未定の垂直ベクトル
が1つ減った旨更新して、元のルーチンに戻る。。この
ようにして、図29のステップS42の処理が終了して
ステップS43へ進む。ステップS43では(2i−
1,2j+1)を垂直ベクトルの始点として登録し、こ
の垂直ベクトルに流入してくる水平ベクトルは、ステッ
プS41で登録した水平ベクトルとする。次に、ステッ
プS44ではステップS43で登録した垂直ベクトルが
流出する先の水平ベクトルを図31に示す流入元ベクト
ル未定テーブル311より捜し出して登録する。このス
テップS44の処理内容を図35のフローチャートで示
す。In step S55, the vector whose outflow destination is determined in steps S53 and S54 is deleted from the outflow destination undetermined vector table 341, and the empty portion of the table is filled. Next, in step S56,
The value of the outflow vector undetermined vertical vector counter 340 is set to 1.
The vertical vector outflow table undecided item number table 341 is updated to the effect that the number of outflow destination undetermined vertical vectors has decreased by 1, and the process returns to the original routine. . In this way, the process of step S42 in FIG. 29 ends and the process proceeds to step S43. In step S43, (2i-
1, 2j + 1) is registered as the starting point of the vertical vector, and the horizontal vector flowing into this vertical vector is the horizontal vector registered in step S41. Next, in step S44, the horizontal vector to which the vertical vector registered in step S43 flows out is searched from the inflow source vector undetermined table 311 shown in FIG. 31 and registered. The processing content of step S44 is shown in the flowchart of FIG.
【0083】これは前述した図30に示した処理と全く
同様にして実行される。即ち、ステップS43で登録し
た垂直ベクトルが流出する先のベクトルを図24の流出
ベクトル項目欄に登録し、この垂直ベクトルへ流出する
水平ベクトルの流入先ベクトル項目番号欄に、垂直ベク
トルカウンタ240の値をセットして、この垂直ベクト
ルであるとして登録する。これにより、図31に示すテ
ーブル311を更新する。This is executed in exactly the same way as the processing shown in FIG. That is, the vector to which the vertical vector registered in step S43 flows out is registered in the outflow vector item field of FIG. 24, and the value of the vertical vector counter 240 is entered in the inflow destination vector item number field of the horizontal vector flowing out to this vertical vector. Is set and is registered as this vertical vector. As a result, the table 311 shown in FIG. 31 is updated.
【0084】次にステップS45では、水平ベクトルカ
ウンタ230を+1し、ステップS46で、垂直ベクト
ルカウンタ240を+1して、元の処理に戻る。Next, in step S45, the horizontal vector counter 230 is incremented by 1, and in step S46, the vertical vector counter 240 is incremented by 1, and the original processing is returned to.
【0085】<ケース2の処理説明(図8、図23、図
24、図33、図36)>図27のステップS30にお
いて、レジスタの保持する値が“2”の場合は、図36
に示す処理が実行される。図36に示す処理は、図8に
示す状態を処理するルーチンである。<Explanation of Processing for Case 2 (FIG. 8, FIG. 23, FIG. 24, FIG. 33, FIG. 36)> In step S30 of FIG. 27, if the value held in the register is “2”, FIG.
The process shown in is executed. The process shown in FIG. 36 is a routine for processing the state shown in FIG.
【0086】まず、ステップS71で、図24の垂直ベ
クトルカウンタ240が示す垂直ベクトルの始点を(2
i−1,2j+1)として登録し、この垂直ベクトルが
流出する水平ベクトルを、ステップS73で登録される
水平ベクトルとする。ステップS72では、ステップS
71で登録した垂直ベクトルが、それに流入してくる水
平ベクトルが未定であるベクトルとして、図33に示す
流入ベクトル未定垂直ベクトルテーブル331の既使用
領域のすぐ隣の未使用領域に登録し、流入元ベクトル未
定垂直ベクトルカウンタ330を+1する。次にステッ
プS73に進み、図23に示すテーブルのカウンタ23
0で示される欄の水平ベクトルの始点を(2i−1,2
j−1)として登録し、このテーブルの流入元垂直ベク
トルを、ステップS71で登録した垂直ベクトルとして
登録する。First, in step S71, the start point of the vertical vector indicated by the vertical vector counter 240 in FIG.
i−1, 2j + 1), and the horizontal vector from which this vertical vector flows is the horizontal vector registered in step S73. In step S72, step S
The vertical vector registered in 71 is registered in the unused area immediately next to the used area of the inflow vector undetermined vertical vector table 331 shown in FIG. 33 as a vector whose horizontal vector flowing into it is undetermined, The vector undetermined vertical vector counter 330 is incremented by one. Next, in step S73, the counter 23 in the table shown in FIG.
The starting point of the horizontal vector of the column indicated by 0 is (2i-1, 2,
j-1), and the inflow source vertical vector in this table is registered as the vertical vector registered in step S71.
【0087】ステップS74では、ステップS73で登
録した水平ベクトルが流入して行く先の垂直ベクトルが
未定であるベクトルとして、図32に示す流出ベクトル
未定水平ベクトルテーブル321の既使用領域のすぐ隣
の未使用領域に登録し、流出先ベクトル未定水平ベクト
ルカウンタ320を+1する。ステップS75では、水
平ベクトルカウンタ230及び垂直ベクトルカウンタ2
40を共に+1して元の処理に戻る。In step S74, the horizontal vector registered in step S73 is set as an undetermined vertical vector to which the horizontal vector flows, and the unused vector immediately next to the unused area in the outflow vector undetermined horizontal vector table 321 shown in FIG. Register in the area and increment the outflow destination vector undetermined horizontal vector counter 320 by one. In step S75, the horizontal vector counter 230 and the vertical vector counter 2
Both 40 are incremented by 1, and the process returns to the original process.
【0088】<ケース3の説明(図9、図23、図2
4、図37) 図27のステップS30において、レジスタの値が
“3”の場合は、図37に示す処理が実行される。同図
に示す処理は、図9に示す状態を処理するルーチンであ
る。<Description of Case 3 (FIG. 9, FIG. 23, FIG. 2)
4, FIG. 37) In step S30 of FIG. 27, if the value of the register is “3”, the processing shown in FIG. 37 is executed. The process shown in the figure is a routine for processing the state shown in FIG.
【0089】ステップS81では(2i−1,2j+
1)を垂直ベクトル91(図9)の始点として登録す
る。次にステップS82に進み、前述のステップS44
と同様にして、ステップS81で登録した垂直ベクトル
が流出する先の水平ベクトルを求める。次にステップS
83で、カウンタ330が指示するテーブル331に垂
直ベクトルカウンタ240の値をセットして、カウンタ
330の値を+1する。次にステップS85で垂直ベク
トルカウンタ240の内容を+1し、ステップS85で
ケースAの処理を行う。この処理は図38のフローチャ
ートで示されている。In step S81, (2i-1,2j +
1) is registered as the starting point of the vertical vector 91 (FIG. 9). Next, the process proceeds to step S82 and the above-mentioned step S44.
Similarly, the horizontal vector to which the vertical vector registered in step S81 flows out is obtained. Then step S
At 83, the value of the vertical vector counter 240 is set in the table 331 designated by the counter 330, and the value of the counter 330 is incremented by one. Next, in step S85, the content of the vertical vector counter 240 is incremented by 1, and in step S85, the process of case A is performed. This process is shown in the flowchart of FIG.
【0090】図38のフローチャートを説明すると、ス
テップS91で図9の画素Aが白“0”かどうかを調
べ、白でなければ何もせずに処理を終了する。これは図
9の93で示されている。Explaining the flowchart of FIG. 38, it is checked in step S91 if the pixel A of FIG. 9 is white "0", and if it is not white, nothing is done and the process ends. This is indicated at 93 in FIG.
【0091】画素Aが白であればステップS92に進
み、水平ベクトル94(図9)の始点を(2i+1,2
j−1)とする。次にステップS93で、この水平ベク
トルに流入する垂直ベクトルをサーチする。次にステッ
プS94に進み、この水平ベクトルの流出ベクトルが未
定であるとして、この水平ベクトルの番号をテーブル3
21にセットする。そして、ステップS95で水平ベク
トルカウンタ230を+1して、処理を終了する。If the pixel A is white, the flow advances to step S92 to set the start point of the horizontal vector 94 (FIG. 9) to (2i + 1,2).
j-1). Next, in step S93, a vertical vector flowing into this horizontal vector is searched. Next, proceeding to step S94, assuming that the outflow vector of this horizontal vector is undecided, the number of this horizontal vector is set in Table 3.
Set to 21. Then, in step S95, the horizontal vector counter 230 is incremented by 1, and the process ends.
【0092】<ケース4の説明(図10、図23、図2
4、図31〜図34、図39)>図27のステップS3
0において、レジスタの値が“4”の場合は、図39に
示したルーチンがコールされる。このルーチンは図10
に示したケース4を処理するルーチンである。<Description of Case 4 (FIGS. 10, 23 and 2)
4, FIG. 31 to FIG. 34, FIG. 39)> Step S3 of FIG.
If the register value is "4" at 0, the routine shown in FIG. 39 is called. This routine is shown in FIG.
This is a routine for processing case 4 shown in FIG.
【0093】ステップS101では(2i−1,2j−
1)を水平ベクトル102の始点として登録し、このベ
クトルが流出する先のベクトルは、ステップS103で
登録する垂直ベクトルであるとして、この時の垂直ベク
トルカウンタ240の値を図23の流出ベクトル項目番
号欄にセットする。ステップS102では、ステップS
101で登録したベクトルへ流入してくるベクトルが未
定であるとして、図31に示したテーブル311にカウ
ンタ230の値を登録して、このテーブル311を更新
する。ステップS103では(2i+1,2j−1)を
垂直ベクトル103(図10)の始点として定義し、こ
のベクトルに流入してくるベクトルはステップS101
で登録した水平ベクトル102であるとして、図24に
示すテーブルの流入ベクトル項目番号欄に水平ベクトル
カウンタ230の値をセットする。ステップS104で
は、ステップS103で登録した垂直ベクトル103が
流出するベクトルが未定であるとして図34のカウンタ
340で指示されたテーブル341の欄に垂直ベクトル
カウンタ240の値をセットする。次に、ステップS1
05で、水平ベクトルカウンタ230及び垂直ベクトル
カウンタ240をそれぞれ+1して、元の処理に戻る。In step S101, (2i-1,2j-
1) is registered as the starting point of the horizontal vector 102, and the vector to which this vector flows out is the vertical vector registered in step S103, and the value of the vertical vector counter 240 at this time is the outflow vector item number in FIG. Set in the field. In step S102, step S
Assuming that the vector flowing into the vector registered in 101 is undecided, the value of the counter 230 is registered in the table 311 shown in FIG. 31, and this table 311 is updated. In step S103, (2i + 1,2j-1) is defined as the starting point of the vertical vector 103 (FIG. 10), and the vector flowing into this vector is step S101.
Assuming that the horizontal vector 102 is registered in step 2, the value of the horizontal vector counter 230 is set in the inflow vector item number column of the table shown in FIG. In step S104, the value of the vertical vector counter 240 is set in the column of the table 341 designated by the counter 340 in FIG. 34, assuming that the vector outflowing the vertical vector 103 registered in step S103 is undecided. Next, step S1
At 05, the horizontal vector counter 230 and the vertical vector counter 240 are respectively incremented by 1, and the original processing is returned to.
【0094】<ケース5の説明>図27のステップS3
0において、レジスタが“5”の場合は、図40で示さ
れたルーチンをコールする。この図40で示されたルー
チンは、図11で示す状態の場合にコールされ、何もせ
ずにそのままリターンする。<Description of Case 5> Step S3 of FIG.
If the register is "5" at 0, the routine shown in FIG. 40 is called. The routine shown in FIG. 40 is called in the state shown in FIG. 11, and returns without doing anything.
【0095】<ケース6の説明(図12、図23、図2
4、図31〜図34、図41、図42)>図27のステ
ップS30において、レジスタの値が“6”の場合は、
図41のフローチャートで示されたルーチンをコールす
る。これは、図12で示すケース6の処理である。<Description of Case 6 (FIGS. 12, 23 and 2)
4, FIG. 31 to FIG. 34, FIG. 41, FIG. 42)> In step S30 of FIG. 27, if the register value is “6”,
The routine shown in the flowchart of FIG. 41 is called. This is the processing of case 6 shown in FIG.
【0096】先ず、ステップS111で、図23のカウ
ンタ230で指示された水平ベクトル122(図12)
の始点を(2i−1,2j−1)として登録する。次に
ステップS112で、S111で登録した水平ベクトル
122は、その流出先ベクトルが未定であるとして、図
32に示す流出先ベクトル未定水平ベクトルテーブル3
21に、図38のステップS94と同様にして登録す
る。ステップS113では、ステップS111で登録し
た水平ベクトル122に流入してくる元のベクトルが未
定であるとして、図39のステップS102と同様に、
図31に示す流入元ベクトル未定水平ベクトルテーブル
311に登録する。次にステップS114では、水平ベ
クトルカウンタ230を+1する。ステップS115で
は(B)の位置の画素が白画素か黒画素かを判断し、白
画素である場合は、図12の120に示す如く、(2i
+1,2j+1)を垂直ベクトル124の始点として登
録し、黒画素の場合は図12の121に示すごとく、そ
のまま処理を終える。First, in step S111, the horizontal vector 122 designated by the counter 230 of FIG. 23 (FIG. 12).
The starting point of is registered as (2i-1,2j-1). Next, in step S112, regarding the horizontal vector 122 registered in step S111, the outflow destination vector is undecided, and the outflow destination vector undetermined horizontal vector table 3 shown in FIG.
21 is registered in the same manner as in step S94 of FIG. In step S113, assuming that the original vector flowing into the horizontal vector 122 registered in step S111 is undetermined, as in step S102 of FIG. 39,
It is registered in the inflow source vector undetermined horizontal vector table 311 shown in FIG. Next, in step S114, the horizontal vector counter 230 is incremented by one. In step S115, it is determined whether the pixel at the position (B) is a white pixel or a black pixel. If the pixel is a white pixel, as indicated by 120 in FIG. 12, (2i
+1, 2j + 1) is registered as the starting point of the vertical vector 124, and in the case of a black pixel, the process is terminated as indicated by 121 in FIG.
【0097】このステップS115の処理の詳細は図4
2に示す通りである。Details of the processing in step S115 are shown in FIG.
As shown in 2.
【0098】ステップS121では画素B(図示参照)
が白画素か黒画素かを判断し、黒画素ならそのままリタ
ーンする。白画素の場合はステップS122へ進む。ス
テップS122では(2i+1,2j+1)を垂直ベク
トル124の始点として登録する。ステップS123で
は、図39のステップS104と同様に、この垂直ベク
トル124が流出する先のベクトルが未定の垂直ベクト
ルであるとして、図34のテーブル341に登録する。
更にステップS124では、前述した図36のステップ
S72と同様に、ステップS122で登録した垂直ベク
トル124に流入してくる元のベクトルが未定であると
して、図33のテーブル331にセットする。ステップ
S125では、垂直ベクトルカウンタ240を+1して
元のルーチンに戻る。In step S121, the pixel B (see the drawing)
Is a white pixel or a black pixel, and if it is a black pixel, the process directly returns. If it is a white pixel, the process proceeds to step S122. In step S122, (2i + 1,2j + 1) is registered as the starting point of the vertical vector 124. In step S123, similarly to step S104 of FIG. 39, it is registered in the table 341 of FIG. 34 that the vector to which the vertical vector 124 flows is an undetermined vertical vector.
Further, in step S124, similarly to step S72 of FIG. 36 described above, it is set in the table 331 of FIG. 33 on the assumption that the original vector flowing into the vertical vector 124 registered in step S122 is undecided. In step S125, the vertical vector counter 240 is incremented by 1, and the process returns to the original routine.
【0099】<ケース7の説明(図13、図38、図4
2、図43)>図27のステップS30において、レジ
スタの値が“7”の場合、図43のフローチャートで示
すルーチンが実行される。このルーチンは、図13で示
されるケース7の処理を行う。<Description of Case 7 (FIGS. 13, 38 and 4)
2, FIG. 43)> In step S30 of FIG. 27, if the register value is "7", the routine shown in the flowchart of FIG. 43 is executed. This routine performs the processing of case 7 shown in FIG.
【0100】ステップS131では、図38のステップ
S85と同様に、画素Aの状態に応じた処理を行う。次
に、ステップS132では、図40のステップS115
と同様に、画素Bの状態に応じた処理を行って元のルー
チンにリターンする。In step S131, similar to step S85 in FIG. 38, the process corresponding to the state of the pixel A is performed. Next, in step S132, step S115 of FIG.
Similarly to the above, the processing according to the state of the pixel B is performed, and the process returns to the original routine.
【0101】尚、図13において、130は(A)の位
置の画素及び(B)の位置の画素が共に白画素の場合、
131は(A)のみ黒画素、132は(B)のみ黒画
素、そして133は共に黒画素である場合を示してい
る。Incidentally, in FIG. 13, reference numeral 130 indicates that both the pixel at the position (A) and the pixel at the position (B) are white pixels.
131 shows a case where only (A) is a black pixel, 132 is a case where only (B) is a black pixel, and 133 is a case where both are black pixels.
【0102】<ケース8の説明(図14、図44〜図4
6)>図27のステップS30において、レジスタの値
が“8”の場合は図44で示す処理ルーチンをコールす
る。このルーチンは、図14で示されるケース8の処理
を行う。<Description of Case 8 (FIGS. 14 and 44 to 4)
6)> In step S30 of FIG. 27, if the register value is "8", the processing routine shown in FIG. 44 is called. This routine performs the processing of case 8 shown in FIG.
【0103】ステップS133では、垂直ベクトルカウ
ンタ240で指示された垂直ベクトル141(図14)
の始点を(2i+1,2j−1)として図24のテーブ
ルに登録し、このベクトルが流出する先の水平ベクトル
は、後続のS135で登録するベクトルであるとして、
カウンタ230の値を流出ベクトル項目番号欄に登録す
る。ステップS134では、ステップS133で登録し
た垂直ベクトル141に流入してくる元の水平ベクトル
を図45に示す手順で、図32に示すテーブル321を
用いて求める。In step S133, the vertical vector 141 designated by the vertical vector counter 240 (FIG. 14).
24 is registered in the table of FIG. 24 as (2i + 1,2j−1), and the horizontal vector to which this vector flows is a vector registered in subsequent S135,
The value of the counter 230 is registered in the outflow vector item number column. In step S134, the original horizontal vector flowing into the vertical vector 141 registered in step S133 is obtained using the table 321 shown in FIG. 32 in the procedure shown in FIG.
【0104】図45の処理は、先に説明した図30及び
図35に示した処理と全く同様な手順で、ステップS1
33で登録した垂直ベクトル141に流入してくる元の
水平ベクトルを登録し、この水平ベクトルが流出する先
の垂直ベクトルをステップS133で登録した垂直ベク
トル141であるとして登録する(S145)。そし
て、ステップS146でテーブル321の隙間を埋め、
ステップS147でカウンタ320を−1して、図32
に示すテーブル321を更新する。The process of FIG. 45 is exactly the same as the process shown in FIG. 30 and FIG.
The original horizontal vector flowing into the vertical vector 141 registered in 33 is registered, and the vertical vector to which this horizontal vector flows out is registered as the vertical vector 141 registered in step S133 (S145). Then, in step S146, the gap of the table 321 is filled,
In step S147, the counter 320 is decremented by 1 and the counter shown in FIG.
The table 321 shown in is updated.
【0105】図44のステップS135では、水平ベク
トルカウンタ230で指示される水平ベクトル142
(図14)の始点を(2i+1,2j+1)として登録
し、かつ、このベクトル142に流入する元の垂直ベク
トルは、ステップS133で登録した垂直ベクトル14
1であると登録する。ステップS136では、ステップ
S135で登録した水平ベクトル142が流出する先の
垂直ベクトルを図46に示す手順にしたがって、図33
に示すテーブル331を用いて求める。In step S135 of FIG. 44, the horizontal vector 142 designated by the horizontal vector counter 230 is indicated.
The starting vertical point of (FIG. 14) is registered as (2i + 1, 2j + 1), and the original vertical vector flowing into this vector 142 is the vertical vector 14 registered in step S133.
Register to be 1. 33. In step S136, the vertical vector to which the horizontal vector 142 registered in step S135 flows is output according to the procedure shown in FIG.
It is obtained using the table 331 shown in FIG.
【0106】図46の処理は、先に説明した図30、図
35及び図45に示した処理と全く同様な手順で、図4
4のステップS135で登録した水平ベクトル142が
流出する先の垂直ベクトルを登録し、この垂直ベクトル
に流入する元のベクトルはステップS135で登録した
水平ベクトル142であると登録して(図46のステッ
プS154)、ステップS155、S156で図33に
示すテーブル331を更新するものである。The processing of FIG. 46 is exactly the same as the processing shown in FIGS. 30, 35 and 45 described above, and the processing of FIG.
The vertical vector to which the horizontal vector 142 registered in step S135 of 4 flows out is registered, and the original vector flowing into this vertical vector is registered as the horizontal vector 142 registered in step S135 (step of FIG. 46). In S154), steps S155 and S156, the table 331 shown in FIG. 33 is updated.
【0107】再び図44に戻り、ステップS137で水
平ベクトルベクトルカウンタ230及び垂直ベクトルカ
ウンタ240を共に+1してリターンする。Returning again to FIG. 44, the horizontal vector vector counter 230 and the vertical vector counter 240 are both incremented by 1 in step S137, and the process returns.
【0108】<ケース9の説明(図15、図47)>図
14のステップS30において、レジスタの値が“9”
の場合は図47に示すルーチンがコールされる。このル
ーチンは図15に示すケース9を処理するものである。<Description of Case 9 (FIGS. 15 and 47)> In step S30 of FIG. 14, the register value is "9".
In this case, the routine shown in FIG. 47 is called. This routine processes case 9 shown in FIG.
【0109】まずステップS161では、(2i+1,
2j+1)を水平ベクトル151(図15)の始点とし
て登録する。次にステップS162では、先に説明した
図30に示した手順と同様にして、この水平ベクトル1
51に流入する垂直ベクトルを図34のテーブル341
を用いてサーチして登録する。また、このサーチされた
垂直ベクトルが流出する水平ベクトルが、ステップS1
61で登録した水平ベクトルであると図24に示すテー
ブルに登録する。こうして図34のテーブル341を更
新する。First, in step S161, (2i + 1,
2j + 1) is registered as the starting point of the horizontal vector 151 (FIG. 15). Next, in step S162, in the same way as the procedure shown in FIG.
The vertical vector flowing into 51 is the table 341 in FIG.
Use to search and register. Further, the horizontal vector from which the searched vertical vector flows out is the step S1.
The horizontal vector registered at 61 is registered in the table shown in FIG. In this way, the table 341 of FIG. 34 is updated.
【0110】ステップS163では、先に説明した図4
6に示した手順と同様にして、ステップS161で登録
した水平ベクトル151が流出する先の垂直ベクトルを
図33に示すテーブルを用いて捜し出して登録し、この
垂直ベクトルに流入する元のベクトルがステップS16
1で登録した水平ベクトル151であると登録して、図
33に示すテーブル331を更新する。In step S163, the process shown in FIG.
Similarly to the procedure shown in FIG. 6, the horizontal vector 151 registered in step S161 is searched for and registered with the vertical vector to which the horizontal vector 151 flows out using the table shown in FIG. 33, and the original vector flowing into this vertical vector is the step. S16
The horizontal vector 151 registered in 1 is registered, and the table 331 shown in FIG. 33 is updated.
【0111】ステップS164では、水平ベクトルカウ
ンタ230を+1し、ステップS165では、(D)の
位置の画素が白画素か黒画素かを判断し、白画素である
場合は、図15の152で示すように、(2i−1,2
j−1)を垂直ベクトル154の始点として登録し、黒
画素の場合はそのまま処理を終える(図15の15
3)。In step S164, the horizontal vector counter 230 is incremented by 1, and in step S165 it is determined whether the pixel at the position (D) is a white pixel or a black pixel. If the pixel is a white pixel, it is indicated by 152 in FIG. , (2i-1,2
j-1) is registered as the starting point of the vertical vector 154, and in the case of a black pixel, the processing is terminated (15 in FIG. 15).
3).
【0112】ステップS165の処理(ケースD)の内
容を図48に示す。FIG. 48 shows the contents of the process of step S165 (case D).
【0113】ステップS171では、(D)の位置が白
画素か黒画素かを判断し、黒画素ならそのままリターン
する。白画素の場合はステップS172に進み、(2i
−1,2j−1)を垂直ベクトル154の始点として登
録する。次にステップS173に進み、前述した図45
の処理を行う。即ち、ステップS172で登録した垂直
ベクトル154に流入してくる元の水平ベクトルを登録
し、この水平ベクトルが流入する先の垂直ベクトルがス
テップS172で登録した垂直ベクトル154であると
登録して、図32に示すテーブル321を更新するもの
である。In step S171, it is determined whether the position (D) is a white pixel or a black pixel, and if it is a black pixel, the process directly returns. If it is a white pixel, the process proceeds to step S172, and (2i
-1, 2j-1) is registered as the starting point of the vertical vector 154. Next, the process proceeds to step S173, and FIG.
Process. That is, the original horizontal vector flowing into the vertical vector 154 registered in step S172 is registered, and the vertical vector to which this horizontal vector flows in is registered as the vertical vector 154 registered in step S172. The table 321 shown in FIG. 32 is updated.
【0114】次にステップS174では、先に説明した
図35に示す処理を行う。即ち、ステップS172で登
録した垂直ベクトル154が流出する先の水平ベクトル
を登録し、この水平ベクトルに流入してくる元のベクト
ルは、ステップS172で登録した垂直ベクトル154
であると登録して、図31に示すテーブル311を更新
する。ステップS175では、垂直ベクトルカウンタ2
40を+1してリターンする。Next, in step S174, the above-described processing shown in FIG. 35 is performed. That is, the horizontal vector to which the vertical vector 154 registered in step S172 flows out is registered, and the original vector flowing into this horizontal vector is the vertical vector 154 registered in step S172.
Is registered and the table 311 shown in FIG. 31 is updated. In step S175, the vertical vector counter 2
40 is incremented by 1 and the process is returned.
【0115】<ケース10の処理>図27のステップS
30において、レジスタの値が“10”の場合は図49
に示すルーチンがコールされる。このルーチンは図16
に示すケース10を処理するものである。図49のルー
チンはコールされるとそのままリターンする。<Process of Case 10> Step S of FIG.
In FIG. 49, when the register value is “10” in FIG.
The routine shown in is called. This routine is shown in FIG.
The case 10 shown in FIG. When the routine of FIG. 49 is called, it returns as it is.
【0116】<ケース11の説明>図27のステップS
30において、レジスタの値が“11”の場合は、図5
0に示すルーチンがコールされる。このルーチンは、図
17に示すケース11を処理するものである。<Description of Case 11> Step S of FIG.
When the register value is “11” in FIG.
The routine shown in 0 is called. This routine processes the case 11 shown in FIG.
【0117】まずステップS176では、ステップS1
65と同様に(D)の位置の画素の状態に応じて、先に
説明した図48のフローチャートで示される処理を行
う。次にステップS177では、ステップS85及びS
131と同様に、(A)の位置の画素の状態に応じて、
先に説明した図38で示される処理を行う。First, in step S176, step S1
Similar to 65, the processing shown in the flowchart of FIG. 48 described above is performed according to the state of the pixel at the position (D). Next, in step S177, steps S85 and S
Similar to 131, depending on the state of the pixel at the position (A),
The processing shown in FIG. 38 described above is performed.
【0118】尚、図17の(D)の位置の画素及び
(A)の位置の画素が共に白画素の場合を170で示
し、(A)のみが黒画素の場合を171で、(D)のみ
が黒画素の場合を172、(A)(D)が共に黒画素の
場合の処理結果を173で示す。It is to be noted that the case where both the pixel at the position (D) and the pixel at the position (A) in FIG. 17 are white pixels is indicated by 170, and when only (A) is a black pixel is indicated by 171 and (D). 172 shows the case where only black pixels are present, and 173 shows the processing result when both (A) and (D) are black pixels.
【0119】<ケース12の説明(図18、図23、図
24、図51、図52)>図27のステップS30にお
いて、レジスタの値が“12”の場合は、図51に示す
ルーチンがコールされる。このルーチンは、図18に示
すケース12の状態を処理するものである。<Description of Case 12 (FIG. 18, FIG. 23, FIG. 24, FIG. 51, FIG. 52)> In step S30 of FIG. 27, if the register value is “12”, the routine shown in FIG. 51 is called. To be done. This routine processes the state of case 12 shown in FIG.
【0120】ステップS181では、図24に示すテー
ブルに(2i+1,2j−1)を垂直ベクトル181
(図18)の始点として登録する。ステップS182で
は、先に説明した図44のステップS134と同様に、
図45に示す手順でステップS181で登録した垂直ベ
クトル181に流入してくる元の水平ベクトル182を
サーチして登録する。また、この水平ベクトル182で
登録した垂直ベクトル181であると登録して、図32
に示すテーブル321を更新する。In step S181, (2i + 1,2j-1) is added to the vertical vector 181 in the table shown in FIG.
Register as the starting point of (FIG. 18). In step S182, similar to step S134 of FIG. 44 described above,
The original horizontal vector 182 flowing into the vertical vector 181 registered in step S181 is searched and registered by the procedure shown in FIG. In addition, by registering the vertical vector 181 registered by the horizontal vector 182,
The table 321 shown in is updated.
【0121】次に、ステップS183では、ステップS
181で登録した垂直ベクトル181の流出先のベクト
ルが未定である旨を図34で示すテーブル341に登録
し、カウンタ340の更新を行う。次にステップS18
4では、垂直ベクトルカウンタ240を+1する。そし
てステップS185ではCの位置の画素が白画素か黒画
素かを判断し、白画素である場合は、図18の183で
示すごとく(2i−1,2j+1)を水平ベクトル18
5の始点として登録し、黒画素である場合は図18の1
84に示すごとくそのまま処理を終える。Next, in step S183, step S
The fact that the outflow destination vector of the vertical vector 181 registered in 181 is undecided is registered in the table 341 shown in FIG. 34, and the counter 340 is updated. Next in step S18
At 4, the vertical vector counter 240 is incremented by 1. Then, in step S185, it is determined whether the pixel at the position C is a white pixel or a black pixel.
5 is registered as the starting point, and if it is a black pixel, 1 in FIG.
As indicated by 84, the processing is finished as it is.
【0122】このステップS185の処理の内容を図5
2のフローチャートで示す。The contents of the processing in step S185 are shown in FIG.
This is shown in the flowchart of FIG.
【0123】ステップS191では、Cの位置が白画素
か黒画素かを判断し、黒画素ならそのままリターンす
る。白画素の場合はステップS192へ進み、ステップ
S192では、(2i−1,2j+1)を水平ベクトル
185の始点として登録する。次にステップS193で
は、先に説明した図46のフローチャートで示された処
理を行って、ステップS192で登録した水平ベクトル
185が流出する先の垂直ベクトルを登録する。そし
て、この垂直ベクトルに流入してくる元のベクトルが、
ステップS192で登録した水平ベクトル185である
と、図24のテーブルに登録して、図33に示すテーブ
ル331を更新する。In step S191, it is determined whether the position of C is a white pixel or a black pixel, and if it is a black pixel, the process directly returns. If it is a white pixel, the process proceeds to step S192, and in step S192, (2i−1,2j + 1) is registered as the starting point of the horizontal vector 185. Next, in step S193, the process shown in the flowchart of FIG. 46 described above is performed to register the vertical vector to which the horizontal vector 185 registered in step S192 flows out. And the original vector flowing into this vertical vector is
If it is the horizontal vector 185 registered in step S192, it is registered in the table of FIG. 24 and the table 331 shown in FIG. 33 is updated.
【0124】ステップS194では、ステップS192
で登録した水平ベクトル185は、これに流入する元の
垂直ベクトル186が未定なベクトルである旨を図31
に示す流入元ベクトル未定水平ベクトルテーブル311
に登録し、カウンタ310を+1する。次にステップS
195に進み、水平ベクトルカウンタ230を+1して
元の処理に戻る。In step S194, step S192
31 that the original vertical vector 186 flowing into this is the undetermined horizontal vector 185 registered in FIG.
Inflow source vector undetermined horizontal vector table 311 shown in FIG.
And the counter 310 is incremented by one. Then step S
In step 195, the horizontal vector counter 230 is incremented by 1, and the process returns to the original process.
【0125】<ケース13の説明(図19、図53)>
図27のステップS30において、レジスタの値が“1
3”の場合は、図53に示すルーチンがコールされる。
このルーチンは図19のケース13を処理したものであ
る。<Description of Case 13 (FIGS. 19 and 53)>
In step S30 of FIG. 27, the register value is "1".
In the case of 3 ", the routine shown in FIG. 53 is called.
This routine is a processing of case 13 in FIG.
【0126】ステップS196では、図47のステップ
S165及び図50のステップS176同様にDの位置
の画素の状態に応じて、先に説明した図48のフローチ
ャートで示される処理を行う。In step S196, similar to step S165 of FIG. 47 and step S176 of FIG. 50, the processing shown in the flowchart of FIG. 48 described above is performed according to the state of the pixel at the position D.
【0127】ステップS197では、図51のステップ
S185と同様に、Cの位置の画素の状態に応じて、先
に説明した図52のフローチャートで示される処理を行
う。190はDの位置の画素及びCの位置の画素が共に
白画素の場合、191はCのみ黒画素、192はDのみ
黒画素、そして193はCとDが共に黒画素だった場合
の処理結果をそれぞれ示す。In step S197, similar to step S185 of FIG. 51, the processing shown in the flowchart of FIG. 52 described above is performed according to the state of the pixel at the position C. 190 is a processing result when both the pixel at the D position and the pixel at the C position are white pixels, 191 is a black pixel only for C, 192 is a black pixel only for D, and 193 is a processing result when both C and D are black pixels Are shown respectively.
【0128】<ケース14の説明>図27のステップS
30において、レジスタの値が“14”の場合は、図5
4に示すルーチンがコールされる。このルーチンは図2
0で示すケース14の状態を処理するものである。<Description of Case 14> Step S of FIG.
If the register value is “14” in FIG.
The routine shown in 4 is called. This routine is shown in Figure 2.
The state of case 14 indicated by 0 is processed.
【0129】図54のステップS201では、図51の
ステップS185及び図53のステップS197と同様
に、Cの位置の画素の状態に応じて、先に説明した図5
2で示されるケースCの処理を行う。次にステップS2
02では、図41のステップS115及び図43のステ
ップS132と同様にBの位置の画素の状態に応じて、
先に説明した図42で示されるケースBの処理を行う。In step S201 of FIG. 54, similar to step S185 of FIG. 51 and step S197 of FIG. 53, depending on the state of the pixel at the position C, the above-described FIG.
The processing of case C shown by 2 is performed. Then step S2
In 02, as in step S115 of FIG. 41 and step S132 of FIG. 43, according to the state of the pixel at the position B,
The processing of case B shown in FIG. 42 described above is performed.
【0130】201はCの位置の画素及びBの位置の画
素が共に白画素の場合、202はBのみ黒画素、203
はCのみ黒画素、204は共に黒画素の場合の処理結果
をそれぞれ示している。If 201 is a white pixel for both the pixel at the C position and the pixel at the B position, 202 is a black pixel for B only, 203
Indicates a processing result when C is a black pixel and 204 is a black pixel.
【0131】<ケース15の説明>図27のステップS
30において、レジスタの値が“15”の場合は、図5
5に示すルーチンがコールされる。このルーチンは図2
1で示すケース15の状態を処理するものである。<Description of Case 15> Step S of FIG.
In the case where the register value is “15” in FIG.
The routine shown in 5 is called. This routine is shown in Figure 2.
The state of the case 15 shown by 1 is processed.
【0132】ステップS203では、前述のステップS
165などと同様にDの位置の画素の状態に応じて、先
に説明した図48のフローチャートで示されるケースD
の処理を行う。次にステップS204では、前述のステ
ップS85、S131などと同様にAの位置の画素の状
態に応じて、先に説明した図38で示されるケースAの
処理を行う。ステップS205では前述のステップS1
85などと同様に、Cの位置の画素の状態に応じて、先
に説明した図52で示されるケースCの処理を行う。更
に、ステップS206では図41のステップS115な
どと同様に、Bの位置の画素の状態に応じて先に説明し
た図42で示されるケースBの処理を行う。In step S203, the aforementioned step S
As in the case of 165 or the like, depending on the state of the pixel at the position D, the case D shown in the flowchart of FIG.
Process. Next, in step S204, the process of case A shown in FIG. 38 described above is performed according to the state of the pixel at the position A as in steps S85 and S131 described above. In step S205, the above-mentioned step S1
Similar to 85 and the like, the processing of the case C shown in FIG. 52 described above is performed according to the state of the pixel at the position C. Further, in step S206, similar to step S115 of FIG. 41 and the like, the processing of case B shown in FIG. 42 described above is performed according to the state of the pixel at the position B.
【0133】これにより、図21の210は、Dの位置
の画素、Aの位置の画素、Cの位置の画素及びBの位置
の画素が全て白画素だった場合の処理結果を示し、21
1はAのみ黒画素だった場合を、212はBのみが黒画
素だった場合を、213はCのみ黒画素だった場合を、
214はDのみ黒画素だった場合を、215はA及びB
のみ黒画素だった場合を、216はB及びCのみが黒画
素だった場合を、217はC及びDのみが黒画素だった
場合を、218はD及びAのみ黒画素だった場合を、2
20はA及びCのみ黒画素だった場合を、221はDの
み白画素だった場合を、222はCのみ白画素だった場
合を、223はBのみ白画素だった場合を、224はA
のみ白画素だった場合を、そして225は全てが黒画素
だった場合の処理結果を示している。As a result, 210 in FIG. 21 shows the processing result when the pixel at the position D, the pixel at the position A, the pixel at the position C, and the pixel at the position B are all white pixels.
1 is a case where only A is a black pixel, 212 is a case where only B is a black pixel, 213 is a case where only C is a black pixel,
When 214 is a black pixel only for D, 215 is A and B
If 216 is a black pixel only, 216 is a case where only B and C are black pixels, 217 is a case where only C and D are black pixels, and 218 is a case where only D and A are black pixels.
20 is a case where only A and C are black pixels, 221 is a case where only D is a white pixel, 222 is a case where only C is a white pixel, 223 is a case where only B is a white pixel, and 224 is A
Only a white pixel is shown, and 225 shows a processing result when all are black pixels.
【0134】以上説明した手順により、図22のステッ
プS2におけるベクトル列抽出の一連の処理が実行され
る。According to the procedure described above, a series of processes for vector string extraction in step S2 of FIG. 22 is executed.
【0135】<アウトラインベクトル列の整列処理>図
56及び図57は図22のステップS3のアウトライン
ベクトル列整列の処理の内容を示している。図56及び
図57のフローチャートは、図22のステップS2で作
成された水平ベクトルに関するテーブル群(図23)、
垂直ベクトルに関するテーブル群(図24)及び後述す
る図58のテーブル群を用いて動作する。<Outline Vector Sequence Alignment Processing> FIGS. 56 and 57 show the outline vector sequence alignment processing in step S3 of FIG. The flow charts of FIGS. 56 and 57 are the table group (FIG. 23) relating to the horizontal vector created in step S2 of FIG.
It operates using the table group relating to the vertical vector (FIG. 24) and the table group of FIG. 58 described later.
【0136】先ず、ステップS211で、図58に示す
テーブル群の中で必要となる項目の初期化を行う。この
ステップS211の処理内容は、図59のフローチャー
トで詳しく示されている。First, in step S211, necessary items in the table group shown in FIG. 58 are initialized. The processing contents of this step S211 are shown in detail in the flowchart of FIG.
【0137】ステップS231では、一時的に開始点の
項目番号を保持する変数t(開始点項目番号)を0にす
る。次にステップS232に進み、変数iを“0”に
し、ステップS233では開始点候補テーブル571の
第i番目の項目を“1”にセットする。ステップS23
4では変数iを+1し、ステップS235で変数iが水
平ベクトルカウンタ230の値より小さな値を持つか否
かを判定し、小さな値であればステップS233へ戻
る。In step S231, the variable t (starting point item number) that temporarily holds the starting point item number is set to zero. Next, in step S232, the variable i is set to "0", and in step S233, the i-th item in the start point candidate table 571 is set to "1". Step S23
In step 4, the variable i is incremented by 1, and in step S235, it is determined whether or not the variable i has a value smaller than the value of the horizontal vector counter 230. If the value is small, the process returns to step S233.
【0138】水平ベクトルカウンタ230の値より大き
な値であればステップS236へ進み、ループ数カウン
タ572を“0”にリセットする。次にステップS23
7で変数kを“0”にリセットして、元のルーチンに戻
る。これにより、開始点候補テーブル571の0番目の
より(水平ベクトルカウンタ230−1)番目の欄にす
べて“1”がセットされる。If the value is larger than the value of the horizontal vector counter 230, the process proceeds to step S236, and the loop number counter 572 is reset to "0". Next in step S23
The variable k is reset to "0" at 7 and the process returns to the original routine. As a result, all "1" s are set in the 0th (horizontal vector counter 230-1) th column of the start point candidate table 571.
【0139】こうしてステップS211を終了するとス
テップS212に進み、変数kが水平ベクトルカウンタ
230の値の2倍と等しいか否かを判断し、もし等しけ
ればそのままリターンするが、等しくなければステップ
S213へ進む。ステップS213では、ループ数カウ
ンタ572の保持する値のさす開始点項目番号テーブル
574の項目位置に変数tに保持されている値を格納す
る。S214では、開始点項目番号テーブル574のル
ープ数カウンタ572の値で指示される項目に格納され
ている値(即ち、ステップS213で格納した値)を変
数hにセットする。そして、ステップS215で変数j
を0にリセットする。When step S211 is completed in this way, the process proceeds to step S212, it is determined whether the variable k is equal to twice the value of the horizontal vector counter 230, and if they are equal, the process directly returns, but if they are not equal, the process proceeds to step S213. . In step S213, the value held in the variable t is stored in the item position of the starting point item number table 574, which indicates the value held by the loop number counter 572. In S214, the value stored in the item indicated by the value of the loop number counter 572 of the starting point item number table 574 (that is, the value stored in step S213) is set in the variable h. Then, in step S215, the variable j
Is reset to 0.
【0140】ここで、ループ数カウンタ572は現在整
理中の輪郭の番号を示し、開始点項目番号テーブル57
4のループカウンタ572で指示される項目番号欄に
は、現在整理中の輪郭の開始点のある項目番号が記憶さ
れている。また、変数kは現在までの処理済及び処理中
の輪郭内で、処理済及び処理中の点の総数を保持し、j
は現在整理中の輪郭内で、処理済の点の個数を保持して
いる。また、変数hは次に処理する水平ベクトルの項目
番号を示す。Here, the loop number counter 572 indicates the number of the contour currently being arranged, and the starting point item number table 57
The item number column designated by the loop counter 572 of No. 4 stores the item number having the starting point of the contour currently being arranged. The variable k holds the total number of processed and processed points in the processed and processed contours up to the present, and j
Holds the number of processed points in the contour currently being organized. The variable h indicates the item number of the horizontal vector to be processed next.
【0141】次にステップS216に進み、開始点候補
テーブル571の、変数hの値により指示される項目番
号を“0”にリセットする。次にステップS217に進
み、変数hの値が指す水平ベクトル開始点のx座標(図
23)及び水平ベクトル開始点y座標(図23)の項目
位置に保持される値を、x座標テーブル575及びy座
標テーブル576内の変数kで指示される項目位置に格
納する。それとともに、変数hの値が指す水平ベクトル
流出先ベクトル項目番号(図23)の項目位置に保持さ
れている値を変数νにセットする。この変数νは、次に
処理する垂直ベクトルの項目番号を示している。ステッ
プS218では、変数k及び変数jの保持する値をそれ
ぞれ+1する。Next, in step S216, the item number designated by the value of the variable h in the start point candidate table 571 is reset to "0". Next, proceeding to step S217, the values held at the item positions of the horizontal vector start point x coordinate (FIG. 23) and horizontal vector start point y coordinate (FIG. 23) pointed to by the value of the variable h are set to the x coordinate table 575 and It is stored in the item position designated by the variable k in the y-coordinate table 576. At the same time, the value held at the item position of the horizontal vector outflow vector item number (FIG. 23) pointed to by the value of the variable h is set to the variable ν. This variable ν indicates the item number of the vertical vector to be processed next. In step S218, the values held by the variables k and j are incremented by +1.
【0142】次にステップS219に進み、変数νの値
が指す垂直ベクトル開始点のx座標(図24)及び垂直
ベクトル開始点のy座標(図24)の項目位置に保持さ
れる値をx座標テーブル575及びy座標テーブル57
6内の変数kの値が指す項目位置に格納する。それとと
もに、変数νの値が指す垂直ベクトル流出先ベクトル項
目番号(図24)の項目位置に保持されている値を変数
hにセットする。これにより変数hには、この垂直ベク
トルより流出する水平ベクトルの項目番号がセットされ
る。ステップS220では、変数k及びjの保持する値
をそれぞれ+1する。Next, in step S219, the value held at the item position of the vertical vector start point (FIG. 24) and the vertical vector start point y coordinate (FIG. 24) indicated by the value of the variable ν is set to the x coordinate. Table 575 and y coordinate table 57
It is stored in the item position indicated by the value of the variable k in 6. At the same time, the value held in the item position of the vertical vector outflow destination vector item number (FIG. 24) pointed to by the value of the variable ν is set in the variable h. As a result, the item number of the horizontal vector flowing out from this vertical vector is set in the variable h. In step S220, the values held by the variables k and j are incremented by one.
【0143】次にステップS221で、変数hの値が現
在整理中の輪郭の開始点の項目番号を保持する573
(変数t)の値と等しいか否かを判断し、等しくなけれ
ばステップS216へ戻り、同一輪郭点の一点として次
の点の処理を続けるが、等しくなるとステップS222
へ進み、現在整理中の輪郭の処理を終了する。ステップ
S222では、変数jの保持する値を現在処理中の輪郭
の中に含まれる点の数として各輪郭内に含まれる点数を
保持する点数テーブル577の、ループ数カウンタ57
2で指示される項目位置に格納する。ステップS223
では、整理中の輪郭の番号を示すループ数カウンタ57
2を+1する。Next, in step S221, the value of the variable h holds the item number of the starting point of the contour currently being arranged 573.
It is determined whether or not it is equal to the value of (variable t), and if it is not equal, the process returns to step S216 to continue processing the next point as one point of the same contour point, but if equal, step S222.
Then, the processing of the contour currently being arranged is completed. In step S222, the loop number counter 57 of the point table 577 that holds the number of points included in each contour, with the value held by the variable j as the number of points included in the contour currently being processed.
Store in the item position indicated by 2. Step S223
Then, the loop number counter 57 indicating the number of the contour being arranged
Increment 2 by 1.
【0144】次にステップS224では変数kが保持す
る既に処理した点の個数と、水平ベクトルカウンタ23
0に保持された水平ベクトルテーブル内に保持される点
の数の2倍とが等しいか否かを判断し、等しい場合は処
理を終えてリターンする。等しくない場合はステップS
225に進み、開始点項目番号573の値を+1する。
そして、ステップS226では、開始点項目番号573
の値で指示される開始点候補テーブル571の項目に保
持されている値が“1”か否かを判断し、“1”でなけ
ればステップS225へ戻り、再度開始点候補の探索を
続ける。一方、“1”であればステップS213に戻
り、次の輪郭内の点の整理を開始する。Next, in step S224, the number of already processed points held by the variable k and the horizontal vector counter 23
It is determined whether or not the number of points held in the horizontal vector table held at 0 is twice. If they are equal, the process is terminated and the process returns. If not equal, step S
In step 225, the value of the starting point item number 573 is incremented by 1.
Then, in step S226, the starting point item number 573
It is determined whether or not the value held in the item of the start point candidate table 571 designated by the value of is "1", and if it is not "1", the process returns to step S225 and the search for the start point candidate is continued again. On the other hand, if the value is "1", the process returns to step S213 to start sorting the points within the next contour.
【0145】以上、図22のステップS3の処理によ
り、図23〜図25に示したベクトルの開始点データ
は、図58に示すテーブルに各輪郭ループごとに順に並
んだ点の座標列として整列される。As described above, by the processing of step S3 of FIG. 22, the starting point data of the vectors shown in FIGS. 23 to 25 are arranged in the table shown in FIG. 58 as a coordinate sequence of points arranged in order for each contour loop. It
【0146】<ベクトル列テーブルの出力>次に図60
のフローチャートを参照して、図22のステップS4の
ベクトル列テーブルファイルの出力処理を説明する。<Output of Vector Sequence Table> Next, FIG.
The output processing of the vector sequence table file in step S4 of FIG. 22 will be described with reference to the flowchart of FIG.
【0147】ステップS241では、変数kを”0”に
リセットする。次にステップS242に進み、ディスク
522上に出力ファイルをオープンする。ステップS2
43では、ステップS242でオープンしたファイルに
ループ数カウンタ572に保持されている値を出力す
る。ステップS244では、変数kの値がループ数カウ
ンタ572に保持する値と等しいか否かを判断し、等し
い場合はステップS245へ進み、カウンタ230、2
40、310、320、330、340の値をリセット
し(値を0にする)、元の処理に戻る。In step S241, the variable k is reset to "0". Next, in step S242, the output file is opened on the disk 522. Step S2
In 43, the value held in the loop number counter 572 is output to the file opened in step S242. In step S244, it is determined whether or not the value of the variable k is equal to the value held in the loop number counter 572, and if equal, the process proceeds to step S245 and the counters 230, 2
The values of 40, 310, 320, 330, and 340 are reset (values are set to 0), and the original processing is returned to.
【0148】一方、ステップS244で等しくない場合
はステップS246に進み、輪郭ループ内点数テーブル
577の変数kの値の指す項目位置に格納されている値
をディスク522に出力する。ステップS247では開
始点項目番号テーブル574内の変数kの値の指す項目
位置に格納されている値を変数mにセットする。ここ
で、kは現在出力中の輪郭ループ番号を保持し、mは現
在出力中の輪郭ループ内の点列の開始点の格納される項
目番号を保持している。次にステップS248ではkの
値を+1し、ステップS249では変数lの値を”0”
にリセットする。このlは、現在出力中の輪郭ループ内
の出力済の点の数を保持する変数である。On the other hand, if they are not equal in step S244, the flow advances to step S246 to output the value stored in the item position pointed to by the value of the variable k in the contour loop inner score table 577 to the disk 522. In step S247, the value stored in the item position indicated by the value of the variable k in the starting point item number table 574 is set in the variable m. Here, k holds the contour loop number currently being output, and m holds the item number in which the starting point of the point sequence in the contour loop currently being output is stored. Next, in step S248, the value of k is incremented by 1, and in step S249, the value of variable l is set to "0".
Reset to. This l is a variable that holds the number of already output points in the contour loop that is currently being output.
【0149】ステップS250では、lの値が現在出力
中の輪郭ループ内の点の数と等しいか否かを判断し、等
しければステップS244へ戻り、等しくなければステ
ップS251へ進む。ステップS251では、変数mの
値が指すx座標テーブル575及びy座標テーブル57
6内の項目位置に格納されている値を出力ファイルに出
力する。次にステップS252ではmの値を+1し、ス
テップS253では、lの値を+1してステップS25
0に戻る。In step S250, it is determined whether or not the value of l is equal to the number of points in the contour loop currently being output. If they are equal, the process returns to step S244, and if they are not equal, the process proceeds to step S251. In step S251, the x coordinate table 575 and the y coordinate table 57 pointed to by the value of the variable m.
The value stored in the item position within 6 is output to the output file. Next, in step S252, the value of m is incremented by 1, and in step S253, the value of l is incremented by 1 and then step S25.
Return to 0.
【0150】ステップS4の処理を終えると、次にステ
ップS5において今迄処理していた注目ストライプが画
像中の最終ストライプか否かが判断され、最終ストライ
プならば図22の処理を全て終了する。そうでなければ
ステップS6に進んで、注目ストライプを次のストライ
プに移し、ステップS2に戻る。When the processing of step S4 is completed, it is then determined in step S5 whether or not the target stripe that has been processed so far is the final stripe in the image. If it is the final stripe, the processing of FIG. 22 is completed. Otherwise, the process proceeds to step S6, the target stripe is moved to the next stripe, and the process returns to step S2.
【0151】ここで説明した手順によれば、いわゆる4
方向に連結した輪郭線が抽出される。しかし、本発明は
これに限定されるものでなく、8方向に連結する輪郭線
を抽出する場合にも適用できる。According to the procedure described here, the so-called 4
The contour lines connected in the directions are extracted. However, the present invention is not limited to this, and can also be applied to the case of extracting contour lines that connect in eight directions.
【0152】以上述べたように、これまで図23及び図
24で示されるテーブル(接続情報テーブル)の容量は
1ページ分必要であったが、本発明においては入力画像
をストライプ状に分割し、各ストライプ毎に独立にアウ
トラインベクトル列の抽出を行い、アウトラインベクト
ル列の整列行い、アウトラインベクトル列テーブルをフ
ァイルへ出力するようにしたので、図23及び図24で
示されるテーブル(接続情報テーブル)の容量を小さく
することができ、メモリの節約になる。また、図23及
び図24で示されるテーブル(接続情報テーブル)の容
量が小さくなる分、ベクトル列整列時の検索範囲が狭く
なり、処理の高速化を図ることができる。As described above, the capacity of the table (connection information table) shown in FIGS. 23 and 24 has been required to be one page, but in the present invention, the input image is divided into stripes, Since the outline vector sequence is extracted independently for each stripe, the outline vector sequences are arranged, and the outline vector sequence table is output to the file, the table (connection information table) shown in FIG. 23 and FIG. The capacity can be reduced, which saves memory. Further, as the capacity of the table (connection information table) shown in FIG. 23 and FIG. 24 becomes smaller, the search range at the time of vector column alignment becomes narrower, and the processing speed can be increased.
【0153】<第2の実施例>図61は実施例における
画像の変倍を行う装置のブロック図である。同図におい
て、401は輪郭抽出・変倍処理を施すデジタル2値画
像を獲得し、ラスター走査形式の2値画像を出力する2
値画像獲得手段であり、例えば、イメージリーダーで画
像を読み取り、2値化して、ラスター走査形式で出力す
る公知のラスター走査型2値画像出力装置で構成され
る。<Second Embodiment> FIG. 61 is a block diagram of an apparatus for scaling an image in the embodiment. In the figure, reference numeral 401 denotes a digital binary image for which contour extraction / magnifying processing is performed, and outputs a binary image in raster scanning format 2
It is a value image acquisition means, and is composed of, for example, a known raster scanning type binary image output device which reads an image with an image reader, binarizes it, and outputs it in a raster scanning format.
【0154】402は獲得された2値画像を1つ以上の
ストライプに分割する画像分割手段であり、各ストライ
プ中のライン数を外部から任意に設定できるようになっ
ている。Reference numeral 402 is an image dividing means for dividing the acquired binary image into one or more stripes, and the number of lines in each stripe can be arbitrarily set from the outside.
【0155】403は分割されたストライプ単位に粗輪
郭ベクトル(平滑化、変倍処理を施す前のアウトライン
ベクトル)を抽出するアウトライン抽出手段であり、本
発明の第1実施例で述べたアウトライン抽出手段であ
る。Reference numeral 403 denotes an outline extracting means for extracting a rough contour vector (outline vector before performing smoothing and scaling processing) for each divided stripe unit, which is the outline extracting means described in the first embodiment of the present invention. Is.
【0156】404は分割されたストライプ単位に粗輪
郭ベクトルデータをベクトルデータ形態で平滑化及び変
倍処理を行うアウトライン平滑・変倍手段である。アウ
トラインの平滑化及び変倍手段そのもには本出願人によ
り先に出願された特願平3−345062号(1991
年12月26日出願)に記載の装置等で構成される。簡
単に説明すると、例えば先に示した処理で得られた垂直
ベクトルが2本で、水平ベクトルが2本で、尚且つ、そ
れらのベクトル長が“1”の場合には当該ループを形成
しているベクトル群(4本のベクトル)を除去したり、
1ドットのみの突出した画素があったらその部分を除去
する処理、及び、2値画像の角と認識された点を固定点
(角点)とし、その角点以外の点を浮動点としてそれぞ
れの点を定義し、注目している浮動点においては前後す
る複数の角点或いは浮動点との重み付け計算して、その
座標位置を補正する処理である。また、水平ベクトルと
垂直ベクトルが所定の傾きに沿って連続する場合に、そ
の中の拡大や縮小等で影響されない点をいくつか除去す
る等の処理が含まれる。Reference numeral 404 denotes an outline smoothing / scaling means for smoothing and scaling the rough contour vector data in the form of vector data in units of divided stripes. Outline smoothing and scaling means, as well as Japanese Patent Application No. 3-345062 (1991) previously filed by the present applicant.
Application dated December 26, 2004). Briefly speaking, for example, when the vertical vector obtained by the above-described processing is two, the horizontal vector is two, and the vector lengths thereof are "1", the loop is formed. Existing vector groups (4 vectors),
If there is a protruding pixel of only one dot, that portion is removed, and the point recognized as a corner of the binary image is set as a fixed point (corner point), and points other than the corner point are set as floating points. This is a process in which a point is defined, and at a floating point of interest, weighting calculation is performed with respect to a plurality of corner points or floating points located in front of and behind, and the coordinate position is corrected. Further, when the horizontal vector and the vertical vector are continuous along a predetermined inclination, it includes a process of removing some points in the horizontal vector and vertical vector that are not affected by enlargement or reduction.
【0157】405は平滑化及び変倍処理を行ったアウ
トラインベクトルデータからそのデータの表現する2値
画像を、分割されたストライプ単位にラスター走査形式
の2値画像データとして再生する2値画像再生手段であ
り、例えば、本出願人により先に出願された特願平3−
172098号(平成3年7月12日出願)に記載の装
置等で構成できる。簡単に説明すると、平滑処理して得
られたベクトルデータに基づいて描画した輪郭(拡大処
理して描画された輪郭を含む)の内部を黒画素で埋める
処理である。Numeral 405 is a binary image reproducing means for reproducing the binary image represented by the smoothed and scaled outline vector data as the binary image data of the raster scanning format in units of divided stripes. And, for example, Japanese Patent Application No.
It can be configured by the device described in No. 172098 (filed on July 12, 1991). Briefly described, it is a process of filling the inside of the contour (including the contour drawn by the enlargement processing) drawn based on the vector data obtained by the smoothing processing with black pixels.
【0158】406はラスター走査型の2値画像データ
を表示したり、ハードコピーをとったり、或は、通信路
などへ出力したりする2値画像出力手段である。Reference numeral 406 denotes a binary image output means for displaying binary image data of raster scanning type, making a hard copy, or outputting to a communication path.
【0159】図62は、第2実施例の処理の流れを示す
フローチャートである。FIG. 62 is a flow chart showing the flow of processing of the second embodiment.
【0160】まず、ステップS301において、入力画
像をストライプ状に分割し、注目ストライプを先頭のス
トライプにセットする。入力画像の分割に際しては、各
ストライプ中のライン数を外部から任意に設定できるよ
うにしても、或は外部から設定するのではなく、予め決
められたライン数で入力画像を分割するようにしてもよ
い。また予め決められたライン数で入力画像を分割する
が、白ラインがその途中で現われた場合は、この位置で
一旦分割するようにしてもよい。例えば、入力画像を5
ラインづつのストライプに分割する場合に白ラインが8
ライン目に現われたとする。この時、第1ストライプは
5ラインで構成されるが、第2ストライプは3ラインで
構成される。第3ストライプは、途中で白ラインが現わ
れなければ9ライン目から再び5ラインで構成される。
但し、白ラインが2ライン以上連続する場合は、連続す
る白ライン全体を1ラインと便宜上見なし、処理をす
る。即ち、先の例で8ライン目からnライン(8ライン
目を含めて)白ラインが続いている場合は、第2ストラ
イプは(2+n)ラインで構成されることになる。これ
は、白ラインのみから成るストライプが存在する(図形
が存在しないので無意味)というような余分な入力画像
の分割するのを防ぐためである。ここで、白ラインとは
全てが白画素で構成されているラインのことをいう。First, in step S301, the input image is divided into stripes, and the target stripe is set as the leading stripe. When dividing the input image, the number of lines in each stripe can be arbitrarily set from the outside, or the input image is divided by a predetermined number of lines instead of being set from the outside. Good. Further, although the input image is divided by a predetermined number of lines, if a white line appears in the middle, it may be divided once at this position. For example, if the input image is 5
8 white lines when dividing each line into stripes
Suppose it appears on the line. At this time, the first stripe is composed of 5 lines, while the second stripe is composed of 3 lines. The third stripe is composed of 5 lines again from the 9th line unless a white line appears in the middle.
However, when two or more white lines are continuous, the entire continuous white line is regarded as one line for the sake of convenience and the processing is performed. That is, in the above example, when the white line continues from the 8th line to the nth line (including the 8th line), the second stripe is composed of (2 + n) lines. This is to prevent the unnecessary input image from being divided such that there is a stripe consisting of only white lines (it is meaningless because there is no figure). Here, the white line refers to a line that is entirely composed of white pixels.
【0161】予め決められたライン数でストライプ分割
することと白ライン出現時にストライプ分割することを
組み合わせることの利点を述べると次の様になる。The advantages of combining stripe division with a predetermined number of lines and stripe division when white lines appear will be described below.
【0162】白ラインの出現時点でそれまでに抽出され
ていた輪郭ベクトル群はすべて閉ループをなすので、こ
こまでに抽出されたベクトル群を整列させ、ディスクに
アウトラインベクトルとしてファイル形式で出力し、以
降の処理に移ることが可能である。しかしながら、入力
画像中に白ラインが存在しない場合は、全ての輪郭ベク
トルをワーキングメモリに保持しておかねばならず、膨
大なワーキングメモリを必要とする。従って、上記のよ
うに予め決められたライン数でストライプ分割すること
と白ライン出現時にストライプ分割することを組み合わ
せることはワーキングメモリ削減に多大な効果がある。Output of white line Since all the contour vector groups that have been extracted up to that point form a closed loop, the vector groups that have been extracted so far are aligned and output to the disk as an outline vector in the file format. It is possible to move to the processing of. However, if there are no white lines in the input image, all contour vectors must be held in the working memory, which requires a huge working memory. Therefore, as described above, combining stripe division with a predetermined number of lines and stripe division when white lines appear is very effective in reducing working memory.
【0163】次にステップS302において、注目スト
ライプ中のアウトラインベクトルの抽出と整列を行う。
これは、上記第1実施例に記載した通りである。注目ス
トライプ中のアウトラインベクトルの抽出と整列が終る
と、ステップS303に移り、ここで注目ストライプ中
のアウトラインベクトルの平滑化及び変倍が行われる。
ここでの処理は、注目ストライプを入力画像であると見
なして、先に指摘した如く、特願平3−345062号
に記載の平滑化及び変倍の処理を行う。注目ストライプ
の平滑・変倍処理が終るとステップS304に移り、変
倍された注目ストライプのアウトラインベクトルから2
値画像を再生し、出力する。2値画像の再生・出力処理
は、本出願人により先に提案している特願平3−172
098号に記載の方法・構成でもって処理できる。2値
画像の再生・出力処理が終ると、ステップS305に移
り、ここで注目ストライプが入力画像の最終ストライプ
か否かが判定され、最終ストライプならば処理を終了
し、そうでなければ、ステップS306に移り、注目ス
トライプを次のストライプに移動してステップS302
に戻る。Next, in step S302, the outline vector in the target stripe is extracted and aligned.
This is as described in the first embodiment. When the extraction and alignment of the outline vector in the target stripe are completed, the process proceeds to step S303, where the outline vector in the target stripe is smoothed and scaled.
In the processing here, the stripe of interest is regarded as the input image, and the smoothing and scaling processing described in Japanese Patent Application No. 3-345062 is performed as pointed out above. When the smoothing / scaling process of the target stripe is completed, the process proceeds to step S304, and 2 is calculated from the outline vector of the scaled target stripe.
Play and output the value image. The reproduction / output processing of a binary image is performed by the applicant of the present invention, which has been previously proposed by Japanese Patent Application No. 3-172.
It can be processed by the method and configuration described in No. 098. When the reproduction / output processing of the binary image is completed, the process proceeds to step S305, where it is determined whether or not the target stripe is the final stripe of the input image. If the final stripe is the final stripe, the processing ends, and if not, step S306. Moves to the next stripe, and the step S302 is performed.
Return to.
【0164】以上のような構成で、入力画像からストラ
イプ単位にアウトラインベクトルを抽出し、平滑化及び
変倍を行い、2値画像を再生・出力することにより、 1)アウトラインベクトル抽出の為のディスク容量、或
はワーキングメモリ容量 2)整列済アウトラインベクトルデータを格納するため
のディスク容量、或はワーキングメモリ容量、 3)アウトラインベクトルの平滑化や変倍を行うための
ディスク容量、或はワーキングメモリ容量、 4)アウトラインベクトルから2値画像を再生・出力す
るためのディスク容量、或はワーキングメモリ容量、 等が少なくて済む。With the above configuration, an outline vector is extracted from the input image in stripe units, smoothed and scaled, and a binary image is reproduced and output. 1) A disk for extracting the outline vector Capacity or working memory capacity 2) Disk capacity for storing aligned outline vector data, or working memory capacity, 3) Disk capacity for smoothing and scaling of outline vector, or working memory capacity 4) A small disk capacity or a working memory capacity for reproducing / outputting a binary image from the outline vector is required.
【0165】<第3の実施例>上記第2の実施例では、
ストライプ単位に抽出・整列されたアウトラインベクト
ルを平滑化・変倍する際に、分割されたストライプ自体
を独立した入力画像であると考えて処理を行った。この
ように処理を行うと、余計な処理を付加せずに全てのス
トライプを並列に処理できるという利点が或る反面、例
えば、図63(a)のような例では平滑化により再生画
像が劣化することが判明した。即ち、図63(a)を入
力画像とし、第2の実施例のストライプ分割法(5ライ
ンづつに分割)を用いれば、図63(b)のように最初
のストライプは5ライン、第2ストライプは、白ライン
が4ライン目で出現しているのでここで分割され4ライ
ン、入力画像の残りのライン数は5ライン以下なので残
り全て(4ライン)を第3ストライプに分割する。この
場合、特願平3−345062号に記載の手法及び装置
を用いれば、411、412、413の凹部(白画素)
は平滑化により削除されてしまい、変倍後の再生画像か
ら411、412、413に相当する部分が欠落してし
まうことになる。<Third Embodiment> In the second embodiment,
When the outline vectors extracted and arranged in stripe units were smoothed and scaled, the divided stripes themselves were processed as independent input images. This processing has the advantage that all stripes can be processed in parallel without adding extra processing, but on the other hand, for example, in the example shown in FIG. 63 (a), the reproduced image is deteriorated due to smoothing. It turned out to be. That is, if the stripe division method of the second embodiment (divided into 5 lines) is used with FIG. 63 (a) as the input image, the first stripe is 5 lines and the second stripe is as shown in FIG. 63 (b). , The white line appears on the 4th line, so it is divided into 4 lines. Since the number of remaining lines of the input image is 5 lines or less, all the remaining (4 lines) are divided into the 3rd stripe. In this case, if the method and apparatus described in Japanese Patent Application No. 3-345062 are used, the concave portions (411, 412, 413) (white pixels)
Will be deleted by smoothing, and the portions corresponding to 411, 412, and 413 will be missing from the reproduced image after scaling.
【0166】これを改善するために、以下の処理を第2
実施例の平滑化の部分に加える。In order to improve this, the following processing is secondly performed.
Add to the smoothing part of the example.
【0167】即ち、もともと1つの図形であったものが
ストライプ分割により2つ以上のストライプにまたがる
場合、分割により境界となる線(図63(b)上では、
La、Lbが境界となる線であるが、1つの図形が分割に
より2つ以上のストライプにまたがるという条件を満た
すのはLaのみである。)上から流出するベクトル及び
分割により境界となる線上に流入するベクトルの始点と
終点を『角点』(角点は先に説明したように、平滑化処
理でその座標位置が補正されることのない点で、文字通
り角に位置する点と解釈して良い)に指定する。図63
(b)でいえば、10個の△と10個の○が角点に指定
される。角点に指定されると、平滑化から除外されるの
で411、412、413の白画素を保存することがで
き、再生画像の劣化を低減することが可能である。That is, when one figure originally has two or more stripes due to the stripe division, the line that becomes the boundary by the division (in FIG. 63 (b),
Although L a and L b are lines that are boundaries, only L a satisfies the condition that one figure extends over two or more stripes due to division. ) The “starting point” and the ending point of the vector flowing out from above and the vector flowing in on the boundary line due to the division are “corner points” (corner points are corrected for their coordinate positions by smoothing processing as described above). It can be interpreted as a point that is literally located at a corner because there is no point). Fig. 63
In (b), 10 triangles and 10 circles are designated as corner points. When specified as a corner point, white pixels 411, 412, and 413 can be saved because they are excluded from smoothing, and deterioration of a reproduced image can be reduced.
【0168】<第4の実施例>上記第2、第3の実施例
では、ストライプ単位に平滑・変倍・再生・出力を行う
ため、少ないメモリ量で処理を行えるというメリットが
ある。しかしながら、入力画像ではもともと1つのアウ
トラインベクトルであったものが複数に分割されて、そ
れぞれ独立に平滑化されるため、平滑化後に得られるア
ウトラインベクトルがもともと1つであったときのアウ
トラインベクトルを平滑化したときと多少異なってくる
という問題点も発生する。これを解決するための手法を
次に示す。この手法では、アウトラインベクトルの抽出
と整列は、ストライプ分割した状態で行い、全ての抽出
・整列が終ると、これらからもともと1つであるべきア
ウトラインベクトルを検出し、統合するというもので、
これは分割境界線上から流出するベクトル及び分割境界
線上へ流入するベクトルをチェックし、並べ換えること
により達成できる。<Fourth Embodiment> In the second and third embodiments, since smoothing, scaling, reproduction and output are performed in stripe units, there is an advantage that processing can be performed with a small memory amount. However, in the input image, what was originally one outline vector is divided into multiple parts and smoothed independently of each other. Therefore, the outline vector obtained when there is only one outline vector after smoothing is smoothed. There is also the problem that it will be slightly different from when it became. A method for solving this is shown below. In this method, outline vectors are extracted and aligned in a stripe-divided state, and when all extraction / alignment is completed, an outline vector that should originally be one is detected and integrated,
This can be achieved by checking and rearranging the vectors flowing out from the dividing boundary line and the vectors flowing into the dividing boundary line.
【0169】図64は、第2実施例の処理手順の一部を
変更した場合のフローチャートである。FIG. 64 is a flow chart when a part of the processing procedure of the second embodiment is changed.
【0170】まず、ステップS311において入力画像
をストライプ状に分割し、注目ストライプを先頭のスト
ライプにセットする。この動作は図62中のステップS
301と同じである。次にステップS312に移り、注
目ストライプ中のアウトラインベクトルの抽出と整列を
行う。これも図61中のS302と同じ動作である。ス
テップS313では、注目ストライプが入力画像の最終
ストライプか否かの判定が行われ、最終ストライプでな
ければステップS314に移り、注目ストライプを次の
ストライプに移動してS312に戻る。もし、最終スト
ライプならばステップS315に移る。First, in step S311, the input image is divided into stripes, and the target stripe is set as the leading stripe. This operation is step S in FIG.
Same as 301. Next, the process proceeds to step S312, and the outline vector in the target stripe is extracted and aligned. This is also the same operation as S302 in FIG. In step S313, it is determined whether the target stripe is the final stripe of the input image. If it is not the final stripe, the process proceeds to step S314, the target stripe is moved to the next stripe, and the process returns to step S312. If it is the final stripe, the process proceeds to step S315.
【0171】ステップS315では、各ストライプ毎に
整列されたアウトラインベクトルから、複数の輪郭ベク
トルに分割されたもともと1つであったアウトラインベ
クトル(このアウトラインベクトルを入力画像の正式な
アウトラインベクトルと定義する)の抽出及び整列を行
う。ステップS315の処理を図65の例で示す。In step S315, the outline vector arranged for each stripe is divided into a plurality of contour vectors, and there is originally one outline vector (this outline vector is defined as a formal outline vector of the input image). Extract and align. The process of step S315 is shown in the example of FIG.
【0172】尚、ここでは説明を簡単にするため入力画
像のストライプ分割のライン数を3ラインとしている。
図25の形式でアウトラインベクトルを抽出すると図6
7のようになる(第1実施例と同様に座標を整数表現し
ている)。この時、ストライプ分割の境界線のY座標は
7である。図65の例では、アウトラインベクトルは4
つの輪郭ベクトルとして抽出されるが、これはもともと
1つのアウトラインベクトルであるので統合を行う。こ
の処理を以下に示す。In order to simplify the description, the number of lines in the stripe division of the input image is three.
When the outline vector is extracted in the format of FIG. 25, FIG.
7 (the coordinates are expressed as integers as in the first embodiment). At this time, the Y coordinate of the boundary line of the stripe division is 7. In the example of FIG. 65, the outline vector is 4
It is extracted as one contour vector, but since this is originally one outline vector, integration is performed. This process is shown below.
【0173】まず、Y座標が7(実際には7の倍数)で
ある点を図67から求め、図66のようなパケット形式
で表現する。即ち、図67の如くディスク或はメモリ上
に記憶されているデータを走査する。このとき、第1ス
トライプの第1番目の輪郭の第3点目が最初の点として
求まる。得られた点を図66の様に表現する。ここで図
66中のアドレスはY座標が7である点に付けたシリア
ル番号を表わす。X座標はディスク或はメモリ上に記憶
されているデータを走査して得られたY座標が7である
点のX座標を表わす。始点/終点は、得られた点が水平
ベクトルに関して負の方向の始点(負始)となるか或は
負の方向の終点(負終)となるか或は正の方向の始点
(正始)となるか或は正の方向の終点(正終)となるか
を表わす。ストライプ番号は得られた点のストライプ番
号を示し、輪郭番号は得られた点がストライプ中の何番
目の輪郭であるかを示し、座標番号は得られた点が何番
目の点であるかを示している。図67から求められるY
座標が7である点を図66の形式で示すと図68とな
る。これをX座標値の小さい順に並べ換えると図69に
示す様になる。同じ値が存在する場合には、正始、負
始、負終、正終の順番になるように並べる。さらに並べ
変えたパケットを先頭から2個づつペアにし、各々のペ
アにおいて、2つのパケットの順番が正始、負始、負
終、正終の順になるように並べ換える。図示では、アド
レスが5と6であるペアのみこの条件を満たしていない
ので並べ換える。このように処理を行うと輪郭ベクトル
は、各ペアにおいて最初のパケットから次のパケットへ
続くという接続関係になる。即ち、各々のペアにおい
て、最初のパケットの次の点のアドレスには次のパケッ
トのアドレスが記憶され、前の点のアドレスには何も記
憶されない。また、次のパケットの次の点のアドレスに
は何も記憶されず、前の点のアドレスには最初のパケッ
トのアドレスが記憶される。この様子を図70に示す。
最終的なアウトラインベクトルの統合は、図67と図7
0を用いて行われる。これを次に示す。First, the point where the Y coordinate is 7 (actually a multiple of 7) is obtained from FIG. 67 and expressed in the packet format as shown in FIG. That is, the data stored on the disk or the memory as shown in FIG. 67 is scanned. At this time, the third point of the first contour of the first stripe is obtained as the first point. The obtained points are expressed as shown in FIG. Here, the address in FIG. 66 represents the serial number attached to the point where the Y coordinate is 7. The X coordinate represents the X coordinate of a point whose Y coordinate is 7 obtained by scanning the data stored on the disk or the memory. The start point / end point is either a start point in the negative direction (negative start) or an end point in the negative direction (negative end) with respect to the horizontal vector, or a start point in the positive direction (positive start). Or the end point (positive end) in the positive direction. The stripe number indicates the stripe number of the obtained point, the contour number indicates which contour in the stripe the obtained point is, and the coordinate number indicates what number the obtained point is. Shows. Y obtained from FIG. 67
FIG. 68 shows a point whose coordinates are 7 in the format of FIG. When these are rearranged in ascending order of X-coordinate value, it becomes as shown in FIG. If the same value exists, arrange them in the order of positive start, negative start, negative end, positive end. Further, the rearranged packets are paired two by two from the head, and in each pair, the two packets are rearranged in the order of positive start, negative start, negative end, and positive end. In the figure, only the pair whose addresses are 5 and 6 do not satisfy this condition, so they are rearranged. When the processing is performed in this way, the contour vector has a connection relationship that the first packet continues to the next packet in each pair. That is, in each pair, the address of the next packet of the first packet stores the address of the next packet, and the address of the previous point stores nothing. Further, nothing is stored in the address of the next point of the next packet, and the address of the first packet is stored in the address of the previous point. This state is shown in FIG.
The final outline vector integration is shown in FIG. 67 and FIG.
0 is used. This is shown below.
【0174】まず図67の第1ストライプの第1輪郭の
第1点目から走査を始める。記述を簡単にするために、
第θストライプの第ω輪郭の第ε点目を(θ−ω−ε)
とする。まず(1−1−1)を登録する。これは分割の
境界線上にないので次の(1−1−2)に移り、これを
登録する。(1−1−2)も分割の境界線上にないので
次の(1−1−3)に移り、これを登録する。(1−1
−3)は分割の境界線上にあるので図70を参照し、次
に移動すべき点を調べ、そこに移る。この場合、(1−
2−4)が次に移る点となる。(1−2−4)を登録
し、次の点に移る。(1−2−4)は分割の境界線上の
点ではあるが、図69を参照すると、次に移る先が未定
なので図67の順番に則って(1−2−1)に移り、
(1−2−1)を登録する。続けて(1−2−2)、
(1−2−3)と登録を行い、(1−2−3)は分割の
境界線上にあるので図69を参照し、次の移動先である
(2−2−2)に移る。この時(1−2−3)と(2−
2−2)は同一点を示しているが、このように同一点が
連続する場合は、共に登録を行わない。(1−2−3)
については既に登録されているのでこれを抹消する。
(2−2−2)は分割の境界線上にあるが、図70を参
照すると次の移動先が未定なので図67の順番に則って
(2−2−3)に移る。同様に(2−2−3)、(2−
2−4)、(2−2−1)と登録を続ける。(2−2−
1)は分割の境界線上にあるので図70を参照し、(2
−1−2)に移り、(2−1−2)の登録を行う。(2
−1−2)は分割の境界線上の点であるが、図70を参
照すると移動先が未定なので図67の順番に則り、(2
−1−3)、(2−1−4)、(2−1−1)を登録す
る。(2−1−1)は分割の境界線上の点なので図70
より(1−1−4)に移動し、(1−1−4)の登録を
行う。(1−1−4)の次は走査開始点(1−1−1)
なのでここで登録を終了し、登録した点の数を調べ、輪
郭の総点数を記憶し、入力画像中の総輪郭線数を記憶す
る。First, scanning is started from the first point of the first contour of the first stripe in FIG. To simplify the description,
The εth point of the ω contour of the θth stripe is (θ−ω−ε)
And First, (1-1-1) is registered. Since this is not on the dividing line, the process moves to the next (1-1-2) and is registered. Since (1-1-2) is also not on the dividing line, the process moves to the next (1-1-3) and is registered. (1-1
-3) is on the boundary line of division, so refer to FIG. 70, check the point to be moved next, and move there. In this case, (1-
2-4) will be the next point. Register (1-2-4) and move to the next point. Although (1-2-4) is a point on the boundary line of the division, referring to FIG. 69, the destination to move to next is undecided, so move to (1-2-1) according to the order of FIG. 67.
Register (1-2-1). Continue (1-2-2),
(1-2-3) is registered, and (1-2-3) is on the dividing line, so refer to FIG. 69 and move to the next destination (2-2-2). At this time (1-2-3) and (2-
2-2) shows the same point, but if the same point is continuous in this way, neither is registered. (1-2-3)
Since it has already been registered, delete this.
Although (2-2-2) is on the boundary line of the division, referring to FIG. 70, the next destination is undecided, so the process moves to (2-2-3) according to the order of FIG. 67. Similarly, (2-2-3), (2-
2-4) and (2-2-1) continue registration. (2-2-
Since (1) is on the dividing line, refer to FIG. 70, and (2
Move to (1-2) and register (2-1-2). (2
-1-2) is a point on the boundary line of division, but referring to FIG. 70, since the destination is undecided, according to the order of FIG. 67, (2
-1-3), (2-1-4), and (2-1-1) are registered. Since (2-1-1) is a point on the boundary line of division, FIG.
Move to (1-1-4) and register (1-1-4). After (1-1-4), the scanning start point (1-1-1)
Therefore, the registration is terminated here, the number of registered points is checked, the total number of contour points is stored, and the total number of contour lines in the input image is stored.
【0175】以上の処理を行った結果を図71に示す。
もし未だ未処理のアウトラインベクトルが存在するなら
ば、同様な処理により正式なアウトラインベクトルにし
て、図25の形式になるように図71に続けて登録す
る。また、分割境界線上に座標点を持たないアウトライ
ンベクトルは、何も処理をせずに図25の形式になるよ
うに図71にそのまま続けて登録すればよい。この時、
入力画像中の総輪郭線数がそこに登録されたベクトルル
ープ数を表わすように書き換える必要がある。The result of the above processing is shown in FIG.
If an unprocessed outline vector still exists, it is converted into a formal outline vector by the same process, and is registered following FIG. 71 so as to have the format shown in FIG. Further, outline vectors having no coordinate points on the division boundary line may be continuously registered in FIG. 71 as they are so that the format of FIG. 25 is obtained without any processing. At this time,
It is necessary to rewrite the total number of contour lines in the input image so as to represent the number of vector loops registered therein.
【0176】以上の処理を全て終了すると、ステップS
316に移る。S316では正式なアウトラインベクト
ルを用いて、平滑化・変倍処理を行う。これは、第2実
施例でも示したとおりである。ステップS316が終了
するとステップS317に移り、変倍された入力画像の
アウトラインベクトルから2値画像を再生・出力する。
これも第2実施例中に述べたとおりである。When all the above processing is completed, step S
Move to 316. In step S316, smoothing / magnifying processing is performed using the formal outline vector. This is as shown in the second embodiment. When step S316 ends, the process moves to step S317, and a binary image is reproduced and output from the scaled outline vector of the input image.
This is also as described in the second embodiment.
【0177】以上のように処理を行うことで、分割抽出
した輪郭ベクトルから入力画像の正式なアウトラインベ
クトルを求めることができ、これを平滑化・変倍するこ
とで高画質な再生画像を得ることが可能である。By performing the above-described processing, a formal outline vector of the input image can be obtained from the divided and extracted contour vector, and by smoothing and scaling this, a high quality reproduced image can be obtained. Is possible.
【0178】<第5の実施例>ストライプ分割はアウト
ラインの抽出・平滑・変倍・再生・表示などに必要とな
るワーキングメモリ量が少なくて済むという利点がある
ことは上述した通りである。しかしながら、ストライプ
分割処理はアウトラインベクトルの平滑化に影響を及ぼ
し、再生画像の画質を少なからず左右する。従って、で
きる限り分割数を少なくしたい(ストライプの幅を大き
くしたい)。以下に分割を少なくする方法について述べ
る。<Fifth Embodiment> As described above, the stripe division has the advantage that the amount of working memory required for outline extraction, smoothing, scaling, reproduction, and display is small. However, the stripe division process affects the smoothing of the outline vector, and affects the quality of the reproduced image to some extent. Therefore, we want to reduce the number of divisions as much as possible (to increase the stripe width). The method of reducing the division will be described below.
【0179】ストライプ分割処理の目的は、アウトライ
ン抽出処理等によってワーキングメモリがオーバーフロ
ーしないようにするためであり、ワーキングメモリがオ
ーバーフローしない限りストライプ分割は必要ない。言
換えれば、ワーキングメモリがオーバーフローする手前
でストライプ分割を行えばよいということになる。The purpose of the stripe division processing is to prevent the working memory from overflowing due to the outline extraction processing or the like, and stripe division is not necessary unless the working memory overflows. In other words, stripe division should be performed before the working memory overflows.
【0180】即ち、図23及び図24に示される水平ベ
クトルカウンタ230あるいは垂直ベクトルカウンタ2
40の指し示すアドレスを図5のCPU519で監視
し、この値がある一定値以上(ワークキングメモリの容
量に依存する)になった場合に、現在処理中のラインで
ストライプ分割を行うといった方法をとればよい。この
場合、第3の実施例のように分割境界線上に流入するベ
クトル及び分割境界線上から流出するベクトルの始点と
終点を角点に指定して処理を行うことが可能である。ま
た第4の実施例中に示した手法も併用することが可能で
ある。That is, the horizontal vector counter 230 or the vertical vector counter 2 shown in FIGS.
The address indicated by 40 is monitored by the CPU 519 of FIG. 5, and when this value exceeds a certain value (depending on the working memory capacity), a method such as stripe division on the line currently being processed can be taken. Good. In this case, it is possible to perform processing by designating the start point and the end point of the vector flowing in on the division boundary line and the vector flowing out from the division boundary line as the corner points as in the third embodiment. It is also possible to use the method shown in the fourth embodiment together.
【0181】<第6の実施例>第1の実施例で用いた規
則に従って抽出したアウトラインベクトルを用いて変倍
画像を得ようとすると、1〜2倍程度の低倍率の変倍処
理を行った場合に、生成される出力画像の細線部の画素
巾が太り気味となる場合がある。これは、第1の実施例
で示される方法では、白画素と黒画素のちょうど中心と
なる画素位置に輪郭点を定義して輪郭ベクトルを抽出し
ていくのに対し、画像の再生成部では、得られた平滑・
変倍画像の輪郭座標値で示される画素そのものは黒画素
として処理することから、前記の如き低倍率時には、原
画の画素を取り巻くように定義された輪郭線上の画素を
黒画素として輪郭線に囲まれる領域内を黒画素とする
と、黒画素となる領域が白画素となる領域に比して、本
来の倍率で規定される面積よりも無視できない割合で広
くなりがちとなることに起因している。<Sixth Embodiment> When a scaled image is to be obtained using the outline vector extracted according to the rule used in the first embodiment, a scaling process of low magnification of about 1 to 2 is performed. In this case, the pixel width of the thin line portion of the generated output image may become thick. This is because in the method shown in the first embodiment, the contour point is defined by defining the contour point at the pixel position just at the center of the white pixel and the black pixel, whereas the image regenerating unit does. , The obtained smoothness
Since the pixel itself indicated by the contour coordinate value of the scaled image is processed as a black pixel, at the time of low magnification as described above, the pixels on the contour line defined to surround the pixels of the original image are surrounded by the contour line as black pixels. This is because the black pixels in the area defined by the pixels tend to be larger than the areas defined by the white pixels as compared with the areas defined by the white pixels. .
【0182】これに対して、2値画像からアウトライン
ベクトルを抽出する際に、入力画像の白画素と黒画素の
間の黒画素寄りの位置に輪郭点を定義して、黒画素領域
を白画素領域に比して巾狭に抽出することによって、輪
郭線上の画素を黒画素として輪郭線に囲まれる領域内を
黒画素として画像を再生成しても、低倍率の変倍画像が
太り気味とならないようにしたものが本出願人により既
に特願平4−169581号として提案している。On the other hand, when the outline vector is extracted from the binary image, the contour point is defined at a position close to the black pixel between the white pixel and the black pixel of the input image, and the black pixel area is divided into white pixels. By extracting the pixel on the contour line as a black pixel by extracting it narrower than the region, even if the image is regenerated with the black pixel in the region surrounded by the contour line, the low-magnification scaled image looks thick. The present invention has already been proposed by the applicant as Japanese Patent Application No. 4-169581.
【0183】アウトラインベクトル抽出手法として、こ
の特願平4−169581号で示される方法を用いても
第1実施例、第2実施例、第3実施例、及び第5実施例
と同様の議論が可能である。但し、特願平4−1695
81号の手法を特願平3−345062号のアウトライ
ン平滑化・変倍手法に適用する場合には、特願平3−3
45062で開示されている第1平滑化の着目輪郭辺ベ
クトルとその前後の辺ベクトル高々3本づつまでの互い
に合い連続する合計7本までの辺ベクトルの長さと向き
の組み合わせのパターンを、特願平4−169581号
の手法によって抽出される輪郭ベクトルに合わせて変更
すれば良い。即ち、特願平4−169581号では、抽
出される輪郭点は、入力画像の白画素と黒画素の間の黒
画素よりの位置に設定されるので、例えば、1画素巾の
黒線は、巾1/2の輪郭ループとして抽出され、黒領域
にある1画素巾の白線は、巾1+1/2の輪郭ループと
して抽出される。入力画像では同じ画素巾であっても、
黒画素領域のでっぱり(凸部)より、へっこみ(凹部)
の方が1だけ巾広に抽出される。第1実施例中に用いた
アウトライン抽出手法に比して、黒画素領域のでっぱり
(凸部)は1/2だけ狭く抽出され、へっこみ(凹部)
は1/2だけ広く抽出される。従って、この差異に対応
して、前記辺ベクトルの長さと向きの組み合わせを調整
して用いれば良い。それ以外の処理は、特願平3−34
5062号の実施例に従うことによって適用が可能であ
る。Even if the method shown in Japanese Patent Application No. 4-169581 is used as the outline vector extraction method, the same discussion as in the first, second, third and fifth embodiments will be made. It is possible. However, Japanese Patent Application No. 4-1695
When the method of No. 81 is applied to the outline smoothing and scaling method of Japanese Patent Application No. 3-345062, Japanese Patent Application No. 3-3
Japanese Patent Application No. 45062 discloses a pattern of a combination of length and orientation of up to a total of 7 consecutive continuous edge vectors and up to 3 edge vectors before and after the target contour vector of the first smoothing disclosed in 45062. It may be changed according to the contour vector extracted by the method of No. 4-169581. That is, in Japanese Patent Application No. 4-169581, the extracted contour point is set at a position between the white pixel and the black pixel of the input image, which is, for example, a black line having a width of one pixel, A contour loop having a width of 1/2 is extracted, and a white line having a width of one pixel in the black area is extracted as a contour loop having a width of 1 + 1/2. Even if the input image has the same pixel width,
Concavity (concave) than protrusion (convex) in the black pixel area
Is extracted broader by 1. Compared with the outline extraction method used in the first embodiment, the protrusion (convex portion) of the black pixel region is extracted narrower by 1/2, and the dent (concave portion) is extracted.
Is extracted as wide as 1/2. Therefore, a combination of the length and direction of the side vector may be adjusted and used according to this difference. For other processes, Japanese Patent Application No. 3-34
Application is possible by following the example of No. 5062.
【0184】<第7の実施例>本願出願人が先に提案し
ている特願平4−169581号の手法を適用して、ア
ウトラインベクトルの抽出と整列はストライプ単位で行
い、全ての抽出・整列が終ると、これらからもともと1
つであるべきアウトラインベクトルを検出し、統合する
場合ついて以下に述べる。<Seventh Embodiment> By applying the method of Japanese Patent Application No. 4-169581 previously proposed by the applicant of the present application, outline vectors are extracted and aligned in stripe units, and When the alignment is over, these are originally 1
The following describes how to detect and integrate two outline vectors that should be combined.
【0185】基本的な考え方は第4の実施例と同じなの
で、大きく異なるステップS315について記すことに
する。Since the basic idea is the same as that of the fourth embodiment, step S315, which is largely different, will be described.
【0186】第4実施例と同様に図65で示される画像
を入力画像とする。座標の小数表現を避けるために、各
画素の位置を(4m+2,4n+2)(但し、m=0,
1,・・・,10、 n=0,1,・・・,5)に変換
し、図72のように書き換え同図の画像を入力画像とす
る。ストライプ分割のライン数を12ライン(図65の
画像で考えれば3ラインに相当する)とし、図25の形
式でアウトラインベクトルを抽出すると図73のように
なる。この時ストライプ境界線のY座標は12である。
図72の例では、アウトラインベクトルは4つの輪郭ベ
クトルとして抽出されるが、これはもともと1つのアウ
トラインベクトルであるので統合を行う。この処理を以
下に示す。Similar to the fourth embodiment, the image shown in FIG. 65 is used as the input image. In order to avoid the decimal representation of the coordinates, the position of each pixel is (4m + 2,4n + 2) (where m = 0,
1, ..., 10, n = 0, 1, ..., 5), and rewrite as in FIG. 72 to use the image in the same figure as the input image. The number of lines in the stripe division is 12 (corresponding to 3 in the image of FIG. 65), and the outline vector is extracted in the format of FIG. 25, as shown in FIG. At this time, the Y coordinate of the stripe boundary line is 12.
In the example of FIG. 72, the outline vector is extracted as four contour vectors, but since this is originally one outline vector, integration is performed. This process is shown below.
【0187】まず、ストライプ分割により新たに発生す
るベクトルのY座標を求める。この場合、ストライプ分
割を12ラインで行っているため、ストライプ分割によ
り新たに発生するベクトルのY座標は11または13で
ある。一般的に記述すると、分割境界のY座標をλとし
た場合、ストライプ分割により新たに発生するベクトル
のy座標は(λ−1)と(λ+1)である。First, the Y coordinate of a vector newly generated by stripe division is obtained. In this case, since the stripe division is performed with 12 lines, the Y coordinate of the vector newly generated by the stripe division is 11 or 13. Generally speaking, when the Y coordinate of the division boundary is λ, the y coordinates of the vector newly generated by the stripe division are (λ-1) and (λ + 1).
【0188】Y座標が求まったら、図73の如くディス
ク或はメモリ上に記憶されているデータを走査し、図7
3のようなパケット形式で該当するベクトルの座標値を
表現する。この時第1ストライプの第1番目の輪郭の第
3点目が最初の点として求まる。得られた点を図73の
様に表現する。ここで図73中のアドレスはY座標が1
1または13である点に付けたシリアル番号を表わす。
変換後のX座標(XX)は、その点のX座標を以下の条
件式により求めた値を示している。When the Y coordinate is obtained, the data stored on the disk or the memory is scanned as shown in FIG.
The coordinate value of the corresponding vector is expressed in a packet format such as 3. At this time, the third point of the first contour of the first stripe is obtained as the first point. The obtained points are expressed as shown in FIG. The address in FIG. 73 has a Y coordinate of 1
Indicates a serial number attached to a point that is 1 or 13.
The converted X coordinate (XX) indicates the X coordinate of the point obtained by the following conditional expression.
【0189】 (X座標値)%4=3ならばXX=(X座標値)+1 (X座標値)%4=1ならばXX=(X座標値)−1 但し、%は余りを求める演算を表わす。If (X coordinate value)% 4 = 3, XX = (X coordinate value) +1 (X coordinate value)% 4 = 1 if XX = (X coordinate value) −1 However,% is a calculation for calculating the remainder. Represents
【0190】これは第4の実施例中の手法を適用するた
めに、便宜的に、隣接する画素間に存在する点のX座標
が同じ値を示すようにしたものである。X座標、Y座標
はディスク或はメモリ上に記憶されているデータを走査
して得られたY座標が11または13である点のX座
標、Y座標を表わす。始点/終点は、得られた点が水平
ベクトルに関して負の方向の始点(負始)となるか或は
負の方向の終点(負終)となるか或は正の方向の始点
(正始)となるか或は正の方向の終点(正終)となるか
を表わす。ストライプ番号は得られた点のストライプ番
号を示し、輪郭番号は得られた点がストライプ中の何番
目の輪郭であるかを示し、座標番号は得られた点が何番
目の点であるかを示している。求められるY座標が11
または13である点を図73の形式で示すと図74とな
る。これをXX(x座標)の小さい順に並べ換える。但
し、同じ値が存在するときは、 正始 負始 負終 正終 −−− 条件1 の順に並べる。例えば今回の例では、XX=24とXX
=36のパケットが二つずつ存在する。条件1に従って
並べると図76のようになる。XX=24の場合、負終
と正終の二つなので、負終のほうを仮想的に番号が若い
と考えて並べる。この時、XXの値が同じでかつX座標
の値が異なる輪郭点には特殊処理を施すためのフラグを
たてる(Yがフラグのたった状態を示し、Nはフラグの
さがった状態を示す)。さらに、並べ変えたパケットを
先頭から2個づつペアにし、各々のペアにおいて、2つ
のパケットの順番が条件1の順になるように並べ換え
る。ここでは、アドレスが5と6であるペアのみこの条
件を満たしていないので並べ換える。このように処理を
行うと輪郭ベクトルは、各ペアにおいて最初のパケット
から次のパケットへ続くという接続関係になる。即ち、
各々のペアにおいて、最初のパケットの次の点のアドレ
スには次のパケットのアドレスが記憶され、前の点のア
ドレスには何も記憶されない。また、次のパケットの次
の点のアドレスには何も記憶されず、前の点のアドレス
には最初のパケットのアドレスが記憶される。この様子
を図77に示す。最終的なアウトラインベクトルの統合
は、図74と図77を用いて行われる。In order to apply the method in the fourth embodiment, for convenience, the X coordinates of points existing between adjacent pixels show the same value. The X coordinate and the Y coordinate represent the X coordinate and the Y coordinate of a point whose Y coordinate is 11 or 13 obtained by scanning the data stored on the disk or the memory. The start point / end point is either a start point in the negative direction (negative start) or an end point in the negative direction (negative end) with respect to the horizontal vector, or a start point in the positive direction (positive start). Or the end point (positive end) in the positive direction. The stripe number indicates the stripe number of the obtained point, the contour number indicates which contour in the stripe the obtained point is, and the coordinate number indicates what number the obtained point is. Shows. The required Y coordinate is 11
73 is shown in the format of FIG. 73. This is rearranged in ascending order of XX (x coordinate). However, when the same value exists, arrange in the order of positive start, negative start, negative end, positive end --- Condition 1. For example, in this example, XX = 24 and XX
There are two = 36 packets. When arranged according to the condition 1, the result is as shown in FIG. In the case of XX = 24, since there are two, the negative end and the positive end, the negative end is virtually considered to be the younger number and arranged. At this time, a flag for performing special processing is set on contour points having the same XX value and different X coordinate values (Y indicates a flagged state, N indicates a flagged state). . Further, the rearranged packets are paired two by two from the beginning, and in each pair, the two packets are rearranged so that the order of the two packets is the order of condition 1. Here, only the pair whose addresses are 5 and 6 do not satisfy this condition, so they are rearranged. When the processing is performed in this way, the contour vector has a connection relationship that the first packet continues to the next packet in each pair. That is,
In each pair, the address of the next packet of the first packet stores the address of the next packet, and the address of the previous point stores nothing. Further, nothing is stored in the address of the next point of the next packet, and the address of the first packet is stored in the address of the previous point. This state is shown in FIG. The final integration of outline vectors is performed using FIGS. 74 and 77.
【0191】第4の実施例では、画像間の中点を輪郭に
とっていたため図70のアドレス4からアドレス1へ接
続する場合でも水平ベクトルになっていたが、輪郭を黒
画素寄りにとる今回のような場合には斜め方向のベクト
ルとなってしまう。この弊害を避けるために、以下の規
則を用いて斜めベクトルを水平ベクトルと垂直ベクトル
に展開する。まず、接続方向が斜めになるベクトルに対
して場合分けを行う。ベクトルが[(p,q),(r,
s)](但し、(p,q)は始点の座標、(r,s)は
終点の座標を表わす)のとき、(p,q)と(r,s)
の間に以下の様に輪郭点を内挿する。In the fourth embodiment, since the midpoint between the images is set as the contour, the vector becomes a horizontal vector even when connecting from address 4 to address 1 in FIG. 70, but this time the contour is shifted toward the black pixel. In such a case, the vector becomes an oblique direction. In order to avoid this adverse effect, the diagonal vector is expanded into a horizontal vector and a vertical vector using the following rules. First, cases are divided for vectors whose connection direction is oblique. If the vector is [(p, q), (r,
s)] (where (p, q) represents the coordinates of the start point and (r, s) represents the coordinates of the end point), (p, q) and (r, s)
Interpolate contour points between the following.
【0192】<規則1> A.(p,q)と(r,s)のどちらにも特殊処理フラ
グが立っていない場合 (A−1) r>p かつs>qならば、(p,q)→
(p,q+2)→(r,s) (A−2) r>pかつs<qならば、(p,q)→
(r,s+2)→(r,s) (A−3) r<p かつs>qならば(p,q)→
(r,s−2)→(r,s) (A−4) r<pかつs<qならば(p,q)→
(p,q−2)→(r,s) (A−5) s=qかつr>pならば(p,q)→
(p,q+2)→(r,s+2)→(r,s) (A−6) s=qかつr>pならば(p,q)→
(p,q−2)→(r,s−2)→(r,s) (A−7) p=rならば(p,q)→(r,s) B.(p,q)のみに特殊処理フラグが立っている場合 (B−1) r>p かつs>qならば、(p,q)→
(p+2,q)→(p+2,q+2)→(r,s) (B−2) r<pかつs<qならば(p,q)→(p
−2,q)→(p−2,q−2)→(r,s) (B−3) s=qかつr>pならば(p,q)→(p
+2,q)→(p+2,q+2)→(r,s+2)→
(r,s) (B−4) s=qかつr<pならば(p,q)→(p
−2,q)→(p−2,q−2)→(r,s−2)→
(r,s) C.(r,s)のみに特殊処理フラグが立っている場合 (C−1)r>pかつs<qならば、(p,q)→(r
−2,s+2)→(r−2,s)→(r,s) (C−2) r<p かつs>qならば(p,q)→
(r+2,s−2)→(r+2,s)→(r,s) (C−3) s=qかつr>pならば(p,q)→
(p,q+2)→(r−2,s+2)→(r−2,s)
→(r,s) (C−4) s=qかつr<pならば(p,q)→
(p,q−2)→(r+2,s−2)→(r+2,s)
→(r,s) D.(p,q)と(r,s)のどちらにも特殊処理フラ
グが立っている場合 (D−1) r>pならば(p,q)→(p+2,q)
→(p+2,q+2)→(r−2,s+2)→(r−
2,s)→(r,s) (D−2) r<pならば(p,q)→(p−2,q)
→(p−2,q−2)→(r+2,s−2)→(r+
2,s)→(r,s) <規則2>内挿した点も含めて輪郭を構成するベクトル
は、必ず水平ベクトルと垂直ベクトルが交互になるよう
にする。<Rule 1> A. When no special processing flag is set on either (p, q) or (r, s) (A-1) If r> p and s> q, then (p, q) →
(P, q + 2) → (r, s) (A-2) If r> p and s <q, then (p, q) →
(R, s + 2) → (r, s) (A-3) If r <p and s> q, then (p, q) →
(R, s-2) → (r, s) (A-4) If r <p and s <q, then (p, q) →
(P, q-2) → (r, s) (A-5) If s = q and r> p, then (p, q) →
(P, q + 2) → (r, s + 2) → (r, s) (A-6) If s = q and r> p, then (p, q) →
(P, q-2) → (r, s-2) → (r, s) (A-7) If p = r, then (p, q) → (r, s) B. When the special processing flag is set only in (p, q) (B-1) If r> p and s> q, (p, q) →
(P + 2, q) → (p + 2, q + 2) → (r, s) (B-2) If r <p and s <q, then (p, q) → (p
−2, q) → (p−2, q−2) → (r, s) (B−3) If s = q and r> p, then (p, q) → (p
+ 2, q) → (p + 2, q + 2) → (r, s + 2) →
(R, s) (B-4) If s = q and r <p, then (p, q) → (p
−2, q) → (p−2, q−2) → (r, s−2) →
(R, s) C.I. When the special processing flag is set only for (r, s) (C-1) If r> p and s <q, (p, q) → (r
−2, s + 2) → (r−2, s) → (r, s) (C−2) If r <p and s> q, then (p, q) →
(R + 2, s-2) → (r + 2, s) → (r, s) (C-3) If s = q and r> p, then (p, q) →
(P, q + 2) → (r-2, s + 2) → (r-2, s)
→ (r, s) (C-4) If s = q and r <p (p, q) →
(P, q-2) → (r + 2, s-2) → (r + 2, s)
→ (r, s) D. When a special processing flag is set in both (p, q) and (r, s) (D-1) If r> p, (p, q) → (p + 2, q)
→ (p + 2, q + 2) → (r-2, s + 2) → (r-
2, s) → (r, s) (D-2) If r <p (p, q) → (p-2, q)
→ (p-2, q-2) → (r + 2, s-2) → (r +
2, s) → (r, s) <Rule 2> The vectors forming the contour including the interpolated points are always alternating horizontal and vertical vectors.
【0193】2つ以上連続する水平ベクトル及び2つ以
上連続する垂直ベクトルは、それぞれ1つの水平ベクト
ル、1つの垂直ベクトルに統合する。規則1及び規則2
と図74、図77を用いてアウトラインベクトルの統合
を行う。まず図74の第1ストライプの第1輪郭の第1
点目から走査を始める。記述を簡単にするために、第θ
ストライプの第ω輪郭の第ε点目を(θ−ω−ε)と表
わし、分割境界に関係する点、つまりここではY座標値
が11かまたは13である点を境界点と呼ぶことにす
る。まず(1−1−1)を調べる。これは境界点ではな
いので登録し、次の(1−1−2)に移る。(1−1−
2)も境界点ではないので登録し、次の(1−1−3)
に移る。(1−1−3)は境界点なので図77を参照
し、次に移動すべき点を調べる。この場合、(1−2−
4)が次に移る点となる。(1−1−3)を始点とし
(1−2−4)を終点とするベクトルは規則1の(C−
3)に相当するので(15,11)→(15,13)→
(23,13)→(23,11)→(25,11)とい
うように輪郭点を内挿する。次に規則2を適用し、連続
する水平ベクトル、連続する垂直ベクトルを統合する。
(1−1−3)の一つ前の輪郭点である(1−1−2)
から考えれば、(15,5)→(15,11)→(1
5,13)→(23,13)→(23,11)→(2
5,11)となり、(15,5)→(15,11)と
(15,11)→(15,13)は共に垂直ベクトルな
ので統合し、(15,5)→(15,13)→(23,
13)→(23,11)→(25,11)とする。そし
て(15,13)、(23,13)、(23,11)を
登録し、次に移るべき点を図74から求める。(25,
11)は(1−2−4)で示される点なので次に移る点
は(1−2−1)となる。(23,11)→(25,1
1)は水平ベクトル、(25,11)→(25,5)は
垂直ベクトルであり、交互になっているので(25,1
1)を登録する。同様に(1−2−1)、(1−2−
2)を登録する。(1−2−3)は境界点なので次に移
る点を図74から求めると(2−2−2)となる。これ
は規則1の(A−7)に相当するので、(35,11)
→(35,13)となる。先ほどと同様に(35,1
1)の一つ前の点(35,5)から考えると(35,
5)→(35,11)→(35,13)となり、垂直ベ
クトルが2つ続くので統合し、(35,11)は登録し
ない。(35,13)の次の点は(2−2−3)とな
り、(35,5)→(35,13)→(35,15)と
いうように垂直ベクトルが2つ続くので(35,13)
も登録しない。このように常に移るべき点を監視し、2
つ以上連続する水平ベクトル及び2つ以上連続する垂直
ベクトルはそれぞれ1つの水平ベクトル、1つの垂直ベ
クトルに統合し、垂直ベクトルと水平ベクトルが交互に
出てきた時点で輪郭点を登録する。(2−2−3)の次
に移る点は(2−2−4)であり、(35,5)→(3
5,15)→(33,15)というように垂直ベクトル
と水平ベクトルが交互になるので(2−2−3)、つま
り(35,15)を登録する。以上のように規則1及び
規則2に従って処理を行っていくと最終的に図78のテ
ーブルが得られる。The two or more continuous horizontal vectors and the two or more continuous vertical vectors are integrated into one horizontal vector and one vertical vector, respectively. Rule 1 and Rule 2
74 and 77, the outline vectors are integrated. First, the first of the first contours of the first stripe of FIG.
Scanning starts from the dot. To simplify the description, the θ
The εth point of the ωth contour of the stripe is represented as (θ−ω−ε), and the point related to the division boundary, that is, the point whose Y coordinate value is 11 or 13 is called a boundary point. . First, check (1-1-1). Since this is not a boundary point, it is registered and the process moves to the next (1-1-2). (1-1-
2) is not a boundary point either, so register it,
Move on to. Since (1-1-3) is a boundary point, refer to FIG. 77 and check the point to be moved next. In this case, (1-2
4) will be the next point. A vector whose starting point is (1-1-3) and whose ending point is (1-2-4) is (C-
Since it corresponds to 3), (15, 11) → (15, 13) →
The contour points are interpolated as (23,13) → (23,11) → (25,11). Next, Rule 2 is applied to combine continuous horizontal vectors and continuous vertical vectors.
It is the contour point immediately before (1-1-3) (1-1-2)
From the viewpoint of (15, 5) → (15, 11) → (1
5,13) → (23,13) → (23,11) → (2
5,11), and (15,5) → (15,11) and (15,11) → (15,13) are both vertical vectors, so they are integrated, and (15,5) → (15,13) → ( 23,
13) → (23,11) → (25,11). Then, (15, 13), (23, 13), (23, 11) are registered, and the point to move to next is obtained from FIG. (25,
Since 11) is the point indicated by (1-2-4), the next point is (1-2-1). (23,11) → (25,1)
1) is a horizontal vector, and (25,11) → (25,5) is a vertical vector. Since they are alternating, (25,1)
Register 1). Similarly, (1-2-1), (1-2
2) Register. Since (1-2-3) is a boundary point, the next moving point is (2-2-2) when calculated from FIG. Since this corresponds to rule 1 (A-7), (35, 11)
→ becomes (35, 13). Same as before (35, 1
Considering from the point (35, 5) immediately before 1), (35,
5) → (35,11) → (35,13), and since two vertical vectors continue, they are integrated and (35,11) is not registered. The next point of (35, 13) becomes (2-2-3), and since two vertical vectors continue (35, 5) → (35, 13) → (35, 15), (35, 13) )
Does not register. In this way, we constantly monitor the points that need to be changed, and
One or more continuous horizontal vectors and two or more continuous vertical vectors are integrated into one horizontal vector and one vertical vector, respectively, and a contour point is registered when the vertical vector and the horizontal vector alternate. The point to move to after (2-2-3) is (2-2-4), which is (35,5) → (3
Since the vertical vector and the horizontal vector alternate, such as (5,15) → (33,15), (2-2-3), that is, (35,15) is registered. When the processing is performed according to the rules 1 and 2 as described above, the table of FIG. 78 is finally obtained.
【0194】以上がステップS315の処理内容である
が、この処理を全て終了すると、ステップS316に移
る。ステップS316では正式なアウトラインベクトル
を用いて、平滑化・変倍処理を行う。これは、第6実施
例でも示したとおりである。ステップS316が終了す
るとステップS317に移り、変倍された入力画像のア
ウトラインベクトルから2値画像を再生・出力する。The processing contents of step S315 have been described above. When all the processing is completed, the process proceeds to step S316. In step S316, smoothing and scaling processing is performed using the formal outline vector. This is as shown in the sixth embodiment. When step S316 ends, the process moves to step S317, and a binary image is reproduced and output from the scaled outline vector of the input image.
【0195】以上のように処理を行うことで、分割抽出
した輪郭ベクトルから入力画像の正式なアウトラインベ
クトルを求めることができ、これを平滑化・変倍するこ
とで高画質な再生画像を得ることが可能である。By performing the processing as described above, the formal outline vector of the input image can be obtained from the divided and extracted contour vector, and a high-quality reproduced image can be obtained by smoothing and scaling it. Is possible.
【0196】<第8の実施例>本実施例をファクシミリ
に応用した場合の構成図を図79、図80、図81に示
す。<Eighth Embodiment> FIGS. 79, 80, and 81 are block diagrams showing the case in which the present embodiment is applied to a facsimile.
【0197】図79は本実施例を受信側のファクシミリ
に応用した構成図であり、MH符号などで送信された符
号を復号して入力2値画像データを作成し、上記アウト
ライン処理を行う。アウトライン処理部で再生成された
2値画像は記録装置によって紙などに出力されたり、図
示しない表示装置によってディスプレイなどに表示され
たりする。FIG. 79 is a block diagram in which this embodiment is applied to a facsimile on the receiving side. The code transmitted by the MH code or the like is decoded to create input binary image data, and the above outline processing is performed. The binary image regenerated by the outline processing unit is output to paper or the like by the recording device or displayed on the display or the like by a display device (not shown).
【0198】図80は本実施例を送信側のファクシミリ
に応用した構成図である。スキャナなどで入力された画
像信号を2値化し、入力画像データを作成し、アウトラ
イン処理を行う。アウトライン処理部で再生成された2
値画像は画像メモリに蓄えられ符号器によってMH符号
などの符号に変換され送信される。FIG. 80 is a configuration diagram in which this embodiment is applied to a facsimile on the transmission side. An image signal input by a scanner or the like is binarized, input image data is created, and outline processing is performed. 2 regenerated by the outline processing unit
The value image is stored in the image memory, converted into a code such as an MH code by the encoder, and transmitted.
【0199】図81は、本実施例を送信/受信両用のフ
ァクシミリに対して応用した場合の構成図である。前記
の2例を組み合わせたものであるが、送信受信制御回路
によってセレクタが制御され、送信受信によってアウト
ライン処理部の入出力を決定する。ここで特に、2値画
像獲得手段として、読取り部を選択し、2値画像出力手
段を記録装置として構成(或は、選択)することも可能
であるが、この場合は、変倍機能を有するデジタル複写
機(あるいはコピーモード)の実現が可能である。FIG. 81 is a block diagram when this embodiment is applied to a facsimile for both transmission and reception. Although the above two examples are combined, the selector is controlled by the transmission / reception control circuit, and the input / output of the outline processing unit is determined by transmission / reception. Here, in particular, the reading unit may be selected as the binary image acquisition unit and the binary image output unit may be configured (or selected) as the recording device, but in this case, it has a scaling function. It is possible to realize a digital copying machine (or copy mode).
【0200】[0200]
【発明の効果】以上説明したように本発明によれば、入
力画像をストライプ分割処理することで、ワーキングメ
モリやディスクの容量を小さくすることができ、メモリ
の節約になる。また、ワーキングメモリやディスクの容
量が小さくなる分、アウトライン整列処理のときの検索
範囲が狭くなり、処理の高速化を図ることができる。As described above, according to the present invention, since the input image is divided into stripes, the working memory and disk capacity can be reduced and the memory can be saved. Further, since the working memory and the disk capacity are reduced, the search range in the outline alignment processing is narrowed, and the processing speed can be increased.
【0201】[0201]
【図1】図1は本実施例における注目画素とその近傍画
素を示す図、FIG. 1 is a diagram showing a target pixel and its neighboring pixels in the present embodiment,
【図2】図2はこれまでの2値画像からの輪郭抽出の原
理を説明するための図である。FIG. 2 is a diagram for explaining the principle of outline extraction from a binary image up to now.
【図3】輪郭抽出における追跡処理の方向を示す図であ
る。FIG. 3 is a diagram showing a direction of tracking processing in contour extraction.
【図4】輪郭抽出における追跡処理の方向を示す図であ
る。FIG. 4 is a diagram showing a direction of tracking processing in contour extraction.
【図5】実施例における輪郭抽出装置の概略構成を示す
図である。FIG. 5 is a diagram showing a schematic configuration of a contour extracting device in an embodiment.
【図6】実施例の輪郭ベクトル抽出におけるケース0の
画素状態を示す図である。FIG. 6 is a diagram showing a pixel state of case 0 in the contour vector extraction according to the embodiment.
【図7】実施例の輪郭ベクトル抽出におけるケース1の
画素状態を示す図である。FIG. 7 is a diagram showing a pixel state of case 1 in contour vector extraction according to the embodiment.
【図8】実施例の輪郭ベクトル抽出におけるケース2の
画素状態を示す図である。FIG. 8 is a diagram showing a pixel state of case 2 in contour vector extraction according to the embodiment.
【図9】実施例の輪郭ベクトル抽出におけるケース3の
画素状態を示す図である。FIG. 9 is a diagram showing a pixel state of case 3 in contour vector extraction according to the embodiment.
【図10】実施例の輪郭ベクトル抽出におけるケース4
の画素状態を示す図である。FIG. 10 is a case 4 in contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of.
【図11】実施例の輪郭ベクトル抽出におけるケース5
の画素状態を示す図である。FIG. 11 is a case 5 in the contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of.
【図12】実施例の輪郭ベクトル抽出におけるケース6
の画素状態を示す図である。FIG. 12 is a case 6 in contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of.
【図13】実施例の輪郭ベクトル抽出におけるケース7
の画素状態を示す図である。FIG. 13 is a case 7 in contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of.
【図14】実施例の輪郭ベクトル抽出におけるケース8
の画素状態を示す図である。FIG. 14 is a case 8 in the contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of.
【図15】実施例の輪郭ベクトル抽出におけるケース9
の画素状態を示す図である。FIG. 15 is a case 9 in contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of.
【図16】実施例の輪郭ベクトル抽出におけるケース1
0の画素状態を示す図である。FIG. 16 is a case 1 in contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of 0.
【図17】実施例の輪郭ベクトル抽出におけるケース1
1の画素状態を示す図である。FIG. 17 is a case 1 in contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of 1.
【図18】実施例の輪郭ベクトル抽出におけるケース1
2の画素状態を示す図である。FIG. 18 Case 1 in contour vector extraction according to the embodiment
It is a figure which shows the pixel state of 2.
【図19】実施例の輪郭ベクトル抽出におけるケース1
3の画素状態を示す図である。FIG. 19 is a case 1 in contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of 3.
【図20】実施例の輪郭ベクトル抽出におけるケース1
4の画素状態を示す図である。FIG. 20 Case 1 in contour vector extraction according to the embodiment
It is a figure which shows the pixel state of No. 4.
【図21】実施例の輪郭ベクトル抽出におけるケース1
5の画素状態を示す図である。FIG. 21 is a case 1 in contour vector extraction according to the embodiment.
It is a figure which shows the pixel state of No. 5.
【図22】実施例における輪郭抽出処理の全体を示すフ
ローチャートである。FIG. 22 is a flowchart showing the entire outline extraction processing in the embodiment.
【図23】実施例における水平ベクトルの登録テーブル
を示す図である。FIG. 23 is a diagram showing a horizontal vector registration table in the embodiment.
【図24】実施例における垂直ベクトルの登録テーブル
を示す図である。FIG. 24 is a diagram showing a vertical vector registration table according to the embodiment.
【図25】実施例における輪郭線のデータ形式を示した
図である。FIG. 25 is a diagram showing a data format of a contour line in the example.
【図26】実施例におけるベクトル列抽出処理の全体処
理を示すフローチャートである。FIG. 26 is a flowchart showing the overall processing of vector string extraction processing in the embodiment.
【図27】図26における注目画素が黒である場合の処
理の内容を更に詳しく説明したフローチャートである。FIG. 27 is a flowchart illustrating in more detail the content of processing when the pixel of interest in FIG. 26 is black.
【図28】図27における注目画素が黒画素でケース0
に対応する場合の処理内容を示すフローチャートであ
る。28 is a case 0 in which the pixel of interest in FIG. 27 is a black pixel.
7 is a flowchart showing the processing contents in the case of supporting the.
【図29】実施例におけるケース1の処理内容を示すフ
ローチャートである。FIG. 29 is a flowchart showing the processing contents of case 1 in the embodiment.
【図30】水平ベクトルに流入する垂直ベクトル検索す
る処理を示すフローチャートである。FIG. 30 is a flowchart showing a process of searching a vertical vector flowing into a horizontal vector.
【図31】流入ベクトルが未定の水平ベクトルの登録テ
ーブルを示す図である。FIG. 31 is a diagram showing a horizontal vector registration table for which an inflow vector has not been determined.
【図32】流出ベクトルが未定の水平ベクトルの登録テ
ーブルを示す図である。FIG. 32 is a diagram showing a registration table of horizontal vectors whose outflow vectors are undetermined.
【図33】流入ベクトルが未定の垂直ベクトルの登録テ
ーブルを示す図である。FIG. 33 is a diagram showing a registration table of vertical vectors whose inflow vectors are undetermined.
【図34】抽出ベクトルが未定の垂直ベクトルの登録テ
ーブルを示す図である。FIG. 34 is a diagram showing a registration table of vertical vectors for which extraction vectors have not been determined.
【図35】垂直ベクトルに流出する水平ベクトル検索す
る処理を示すフローチャートである。FIG. 35 is a flow chart showing a process of searching a horizontal vector flowing out to a vertical vector.
【図36】実施例におけるケース2の処理内容を示すフ
ローチャートである。FIG. 36 is a flowchart showing the processing contents of case 2 in the embodiment.
【図37】実施例におけるケース3の処理内容を示すフ
ローチャートである。FIG. 37 is a flowchart showing the processing contents of case 3 in the example.
【図38】図37等におけるケースAの処理を示すフロ
ーチャートである。FIG. 38 is a flowchart showing the processing of case A in FIG. 37 and the like.
【図39】実施例におけるケース4の処理内容を示すフ
ローチャートである。FIG. 39 is a flowchart showing the processing contents of case 4 in the example.
【図40】実施例におけるケース5の処理内容を示すフ
ローチャートである。FIG. 40 is a flowchart showing the processing contents of case 5 in the embodiment.
【図41】実施例におけるケース6の処理内容を示すフ
ローチャートである。FIG. 41 is a flowchart showing the processing contents of case 6 in the embodiment.
【図42】図41等におけるケースBの処理を示すフロ
ーチャートである。42 is a flowchart showing the processing of case B in FIG. 41 and the like.
【図43】実施例におけるケース7の処理内容を示すフ
ローチャートである。FIG. 43 is a flowchart showing the processing contents of case 7 in the example.
【図44】実施例におけるケース8の処理内容を示すフ
ローチャートである。FIG. 44 is a flowchart showing the processing contents of case 8 in the example.
【図45】図44等における垂直ベクトルに流入する水
平ベクトルを検索する処理のフローチャートである。45 is a flowchart of a process for searching a horizontal vector flowing into the vertical vector in FIG. 44 and the like.
【図46】図44等における水平ベクトルが流出する垂
直ベクトルを検索する処理のフローチャートである。46 is a flowchart of a process for searching a vertical vector from which the horizontal vector in FIG. 44 and the like flows.
【図47】実施例におけるケース9の処理内容を示すフ
ローチャートである。FIG. 47 is a flowchart showing the processing contents of case 9 in the example.
【図48】図47等におけるケースDの処理を示すフロ
ーチャートである。48 is a flowchart showing the processing of case D in FIG. 47 and the like.
【図49】実施例におけるケース10の処理内容を示す
フローチャートである。FIG. 49 is a flowchart showing the processing contents of case 10 in the example.
【図50】実施例におけるケース11の処理内容を示す
フローチャートである。FIG. 50 is a flowchart showing the processing contents of case 11 in the example.
【図51】実施例におけるケース12の処理内容を示す
フローチャートである。FIG. 51 is a flowchart showing the processing contents of case 12 in the embodiment.
【図52】図51等におけるケースCの処理を示すフロ
ーチャートである。52 is a flowchart showing the processing of case C in FIG. 51 and the like.
【図53】実施例におけるケース13の処理内容を示す
フローチャートである。FIG. 53 is a flowchart showing the processing contents of case 13 in the embodiment.
【図54】実施例におけるケース14の処理内容を示す
フローチャートである。FIG. 54 is a flowchart showing the processing contents of case 14 in the example.
【図55】実施例におけるケース15の処理内容を示す
フローチャートである。FIG. 55 is a flowchart showing the processing contents of case 15 in the example.
【図56】実施例におけるアウトラインベクトル列整列
処理を示すフローチャートである。FIG. 56 is a flowchart showing outline vector sequence alignment processing in the embodiment.
【図57】実施例におけるアウトラインベクトル列整列
処理を示すフローチャートである。FIG. 57 is a flowchart showing outline vector sequence alignment processing in the embodiment.
【図58】実施例におけるアウトラインベクトル列整列
処理における開始点候補テーブルを説明するための図で
ある。FIG. 58 is a diagram for explaining a start point candidate table in the outline vector sequence alignment process in the example.
【図59】図56におけるテーブル・変数初期化処理の
内容を示すフローチャートである。59 is a flowchart showing the contents of the table / variable initialization process in FIG. 56.
【図60】ベクトル列テーブルをファイルに出力する処
理を示すフローチャートである。FIG. 60 is a flowchart showing a process of outputting a vector sequence table to a file.
【図61】第2の実施例のブロック構成図の概略を示す
図である。FIG. 61 is a diagram showing an outline of a block configuration diagram of a second embodiment.
【図62】第2の実施例の処理の流れを示すフローチャ
ートである。FIG. 62 is a flowchart showing a processing flow of the second embodiment.
【図63】第3の実施例を説明するための図である。FIG. 63 is a diagram for explaining the third embodiment.
【図64】第4の実施例の処理の流れを示すフローチャ
ートである。FIG. 64 is a flowchart showing the flow of processing of the fourth embodiment.
【図65】第4の実施例の説明のための入力画像を示す
図である。FIG. 65 is a diagram showing an input image for explaining the fourth embodiment.
【図66】ストライプ分割境界線上に存在する水平ベク
トルの始点、終点を記述するための図である。[Fig. 66] Fig. 66 is a diagram for describing a starting point and an ending point of a horizontal vector existing on a stripe division boundary line.
【図67】ストライプ分割処理により得られたアウトラ
インベクトルの座標テーブルを示す図である。FIG. 67 is a diagram showing a coordinate table of outline vectors obtained by stripe division processing.
【図68】図67のテーブルを走査して得られる分割境
界線上の座標を示す図である。68 is a diagram showing coordinates on a division boundary line obtained by scanning the table in FIG. 67.
【図69】図68のパケットをX座標により並べ換えた
図である。69 is a diagram in which the packets in FIG. 68 are rearranged by the X coordinate.
【図70】図69のパケットのペアを条件に従って並べ
換えた図である。70 is a diagram in which the packet pairs of FIG. 69 are rearranged according to conditions.
【図71】分割処理されたアウトラインベクトルを統合
・整列した結果を示す図である。FIG. 71 is a diagram showing a result of integrating and arranging outline vectors subjected to division processing.
【図72】第7の実施例の説明のための入力画像を示す
図である。FIG. 72 is a diagram showing an input image for explaining the seventh embodiment.
【図73】ストライプ分割境界線上に存在する水平ベク
トルの始点、終点を記述するための図である。[Fig. 73] Fig. 73 is a diagram for describing a starting point and an ending point of a horizontal vector existing on a stripe division boundary line.
【図74】ストライプ分割処理により得られたアウトラ
インベクトルの座標テーブルを示す図である。FIG. 74 is a diagram showing a coordinate table of outline vectors obtained by stripe division processing.
【図75】図74のテーブルを走査して得られる分割境
界線上の座標を示す図である。FIG. 75 is a diagram showing coordinates on a division boundary line obtained by scanning the table in FIG. 74.
【図76】図75のパケットをX座標により並べ換えた
図である。76 is a diagram in which the packets in FIG. 75 are rearranged by the X coordinate.
【図77】図76のパケットのペアを条件に従って並べ
換えた図である。77 is a diagram in which the pairs of packets in FIG. 76 are rearranged according to conditions.
【図78】分割処理されたアウトラインベクトルを統合
・整列した結果を示す図である。[Fig. 78] Fig. 78 is a diagram illustrating a result of integrating and arranging outline vectors that have been divided.
【図79】本実施例を受信側のファクシミリに応用した
構成図である。[Fig. 79] Fig. 79 is a configuration diagram in which the present embodiment is applied to a receiving-side facsimile.
【図80】本実施例を送信側のファクシミリに応用した
構成図である。FIG. 80 is a configuration diagram in which the present embodiment is applied to a facsimile on the transmission side.
【図81】本実施例を送信/受信両用のファクシミリに
応用した構成図である。FIG. 81 is a configuration diagram in which the present embodiment is applied to a facsimile for both transmission / reception.
501 入力制御回路 502〜504、507〜512 ラッチ 505及び506 FIFO 513及び514 入力ポート 515 主走査カウンタ 516 副走査カウンタ 517 入出力制御ポート 519 CPU 520 メモリ 521 ディスクI/O 522 ディスク 501 input control circuit 502 to 504, 507 to 512 latch 505 and 506 FIFO 513 and 514 input port 515 main scanning counter 516 sub scanning counter 517 input / output control port 519 CPU 520 memory 521 disk I / O 522 disk
Claims (26)
抽出する画像処理方法において、 画像を複数の帯状画像に分割して入力する行程と、 入力した帯状画像単位にそれぞれの輪郭ベクトルを抽出
する輪郭抽出行程とを備えることを特徴とする画像処理
方法。1. An image processing method for extracting a contour vector of an input image from an image, a process of dividing an image into a plurality of band-shaped images and inputting the contours, and a contour extracting each contour vector for each inputted band-shaped image unit. An image processing method comprising: an extraction step.
イン数に変更可能であることを特徴とする請求項第1項
に記載の画像処理方法。2. The image processing method according to claim 1, wherein the number of lines of the band-shaped image can be changed to a desired number of lines.
ンが存在する場合、当該白ライン群の前後する黒画素が
存在するラインで帯状画像の境界を設定することを特徴
とする請求項第1項に記載の画像処理方法。3. When the band-shaped image has one or more white lines, the band of the band-shaped image is set by a line in which black pixels before and after the white line group exist. The image processing method according to item 1.
なった時点でのライン、 或いは白ラインが検出された時点の直前のラインとする
ことを特徴とする請求項第1項に記載の画像処理方法。4. The boundary position of the band-shaped image is a line at the time when the capacity of the memory for temporarily storing the input image is substantially full, or a line immediately before the time when the white line is detected. The image processing method according to claim 1, characterized in that
抽出する画像処理装置において、 画像を複数の帯状画像に分割して入力する入力手段と、 入力した帯状画像単位にそれぞれの輪郭ベクトルを抽出
する輪郭抽出手段とを備えることを特徴とする画像処理
装置。5. An image processing apparatus for extracting a contour vector of an input image from an image, inputting means for dividing an image into a plurality of strip-shaped images and inputting the same, and extracting each contour vector for each input strip-shaped image unit. An image processing apparatus comprising: a contour extracting unit.
イン数に変更可能であることを特徴とする請求項第5項
に記載の画像処理装置。6. The image processing apparatus according to claim 5, wherein the number of lines of the band-shaped image can be changed to a desired number of lines.
ンが存在する場合、当該白ライン群の前後する黒画素が
存在するラインで帯状画像の境界を設定することを特徴
とする請求項第5項に記載の画像処理装置。7. The band-shaped image boundary is set by a line in which black pixels before and after the white line group exist when one or more white lines are present in the band-shaped image. The image processing device according to item 5.
なった時点でのライン、 或いは白ラインが検出された時点の直前のラインとする
ことを特徴とする請求項第5項に記載の画像処理装置。8. The boundary position of the band-shaped image is a line at the time when the capacity of the memory for temporarily storing the input image is substantially full, or a line immediately before the time when the white line is detected. The image processing apparatus according to claim 5, characterized in that
抽出する画像処理方法において、 画像を複数の帯状画像に分割して入力する行程と、 入力した帯状画像単位にそれぞれの輪郭ベクトルを抽出
する輪郭抽出行程と抽出された個々の帯状画像の輪郭ベ
クトルを平滑化する平滑行程とを備えることを特徴とす
る画像処理方法。9. An image processing method for extracting a contour vector of an input image from an image, a step of dividing an image into a plurality of strip images and inputting the contour, and a contour extracting each contour vector for each input strip image. An image processing method comprising: an extraction process and a smoothing process for smoothing the contour vector of each extracted strip-shaped image.
ベクトルを変倍し、2値画像を再生する行程を備えるこ
とを特徴とする請求項第9項に記載の画像処理方法。10. The image processing method according to claim 9, further comprising the step of scaling the contour vector smoothed in the smoothing step to reproduce a binary image.
トル中において、当該2つの帯状画像で接続される輪郭
ベクトルの有意なベクトルの座標位置を平滑化対象から
除くことを特徴とする請求項第9項に記載の画像処理方
法。11. In the smoothing step, in a vector in the vicinity of the boundary between each of two continuous strip images, a significant vector coordinate position of a contour vector connected by the two strip images is to be smoothed. The image processing method according to claim 9, wherein the image processing method is excluded from.
を抽出する画像処理装置において、 画像を複数の帯状画像に分割して入力する入力手段と、 入力した帯状画像単位にそれぞれの輪郭ベクトルを抽出
する輪郭抽出手段と抽出された個々の帯状画像の輪郭ベ
クトルを平滑化する平滑化手段とを備えることを特徴と
する画像処理装置。12. An image processing apparatus for extracting a contour vector of an input image from an image, inputting means for dividing an image into a plurality of strip images and inputting the same, and extracting each contour vector for each input strip image. An image processing apparatus comprising: a contour extracting unit; and a smoothing unit that smoothes a contour vector of each extracted strip-shaped image.
ベクトルを変倍し、2値画像を再生する手段を備えるこ
とを特徴とする請求項第12項に記載の画像処理装置。13. The image processing apparatus according to claim 12, further comprising means for scaling a contour vector smoothed in a smoothing step to reproduce a binary image.
トル中において、当該2つの帯状画像で接続される輪郭
ベクトルの有意なベクトルの座標位置を平滑化対象から
除く手段を備えることを特徴とする請求項第12項に記
載の画像処理装置。14. The smoothing means smoothes a coordinate position of a significant vector of a contour vector connected by the two strip-shaped images in a vector in the vicinity of a boundary between each of the two continuous strip-shaped images. 13. The image processing apparatus according to claim 12, further comprising means for excluding the above.
を抽出する画像処理方法において、 画像を複数の帯状画像に分割して入力する行程と、 入力した帯状画像単位にそれぞれの輪郭ベクトルを抽出
する輪郭抽出行程と抽出されたかく帯状画像の輪郭ベク
トルを統合する行程とを備えることを特徴とする画像処
理方法。15. An image processing method for extracting a contour vector of an input image from an image, a process of dividing an image into a plurality of strip images and inputting the contour, and a contour extracting each contour vector for each input strip image. An image processing method, comprising: an extraction step and a step of integrating the contour vector of the extracted strip-shaped image.
ライン数に変更可能であることを特徴とする請求項第1
5項に記載の画像処理方法。16. The number of lines of the band-shaped image can be changed to a desired number of lines.
The image processing method according to item 5.
インが存在する場合、当該白ライン群の前後する黒画素
が存在するラインで帯状画像の境界を設定することを特
徴とする請求項第15項に記載の画像処理方法。17. The band-shaped image boundary is set by a line in which black pixels before and after the white line group exist when one or more white lines exist in the band-shaped image. Item 15. The image processing method described in Item 15.
なった時点でのライン、 或いは白ラインが検出された時点の直前のラインとする
ことを特徴とする請求項第15項に記載の画像処理方
法。18. The boundary position of the band-shaped image is set to a line at the time when the capacity of the memory for temporarily storing the input image is substantially full, or a line immediately before the time when the white line is detected. The image processing method according to claim 15, characterized in that
化する平滑化行程を備えることを特徴とする請求項第1
5項に記載の画像処理方法。19. The method according to claim 1, further comprising a smoothing step for smoothing the integrated contour vector.
The image processing method according to item 5.
ベクトルを変倍し、2値画像を再生する行程を備えるこ
とを特徴とする請求項第19項に記載の画像処理方法。20. The image processing method according to claim 19, further comprising the step of scaling the contour vector smoothed in the smoothing step to reproduce a binary image.
を抽出する画像処理装置において、 画像を複数の帯状画像に分割して入力する入力手段と、 入力した帯状画像単位にそれぞれの輪郭ベクトルを抽出
する輪郭抽出手段と抽出されたかく帯状画像の輪郭ベク
トルを統合する統合手段とを備えることを特徴とする画
像処理装置。21. An image processing apparatus for extracting a contour vector of an input image from an image, wherein the input means divides the image into a plurality of strip-shaped images and is input, and each contour vector is extracted for each input strip-shaped image. An image processing apparatus comprising: a contour extracting means; and an integrating means for integrating the extracted contour vectors of the strip-shaped image.
ライン数に変更可能であることを特徴とする請求項第2
1項に記載の画像処理装置。22. The number of lines of the band-shaped image can be changed to a desired number of lines.
The image processing device according to item 1.
インが存在する場合、当該白ライン群の前後する黒画素
が存在するラインで帯状画像の境界を設定することを特
徴とする請求項第21項に記載の画像処理装置。23. When one or more white lines are present in the band-shaped image, the band of the band-shaped image is set by a line in which black pixels before and after the white line group are present. The image processing device according to item 21.
なった時点でのライン、 或いは白ラインが検出された時点の直前のラインとする
ことを特徴とする請求項第21項に記載の画像処理装
置。24. The boundary position of the band-shaped image is a line at the time when the capacity of the memory for temporarily storing the input image is substantially full, or a line immediately before the time when the white line is detected. The image processing apparatus according to claim 21, characterized in that
化する平滑化行程を備えることを特徴とする請求項第2
1項に記載の画像処理装置。25. The method according to claim 2, further comprising a smoothing step for smoothing the integrated contour vector.
The image processing device according to item 1.
ベクトルを変倍し、2値画像を再生する行程を備えるこ
とを特徴とする請求項第25項に記載の画像処理装置。26. The image processing apparatus according to claim 25, further comprising a step of scaling a contour vector smoothed in the smoothing step to reproduce a binary image.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4254989A JP2954434B2 (en) | 1992-09-24 | 1992-09-24 | Image processing method and apparatus |
| EP93307549A EP0589702B1 (en) | 1992-09-24 | 1993-09-23 | Image processing method and apparatus |
| DE69324874T DE69324874T2 (en) | 1992-09-24 | 1993-09-23 | Image processing method and device |
| US08/636,629 US5828794A (en) | 1992-09-24 | 1996-04-23 | Image processing method and apparatus for enlarging and reducing image data |
| US09/038,477 US6111994A (en) | 1992-09-24 | 1997-12-12 | Outline extraction using partial image processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4254989A JP2954434B2 (en) | 1992-09-24 | 1992-09-24 | Image processing method and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06103379A true JPH06103379A (en) | 1994-04-15 |
| JP2954434B2 JP2954434B2 (en) | 1999-09-27 |
Family
ID=17272665
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4254989A Expired - Fee Related JP2954434B2 (en) | 1992-09-24 | 1992-09-24 | Image processing method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2954434B2 (en) |
-
1992
- 1992-09-24 JP JP4254989A patent/JP2954434B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2954434B2 (en) | 1999-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6404921B1 (en) | Contour extracting method and apparatus | |
| US6173075B1 (en) | Drawing pixmap to vector conversion | |
| JP5854802B2 (en) | Image processing apparatus, image processing method, and computer program | |
| US4566128A (en) | Method for data compression for two-value picture image | |
| JP2690110B2 (en) | Scan conversion method | |
| US5202933A (en) | Segmentation of text and graphics | |
| US8249394B2 (en) | Method and system for shift-map image editing | |
| US5828794A (en) | Image processing method and apparatus for enlarging and reducing image data | |
| JP2608571B2 (en) | Apparatus and method for vectorizing input scanned image data | |
| KR0129505B1 (en) | Character data, logo / artwork data input output device and input output method | |
| US5119445A (en) | Feature extracting method | |
| US4853885A (en) | Method of compressing character or pictorial image data using curve approximation | |
| Cuisenaire | Region growing Euclidean distance transforms | |
| JP2009271700A (en) | Image processing apparatus and image processing method | |
| JP2954434B2 (en) | Image processing method and apparatus | |
| JP2011210159A (en) | Image processing method, image processor, program and storage medium | |
| Ablameyko et al. | Vectorization and representation of large-size 2-D line-drawing images | |
| JP3172498B2 (en) | Image recognition feature value extraction method and apparatus, storage medium for storing image analysis program | |
| JPH0652304A (en) | Image processing apparatus and method thereof | |
| JPH07334648A (en) | Image processing method and apparatus thereof | |
| Ye et al. | Document image matching and annotation lifting | |
| JP5028174B2 (en) | Image processing apparatus, image processing method, and image processing program | |
| JP3037504B2 (en) | Image processing method and apparatus | |
| JP3133807B2 (en) | Outline extraction method and apparatus | |
| JP4043629B2 (en) | Image data conversion method, image componentization method, recording medium recording an image data conversion program, and recording medium recording an image componentization program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990607 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070716 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120716 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |