JP2012164108A - Labeling processing device and labeling processing method - Google Patents

Labeling processing device and labeling processing method Download PDF

Info

Publication number
JP2012164108A
JP2012164108A JP2011023682A JP2011023682A JP2012164108A JP 2012164108 A JP2012164108 A JP 2012164108A JP 2011023682 A JP2011023682 A JP 2011023682A JP 2011023682 A JP2011023682 A JP 2011023682A JP 2012164108 A JP2012164108 A JP 2012164108A
Authority
JP
Japan
Prior art keywords
temporary
labeling
pixel
processor
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011023682A
Other languages
Japanese (ja)
Other versions
JP5697475B2 (en
Inventor
Yoji Kitajima
洋史 北島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011023682A priority Critical patent/JP5697475B2/en
Publication of JP2012164108A publication Critical patent/JP2012164108A/en
Application granted granted Critical
Publication of JP5697475B2 publication Critical patent/JP5697475B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To speed up labeling processing.SOLUTION: A first processor causes a target pixel A to scan binarized image data P1 in an X-axis direction as a main scanning direction and a Y-axis direction as a sub-scanning direction. Then, when the target pixel A is a pixel having a value "1" of the two values, the first processor executes temporary labeling processing for temporarily giving a temporary label number to the target pixel A. At that time, each time finishing scanning of the target pixel in the main scanning direction by one line, the first processor determines whether all pixels of one line have the other value of the two values. When all pixels of one line are determined to have the other value, a second processor executes main labeling processing for replacing the temporary label number given to each pixel in a connection area composed of connected pixels having the one value to a main label number different for each connection area in parallel with the temporary labeling processing.

Description

本発明は、2値化された画像データにおいて2値のうちの一方の値の画素に仮ラベル番号を付与し、一方の値の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を本ラベル番号に変換するラベリング処理装置及びラベリング処理方法に関する。   The present invention assigns a temporary label number to a pixel of one of the binary values in the binarized image data and assigns the temporary label to each pixel in the connected region formed by connecting the pixels of the one value. The present invention relates to a labeling processing apparatus and a labeling processing method for converting a label number into a real label number.

画像処理では、H値(1の値)、L値(0の値)の2値画像に対して、連続する同一画素値の画素で形成される連結領域(画素集合体)を検出し、各連結領域に各ラベル番号を付与していくラベリング処理が行われている(非特許文献1参照)。この2値画像に対してラベリング処理を行う方法は、まず連結領域の各画素に仮ラベル番号付けを行う。そして、仮ラベル番号から本ラベル番号に番号を割り当て直すことでラベリング処理が終了する。以下、このラベリング処理について詳細に説明する。   In the image processing, a connected region (pixel aggregate) formed by pixels having the same pixel value is detected from a binary image having an H value (value of 1) and an L value (value of 0), and A labeling process for assigning each label number to a connected area is performed (see Non-Patent Document 1). In the method of labeling the binary image, first, temporary label numbering is performed on each pixel in the connected area. Then, the labeling process is completed by reassigning the number from the temporary label number to the present label number. Hereinafter, this labeling process will be described in detail.

図10は、従来のラベリング処理を説明するための図であり、L値の背景画素の中に、H値を持った連結領域が3つ存在する場合を示している。図10(a)に示すように、仮ラベル付けでは、注目画素Aに対し上の周辺画素Bと左の周辺画素Cの3画素を抽出する。そして、注目画素Aの画素値がL値であれば、そのまま仮ラベル番号は付与しない。注目画素AがH値であり、且つ周辺画素B、CがL値であれば、注目画素Aに新しい仮ラベル番号を付与する。注目画素AがH値であり、且つ周辺画素B、Cのどちらかに仮ラベル番号が振られていれば、注目画素Aにその割り振られている仮ラベル番号を付与する。注目画素AがH値であり、且つ周辺画素B、Cに異なる仮ラベル番号が付与されていれば、注目画素Aに小さな番号の仮ラベル番号を付与し、周辺画素B、Cが同じ領域であることを記憶しておく。画像全体に対して注目画素Aを走査し、上記処理を行うことにより、図10(b)に示す仮ラベル画像ができる。   FIG. 10 is a diagram for explaining a conventional labeling process, and shows a case where three connected regions having an H value exist among L-value background pixels. As shown in FIG. 10A, in the provisional labeling, three pixels of the upper peripheral pixel B and the left peripheral pixel C with respect to the target pixel A are extracted. If the pixel value of the target pixel A is an L value, the temporary label number is not given as it is. If the pixel of interest A has an H value and the peripheral pixels B and C have an L value, a new temporary label number is assigned to the pixel of interest A. If the target pixel A has an H value and a temporary label number is assigned to one of the peripheral pixels B and C, the assigned temporary label number is assigned to the target pixel A. If the pixel of interest A has an H value and different temporary label numbers are assigned to the peripheral pixels B and C, a small temporary label number is assigned to the pixel of interest A, and the peripheral pixels B and C are in the same region. Remember something. By scanning the pixel of interest A over the entire image and performing the above processing, a temporary label image shown in FIG.

次に、同一の連結領域に付けられた異なる仮ラベル番号を同一のラベル番号に整理し、本ラベル付けを行う。本ラベル付けでは、仮ラベル画像から注目画素を抽出し、仮ラベル番号から本ラベル番号にラベル番号を割り当て直して行く。以上の処理により、図10(c)に示すような本ラベル画像ができる。本ラベル画像では、同一の連結領域の各画素に同じラベル番号が付与されており、ラベリング処理後の正常な状態を示している。   Next, different temporary label numbers attached to the same connection area are arranged into the same label number, and this labeling is performed. In the actual labeling, the target pixel is extracted from the temporary label image, and the label number is reassigned from the temporary label number to the actual label number. Through the above processing, a real label image as shown in FIG. In this label image, the same label number is assigned to each pixel in the same connected area, indicating a normal state after the labeling process.

八木伸行監修、映像メディア学会編、「ディジタル画像処理」、オーム社出版(平成12年4月25日)Supervised by Nobuyuki Yagi, edited by the Video Media Society, "Digital Image Processing", published by Ohmsha (April 25, 2000)

しかしながら、上記の従来のラベリング処理では、画像全体の仮ラベル付処理が終了した後に本ラベル付処理を行っていたため、処理に時間を要しており、ラベリング処理の高速化が望まれていた。   However, in the above-described conventional labeling process, the labeling process is performed after the provisional labeling process for the entire image is completed. Therefore, the process takes time, and it is desired to increase the speed of the labeling process.

そこで、本発明は、ラベリング処理を高速化することのできるラベリング処理装置及びラベリング処理方法を提供することを目的とするものである。   Therefore, an object of the present invention is to provide a labeling processing apparatus and a labeling processing method capable of speeding up the labeling processing.

本発明は、2値化された画像データにおいて注目画素を主走査方向及び前記主走査方向と直交する副走査方向に走査させて、前記注目画素が2値のうちの一方の値の画素である場合に、前記注目画素に一時的に仮ラベル番号を付与する仮ラベル付処理を実行する仮ラベル付手段と、前記仮ラベル付手段による前記注目画素の主走査方向の走査を1ライン終える度に、1ライン全ての画素が2値のうちの他方の値であるか否かを判断する判断手段と、前記判断手段により1ライン全ての画素が前記他方の値であると判断されたとき、前記仮ラベル付手段による前記仮ラベル付処理と並行して、前記一方の値の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する本ラベル付手段と、を備えたことを特徴とする。   In the present invention, in the binarized image data, the pixel of interest is scanned in the main scanning direction and the sub-scanning direction orthogonal to the main scanning direction, and the pixel of interest is one of the binary values. A provisional label attaching means for executing provisional labeling processing for temporarily assigning a temporary label number to the target pixel, and scanning of the target pixel in the main scanning direction by the temporary label attachment means every time one line is finished. Determining means for determining whether or not all pixels in one line are the other of the two values; and when the determining means determines that all pixels in one line are the other value, In parallel with the provisional labeling process by the provisional label attaching means, the provisional label number assigned to each pixel in the connected area formed by connecting the pixels having the one value is replaced with a different main label number for each connected area. This label processing And the labeled unit, further comprising a characterized that.

また、本発明は、2値化された画像データにおいて注目画素を主走査方向及び前記主走査方向と直交する副走査方向に走査させて、前記注目画素が2値のうちの一方の値の画素である場合に、前記注目画素に一時的に仮ラベル番号を付与する仮ラベル付処理を実行する仮ラベル付工程と、前記仮ラベル付工程にて前記注目画素の主走査方向の走査を1ライン終える度に、1ライン全ての画素が2値のうちの他方の値であるか否かを判断する判断工程と、前記判断工程にて1ライン全ての画素が前記他方の値であると判断されたとき、前記仮ラベル付工程における前記仮ラベル付処理と並行して、前記一方の値の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する本ラベル付工程と、を備えたことを特徴とする。   In the present invention, the pixel of interest is scanned in the main scanning direction and the sub-scanning direction orthogonal to the main scanning direction in the binarized image data, and the pixel of interest is one of the binary values. The provisional label attaching step for temporarily assigning a temporary label number to the target pixel, and scanning of the target pixel in the main scanning direction in the temporary label addition step in one line. Each time the process is completed, a determination step for determining whether or not all the pixels in one line are the other of the two values, and in the determination step, all the pixels in one line are determined to be the other value. In parallel with the temporary labeling process in the temporary labeling step, the temporary label number assigned to each pixel in the connected area formed by connecting the pixels of the one value is different for each connected area. Processing with this label to replace with the label number And the labeled step of executing, characterized by comprising a.

本発明によれば、2値化された画像データにおいて1ライン全ての画素が2値のうちの他方の値であるか否かを判断することにより、一方の値の画素が連結してなる連結領域の外周端を見極めている。そして、1ライン全ての画素が他方の値であると判断したときには、既に仮ラベル番号が付与された連結領域に対して本ラベル番号を付与する本ラベル付処理を実行する。この本ラベル付処理は、画像データの未走査領域における残りの連結領域に仮ラベル番号を付与する仮ラベル付処理と並行して行われる。このように、画像全体の仮ラベル付処理が終了するのを待たずに、本ラベル付処理を行うことができるので、従来の方法に比べてラベリング処理が高速化する。   According to the present invention, in the binarized image data, it is determined whether all the pixels in one line are the other of the two values, thereby connecting the pixels having one value. Identifying the outer edge of the region. When it is determined that all the pixels in one line have the other value, a main labeling process is performed in which a main label number is assigned to a connected region to which a temporary label number has already been assigned. This main labeling process is performed in parallel with the temporary labeling process for assigning temporary label numbers to the remaining connected areas in the unscanned area of the image data. As described above, since the main labeling process can be performed without waiting for the provisional labeling process for the entire image to be completed, the labeling process can be performed faster than the conventional method.

本発明の第1実施形態に係るラベリング処理装置の概略構成を示す説明図であり、(a)はラベリング処理装置全体を示す図、(b)はラベリング処理装置の画像処理部を示す図である。It is explanatory drawing which shows schematic structure of the labeling processing apparatus which concerns on 1st Embodiment of this invention, (a) is a figure which shows the whole labeling processing apparatus, (b) is a figure which shows the image process part of a labeling processing apparatus. . 画像データを示す図であり、(a)はカメラから取り込んだ入力画像データを示す図、(b)は入力画像データに2値化処理を施して得られた2値化画像データを示す図である。It is a figure which shows image data, (a) is a figure which shows the input image data taken in from the camera, (b) is a figure which shows the binarized image data obtained by giving a binarization process to input image data. is there. 本発明の第1実施形態のラベリング処理を説明するための図であり、(a)は2値化画像データに対して注目画素を走査し、仮ラベル付処理を行っている図、(b)は作成された仮ラベル画像データを示す図である。(c)は作成された接続関連テーブル及び本ラベル変換テーブルを示す図、(d)は作成された本ラベル画像データを示す図である。It is a figure for demonstrating the labeling process of 1st Embodiment of this invention, (a) scans an attention pixel with respect to binarized image data, The figure which performs the process with a temporary label, (b) FIG. 4 is a diagram showing created temporary label image data. (C) is a diagram showing the created connection relation table and the book label conversion table, and (d) is a diagram showing the created book label image data. 本発明の第1実施形態のCPUの処理を示すフローチャートであり、(a)は第1のプロセッサの処理を示すフローチャート、(b)は第1のプロセッサの仮ラベル付処理を示すフローチャート、(c)は第2のプロセッサの処理を示すフローチャートである。It is a flowchart which shows the process of CPU of 1st Embodiment of this invention, (a) is a flowchart which shows the process of a 1st processor, (b) is a flowchart which shows the process with a temporary label of a 1st processor, (c) ) Is a flowchart showing processing of the second processor. 本発明の第1実施形態のラベリング処理の別の例を説明するための図であり、(a)は座標y1=a1まで仮ラベル付処理を行った図、(b)は座標y1=a2まで仮ラベル付処理を行い、座標y1=a1まで本ラベル付処理を行った図である。(c)は、最後まで仮ラベル付処理を行い、座標y1=a2まで本ラベル付処理を行った図である。(d)は最後まで本ラベル付処理を行った図である。It is a figure for demonstrating another example of the labeling process of 1st Embodiment of this invention, (a) is the figure which performed the process with provisional label to coordinate y1 = a1, (b) is to coordinate y1 = a2. It is the figure which performed the temporary labeling process and performed this labeling process to the coordinate y1 = a1. (C) is the figure which performed the temporary labeling process to the last, and performed this labeling process to the coordinate y1 = a2. (D) is the figure which performed this labeling process to the last. 本発明の第2実施形態のラベリング処理を説明するための図であり、(a)は2値化画像データに対して注目画素を走査し、仮ラベル付処理を行っている図、(b)は作成された仮ラベル画像データを示す図である。(c)は作成された接続関連テーブル及び本ラベル変換テーブルを示す図、(d)は作成された本ラベル画像データを示す図である。It is a figure for demonstrating the labeling process of 2nd Embodiment of this invention, (a) scans an attention pixel with respect to binarized image data, The figure which performs the process with a temporary label, (b) FIG. 4 is a diagram showing created temporary label image data. (C) is a diagram showing the created connection relation table and the book label conversion table, and (d) is a diagram showing the created book label image data. 本発明の第2実施形態のCPUの処理を示すフローチャートであり、(a)は第1のプロセッサの処理を示すフローチャート、(b)は第1のプロセッサの仮ラベル付処理を示すフローチャート、(c)は第2のプロセッサの処理を示すフローチャートである。It is a flowchart which shows the process of CPU of 2nd Embodiment of this invention, (a) is a flowchart which shows the process of a 1st processor, (b) is a flowchart which shows the process with a temporary label of a 1st processor, (c) ) Is a flowchart showing processing of the second processor. 本発明の第3実施形態のラベリング処理を説明するための図であり、(a)は2値化画像データに対して注目画素を走査し、仮ラベル付処理を行っている図、(b)は作成された仮ラベル画像データを示す図である。(c)は作成された接続関連テーブル及び本ラベル変換テーブルを示す図、(d)は作成された本ラベル画像データを示す図である。(e)は注目画素の主走査方向がY軸方向である場合の周辺画素を示す図である。It is a figure for demonstrating the labeling process of 3rd Embodiment of this invention, (a) scans an attention pixel with respect to binarized image data, The figure which performs the process with a temporary label, (b) FIG. 4 is a diagram showing created temporary label image data. (C) is a diagram showing the created connection relation table and the book label conversion table, and (d) is a diagram showing the created book label image data. (E) is a diagram showing peripheral pixels when the main scanning direction of the target pixel is the Y-axis direction. 本発明の第3実施形態の第1のプロセッサの仮ラベル付処理を示すフローチャートである。It is a flowchart which shows the process with a temporary label of the 1st processor of 3rd Embodiment of this invention. 従来のラベリング処理を説明するための図であり、(a)は2値化画像データに対して注目画素を走査し、仮ラベル付処理を行っている図、(b)は作成された仮ラベル画像データを示す図、(c)は作成された本ラベル画像データを示す図である。It is a figure for demonstrating the conventional labeling process, (a) is a figure which scans the attention pixel with respect to binarized image data, and is performing the process with a temporary label, (b) is the produced temporary label. The figure which shows image data, (c) is a figure which shows the produced this label image data.

以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。   Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.

[第1実施形態]
図1は、本発明の第1実施形態に係るラベリング処理装置の概略構成を示す説明図である。図1(a)に示すように、ラベリング処理装置100は、カメラ11と、カメラ11により撮像されて得られた画像データを入力して画像処理を行う画像処理部12とを備えている。カメラ11は、不図示のレンズ及びレンズにより形成された光像を撮像信号に変換して画像データとして出力する撮像素子を有しており、底盤14上に載置された撮像対象であるプリント基板13を撮像する。
[First Embodiment]
FIG. 1 is an explanatory diagram showing a schematic configuration of a labeling processing apparatus according to the first embodiment of the present invention. As shown in FIG. 1A, the labeling processing device 100 includes a camera 11 and an image processing unit 12 that performs image processing by inputting image data obtained by being captured by the camera 11. The camera 11 includes a lens (not shown) and an image sensor that converts a light image formed by the lens into an image signal and outputs the image signal as image data, and is a printed circuit board that is an imaging target placed on the bottom board 14. 13 is imaged.

画像処理部12は、図1(b)に示すように、CPU3、メモリ4、バス5、不図示のHDDからなるコンピューターシステムにより構成される。CPU3は、2つの演算プロセッサである第1のプロセッサ6及び第2のプロセッサ7を有し、それぞれのプロセッサ6,7が独立してメモリアクセスや演算処理を行うことができる。つまり、CPU3は、2つのプロセッサ6,7を有しているので、並列処理が可能である。   As shown in FIG. 1B, the image processing unit 12 includes a computer system including a CPU 3, a memory 4, a bus 5, and an HDD (not shown). The CPU 3 includes a first processor 6 and a second processor 7 which are two arithmetic processors, and the respective processors 6 and 7 can independently perform memory access and arithmetic processing. That is, since the CPU 3 includes the two processors 6 and 7, parallel processing is possible.

メモリ4は、各種画像データを記憶する画像記憶手段としての画像記憶部8と、特定の座標情報を記憶する座標記憶手段としての座標記憶部9と、接続関連テーブル及び本ラベル変換テーブルを記憶するテーブル記憶部10とを有する。画像記憶部8、座標記憶部9及びテーブル記憶部10は、メモリ4において割り振られた記憶領域を示している。CPU3はバス5を介してメモリ4のデータにアクセスすることができる。   The memory 4 stores an image storage unit 8 as an image storage unit for storing various image data, a coordinate storage unit 9 as a coordinate storage unit for storing specific coordinate information, a connection relation table, and a label conversion table. And a table storage unit 10. The image storage unit 8, the coordinate storage unit 9, and the table storage unit 10 indicate storage areas allocated in the memory 4. The CPU 3 can access data in the memory 4 through the bus 5.

なお、メモリ4にはCPU3にラベリング処理を実行させるためのプログラムが格納され、CPU3がプログラムを実行することによりラベリング処理を実行するように構成されている。   The memory 4 stores a program for causing the CPU 3 to execute a labeling process, and the CPU 3 executes the labeling process by executing the program.

次に、ラベリング処理装置100の動作の概略について説明する。第1のプロセッサ6は、カメラ11に撮像動作させて、図2(a)に示すようなプリント基板13を含む入力画像データP0を取り込み、画像記憶部8に記憶させる撮像処理を実行する。そして第1のプロセッサ6は、入力画像データP0を画像記憶部8から取り出し、各画素値が所定の閾値より小さければ0の値、大きければ1の値として、入力画像データP0を、図2(b)に示すような2値化した画像データP1に書き換える2値化処理を実行する。これにより、画像データP1における、プリント基板13上の抽出対象物15に対応する画素が「0,1」の2値のうち「1」の値(一方の値)となり、それ以外の画素が、「0,1」の2値のうち「0」の値(他方の値)となる。なお、抽出対象物15に対応する画素が「0,1」の2値のうち「0」の値(一方の値)となり、それ以外の画素が、「0,1」の2値のうち「1」の値(他方の値)となるように、入力画像データを2値化してもよい。ここでは、一方の値が「1」、他方の値が「0」の場合について説明する。   Next, an outline of the operation of the labeling processing apparatus 100 will be described. The first processor 6 causes the camera 11 to perform an imaging operation, executes input processing in which input image data P0 including the printed circuit board 13 as illustrated in FIG. 2A is captured and stored in the image storage unit 8. Then, the first processor 6 extracts the input image data P0 from the image storage unit 8, and sets the input image data P0 as a value of 0 if each pixel value is smaller than a predetermined threshold value, and a value of 1 if the pixel value is larger than FIG. A binarization process for rewriting the binarized image data P1 as shown in b) is executed. As a result, in the image data P1, the pixel corresponding to the extraction target 15 on the printed circuit board 13 has the value “1” (one value) of the two values “0, 1”, and the other pixels Of the two values “0, 1”, the value is “0” (the other value). Note that the pixel corresponding to the extraction object 15 has a value of “0” (one value) of the two values “0, 1”, and the other pixels are “0, 1” of the two values “0, 1”. The input image data may be binarized so as to have a value of “1” (the other value). Here, a case where one value is “1” and the other value is “0” will be described.

図3は、第1実施形態のラベリング処理を説明するための図である。なお、図3(a)において、2値化された画像データP1における一方の値「1」の画素以外の画素が、他方の値「0」の画素である。   FIG. 3 is a diagram for explaining a labeling process according to the first embodiment. In FIG. 3A, pixels other than the pixel having one value “1” in the binarized image data P1 are pixels having the other value “0”.

第1のプロセッサ6は、図3(a)に示すように、2値化された画像データP1において注目画素Aを主走査方向(X軸方向)及び主走査方向と直交する副走査方向(Y軸方向)に、座標(0,0)から座標(m,n)まで走査(所謂、ラスタ走査)させる。なお、本第1実施形態では、主走査方向を画像データの横軸であるX軸方向とし、副走査方向を画像データの縦軸であるY軸方向とした。   As shown in FIG. 3A, the first processor 6 moves the pixel A of interest in the binarized image data P1 in the main scanning direction (X-axis direction) and the sub-scanning direction (Y In the axial direction, scanning is performed from the coordinates (0, 0) to the coordinates (m, n) (so-called raster scanning). In the first embodiment, the main scanning direction is the X-axis direction that is the horizontal axis of the image data, and the sub-scanning direction is the Y-axis direction that is the vertical axis of the image data.

第1のプロセッサ6は、画像データP1において注目画素Aを走査することにより、一方の値「1」である画素に対して仮ラベル番号を付与する仮ラベル付処理を1画素ずつ順次実行し、図3(b)に示す仮ラベル画像データP2を作成する。また、第1のプロセッサ6は、この仮ラベル画像データP2を作成する際に、異なる仮ラベル番号が付与された互いに隣接する画素が同一のラベル番号であることを示す図3(c)に示す接続関連テーブル1を作成する。なお、図3(b)では、仮ラベル画像データP2が作成完了した状態を図示している。また、図3(c)に示す接続関連テーブル1も、作成完了した状態を示している。この接続関連テーブル1において、一方の(左列)データは、割り当てた仮ラベル番号を示し、これに対応付けた他方の(右列)データは、左列データの仮ラベル番号と同じ連結領域(画素集合体)に属している仮ラベル番号を示している。   The first processor 6 scans the pixel of interest A in the image data P1, thereby sequentially executing a temporary labeling process for assigning a temporary label number to a pixel having one value “1”, pixel by pixel, Temporary label image data P2 shown in FIG. Further, when the first processor 6 creates this temporary label image data P2, it is shown in FIG. 3 (c) which shows that adjacent pixels assigned different temporary label numbers have the same label number. A connection related table 1 is created. FIG. 3B illustrates a state where the provisional label image data P2 has been created. In addition, the connection relation table 1 shown in FIG. In this connection relation table 1, one (left column) data indicates the assigned temporary label number, and the other (right column) data associated therewith is the same connected area (the same as the temporary label number of the left column data) The temporary label number belonging to the pixel aggregate) is shown.

ここで、第1のプロセッサ6は、仮ラベル画像データP2の作成中に1ライン(1行)全ての画素が他方の値「0」であるのを検出したら、その行の副走査方向(Y軸方向)の座標情報である座標y1を座標記憶部9に上書き記憶させる。なお、座標y1の初期値は0であり、その値が更新されることとなる。   Here, when the first processor 6 detects that all pixels in one line (one row) have the other value “0” during the creation of the temporary label image data P2, the sub-scanning direction (Y The coordinate y1 which is coordinate information in the axial direction is overwritten and stored in the coordinate storage unit 9. Note that the initial value of the coordinate y1 is 0, and the value is updated.

第2のプロセッサ7は、座標記憶部9に記憶された座標y1が更新されたら、第1のプロセッサ6の仮ラベル付処理と並行して、仮ラベル番号と本ラベル番号とを対応付けた図3(c)に示す本ラベル変換テーブル2を作成する。   The second processor 7 is a diagram in which, when the coordinate y1 stored in the coordinate storage unit 9 is updated, the temporary label number and the actual label number are associated with each other in parallel with the temporary labeling process of the first processor 6. This label conversion table 2 shown in 3 (c) is created.

そして、第2のプロセッサ7は、仮ラベル画像データP2において仮ラベル付用の注目画素(不図示)を走査する。そして、第2のプロセッサ7は、本ラベル変換テーブル2を参照して、仮ラベル番号を本ラベル番号に変換し、図3(d)に示す本ラベル画像データP3を、座標y1の画素まで作成する。これらの動作は、座標記憶部9に記憶された座標情報である座標y1がnとなるまで行われる。   Then, the second processor 7 scans a target pixel (not shown) for provisional labeling in the provisional label image data P2. Then, the second processor 7 refers to the main label conversion table 2 to convert the temporary label number into the main label number, and generates the main label image data P3 shown in FIG. To do. These operations are performed until the coordinate y1 which is the coordinate information stored in the coordinate storage unit 9 becomes n.

なお、これら画像データP2、P3は、画像データP1とは別に作成してもよいし、画像データP1の各画素に、画像データP2,P3の各画素の情報(仮ラベル番号、本ラベル番号)を付加するようにしてもよい。   The image data P2 and P3 may be created separately from the image data P1, or information on each pixel of the image data P2 and P3 (temporary label number, main label number) is included in each pixel of the image data P1. May be added.

以上、2つのプロセッサ6,7によるラベリング処理についての概略を説明したが、以下、各プロセッサ6,7によるラベリング処理の動作について具体的に説明する。図4は、CPU3の処理を示すフローチャートであり、図4(a)及び図4(b)は第1のプロセッサ6の処理を示すフローチャートである。図4(c)は第2のプロセッサ7の処理を示すフローチャートである。まず、第1のプロセッサ6の処理について説明する。   The outline of the labeling process performed by the two processors 6 and 7 has been described above. Hereinafter, the operation of the labeling process performed by the processors 6 and 7 will be described in detail. FIG. 4 is a flowchart showing the process of the CPU 3, and FIGS. 4A and 4B are flowcharts showing the process of the first processor 6. FIG. 4C is a flowchart showing the processing of the second processor 7. First, the processing of the first processor 6 will be described.

図4(a)において、まず、第1のプロセッサ6は、上述した撮像処理を実行する(S1:撮像工程)。次に、第1のプロセッサ6は、上述した2値化処理を実行する(S2:2値化処理工程)。なお、これらステップS1,S2の処理は、第2のプロセッサ7が行ってもよいし、第1のプロセッサ6及び第2のプロセッサ7が処理を分担して行ってもよい。また、CPU3で2値化処理する場合に限らず、外部から2値化処理済みの画像データを入力する場合であってもよい。   In FIG. 4A, first, the first processor 6 executes the above-described imaging process (S1: imaging process). Next, the first processor 6 executes the binarization process described above (S2: binarization process step). In addition, the process of these steps S1, S2 may be performed by the second processor 7, or the first processor 6 and the second processor 7 may share the processes. Further, not only when the CPU 3 performs binarization processing, but also when image data that has been binarized is input from the outside.

第1のプロセッサ6は、このようにして得られた画像データP1(図3(a))に対して、注目画素Aを走査させる。そして、第1のプロセッサ6は、注目画素Aが一方の値「1」である場合に、注目画素Aに一時的に仮ラベル番号を付与する仮ラベル付処理を実行する(S3:仮ラベル付手段、仮ラベル付工程)。   The first processor 6 scans the target pixel A with respect to the image data P1 (FIG. 3A) obtained in this way. Then, when the target pixel A is one value “1”, the first processor 6 executes a temporary label attaching process that temporarily assigns a temporary label number to the target pixel A (S3: With temporary label). Means, temporary labeling step).

以下、仮ラベル付処理動作について図4(b)を参照しながら、具体的に説明する。まず、第1のプロセッサ6は、注目画素Aを、座標(0,0)、(1,0)、…、(m,0)、(0,1)…と、順次走査させていく。その走査中に、第1のプロセッサ6は、注目画素Aが他方の値「0」であるか否かを判断する(S3−1)。   Hereinafter, the temporary label processing operation will be described in detail with reference to FIG. First, the first processor 6 sequentially scans the target pixel A in the coordinates (0, 0), (1, 0),..., (M, 0), (0, 1). During the scanning, the first processor 6 determines whether or not the target pixel A is the other value “0” (S3-1).

第1のプロセッサ6は、注目画素Aが他方の値「0」である場合(S3−1:Yes)には、仮ラベル番号は付与せずにそのままとする(S3−2)。第1のプロセッサ6は、注目画素Aが他方の値ではない(つまり一方の値「1」である)場合(S3−1:No)には、注目画素Aに隣接し、かつ既に走査済みである周辺画素B,Cが他方の値「0」であるか否かを判断する(S3−3)。なお、本第1実施形態では、注目画素Aに隣接する4方向の4つの画素のうち、既に走査済みである2つの画素B,Cを用いて判断するようにしている。   When the target pixel A is the other value “0” (S3-1: Yes), the first processor 6 does not assign the temporary label number and leaves it as it is (S3-2). When the target pixel A is not the other value (that is, one value “1”) (S3-1: No), the first processor 6 is adjacent to the target pixel A and has already been scanned. It is determined whether or not a certain peripheral pixel B or C is the other value “0” (S3-3). In the first embodiment, the determination is made using the two pixels B and C that have already been scanned among the four pixels in the four directions adjacent to the target pixel A.

そして、第1のプロセッサ6は、周辺画素B,Cが他方の値「0」であると判断した場合(S3−3:Yes)、注目画素Aに新しい仮ラベル番号を付与する(S3−4)。例えば、図3(b)において、仮ラベル画像データP2の画素p1〜p3には、昇べきの順に新しい仮ラベル番号「1」、「2」、「3」がそれぞれ付与されている。第1のプロセッサ6は、周辺画素B,Cの少なくとも1つの画素が一方の値「1」であると判断した場合(S3−3:No)、周辺画素B,Cのうちの仮ラベル番号が付与された周辺画素に、1種類のみの仮ラベル番号が付与されているか否かを判断する(S3−5)。   When the first processor 6 determines that the peripheral pixels B and C have the other value “0” (S3-3: Yes), the first processor 6 assigns a new temporary label number to the target pixel A (S3-4). ). For example, in FIG. 3B, new temporary label numbers “1”, “2”, and “3” are assigned to the pixels p1 to p3 of the temporary label image data P2 in ascending order. When the first processor 6 determines that at least one of the peripheral pixels B and C is one value “1” (S3-3: No), the temporary label number of the peripheral pixels B and C is It is determined whether or not only one type of temporary label number is assigned to the assigned peripheral pixels (S3-5).

そして、第1のプロセッサ6は、1種類のみの仮ラベル番号が付与されていると判断した場合(S3−5:Yes)、注目画素Aにその周辺画素B又はCに割り振られている仮ラベル番号を付与する(S3−6)。例えば、図3(b)において、仮ラベル画像データP2の画素p4には仮ラベル番号「1」、画素p5〜p7には仮ラベル番号「2」、画素p8、p9には、仮ラベル番号「3」が付与される。また、画素p10、p11には、仮ラベル番号「2」が付与される。   If the first processor 6 determines that only one type of temporary label number has been assigned (S3-5: Yes), the temporary label assigned to the pixel of interest A or its surrounding pixel B or C A number is assigned (S3-6). For example, in FIG. 3B, the temporary label number “1” is assigned to the pixel p4 of the temporary label image data P2, the temporary label number “2” is assigned to the pixels p5 to p7, and the temporary label number “2” is assigned to the pixels p8 and p9. 3 "is given. Further, the temporary label number “2” is assigned to the pixels p10 and p11.

また、第1のプロセッサ6は、複数種類の(つまり、異なる)仮ラベル番号が付与されていると判断した場合(S3−5:No)、注目画素Aに小さい方の仮ラベル番号を付与する。そして、第1のプロセッサ6は、複数の仮ラベル番号が同一の連結領域(画素集合体)に含まれることを示す接続関連テーブル1を作成し、接続関連テーブル1をテーブル記憶部10に記憶させる(S3−7)。例えば、図3(b)において、画素p12には、周辺画素の仮ラベル番号が「1」、「2」であるので、仮ラベル番号「1」が付与される。次いで、図3(c)に示す接続関連テーブル1において、仮ラベル番号「2」が、仮ラベル番号「1」と同一の連結領域であることを示す対応関係を追加し、テーブル記憶部10に記憶させる。画素p13,p14についても同様である。   When the first processor 6 determines that a plurality of types (that is, different) of temporary label numbers are assigned (S3-5: No), the first processor 6 assigns the smaller temporary label number to the pixel of interest A. . Then, the first processor 6 creates a connection relation table 1 indicating that a plurality of temporary label numbers are included in the same connected area (pixel aggregate), and stores the connection relation table 1 in the table storage unit 10. (S3-7). For example, in FIG. 3B, the temporary label number “1” is assigned to the pixel p12 because the temporary label numbers of the peripheral pixels are “1” and “2”. Next, in the connection relation table 1 shown in FIG. 3C, a correspondence indicating that the temporary label number “2” is the same connection area as the temporary label number “1” is added to the table storage unit 10. Remember. The same applies to the pixels p13 and p14.

次に、第1のプロセッサ6は、ステップS3にて画像データP1における注目画素Aの主走査方向(X軸方向)の走査を1ライン終える度に、1ライン全ての画素が2値のうちの他方の値「0」であるか否かを判断する(S4:判断手段、判断工程)。つまり第1のプロセッサ6は、注目画素Aが1行連続で他方の値「0」であるか否かを判断する。   Next, every time the first processor 6 finishes scanning one line in the main scanning direction (X-axis direction) of the pixel of interest A in the image data P1 in step S3, all pixels in one line are out of the binary values. It is determined whether or not the other value is “0” (S4: determination means, determination step). That is, the first processor 6 determines whether or not the pixel of interest A is one row continuous and the other value “0”.

次に、第1のプロセッサ6は、注目画素Aが1行連続で「0」の値であると判断した場合(S4:Yes)、その行の座標情報である座標y1を座標記憶部9に上書き記憶させる(S5:座標記憶工程)。つまり、第1のプロセッサ6は、1ライン全ての画素が他方の値「0」であると判断された画像データP1における副走査方向の座標y1を、座標記憶部9に上書き記憶させる。なお、座標y1の初期値は0であり、この値が上書き変更されることで、座標情報が更新されたこととなる。   Next, when the first processor 6 determines that the pixel of interest A has a value of “0” in a row (S4: Yes), the coordinate y1 that is the coordinate information of the row is stored in the coordinate storage unit 9. Overwrite and store (S5: coordinate storage step). That is, the first processor 6 overwrites and stores in the coordinate storage unit 9 the coordinate y1 in the sub-scanning direction in the image data P1 for which all the pixels in one line are determined to have the other value “0”. The initial value of the coordinate y1 is 0, and the coordinate information is updated by overwriting and changing this value.

第1のプロセッサ6は、注目画素Aが1行連続で「0」の値ではないと判断した場合(S4:No)、又は座標記憶部9の座標情報が更新された場合(S5)、画像データP1の全画素に注目画素Aを走査させたか否かを判断する(S6)。つまり、画像データにおける注目画素Aの走査が完了(仮ラベル付処理が完了)したか否かを判断する。第1のプロセッサ6は、注目画素Aの走査が完了していれば(S6:Yes)、処理を終了し、注目画素Aの走査が完了していなければ(S6:No)、ステップS3の処理に移行し、次の画素に注目画素Aを走査させ、仮ラベル付処理を続行する。   When the first processor 6 determines that the target pixel A is not a value of “0” in a row (S4: No), or when the coordinate information in the coordinate storage unit 9 is updated (S5), the image It is determined whether or not the pixel of interest A has been scanned for all the pixels of the data P1 (S6). That is, it is determined whether or not scanning of the pixel of interest A in the image data is completed (temporary labeling process is completed). The first processor 6 ends the process if the scanning of the target pixel A is completed (S6: Yes), and if the scanning of the target pixel A is not completed (S6: No), the process of step S3. , The next pixel is scanned with the target pixel A, and the provisional labeling process is continued.

次に、第2のプロセッサ7の動作について説明する。まず、第2のプロセッサ7は、座標記憶部9に記憶された座標情報である座標y1の更新があったか否かを判断する(S11)。第2のプロセッサ7は、座標記憶部9に記憶された座標情報の更新がないと判断した場合(S11:No)は、更新があるまで待ち受ける待機状態となる。   Next, the operation of the second processor 7 will be described. First, the second processor 7 determines whether or not the coordinate y1, which is coordinate information stored in the coordinate storage unit 9, has been updated (S11). When the second processor 7 determines that there is no update of the coordinate information stored in the coordinate storage unit 9 (S11: No), the second processor 7 enters a standby state to wait until there is an update.

第2のプロセッサ7は、更新があったと判断した場合(S11:Yes)、つまり、第1のプロセッサ6のステップS4の判断処理にて1ライン全ての画素が他方の値「0」であると判断された場合、以下の処理を実行する。この第2のプロセッサ7における以下の処理は、第1のプロセッサ6による仮ラベル付処理と並行して実行される。   When it is determined that the second processor 7 has been updated (S11: Yes), that is, in the determination processing in step S4 of the first processor 6, all the pixels in one line have the other value “0”. If determined, the following processing is executed. The following processing in the second processor 7 is executed in parallel with the temporary label attaching processing by the first processor 6.

まず、第2のプロセッサ7は、接続関連テーブル1を参照して、一方の値「1」の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル変換テーブル2(図4(c))を作成する(S12)。つまり、第2のプロセッサ7は、接続関連テーブル1を参照し、仮ラベル番号と本ラベル番号とを対応付けた本ラベル変換テーブル2を作成する。この本ラベル変換テーブル2は、テーブル記憶部10に記憶される。例えば、図3(c)の接続関連テーブル1の一方(左列)のデータである仮ラベル番号に対応する他方(右列)のデータを参照し、その番号が「0」であれば、当該仮ラベル番号に、新しい本ラベル番号を昇べきの順に割り当て、本ラベル変換テーブル2を作成する。接続関連テーブル1の仮ラベル番号に対応付けられた番号が「0」よりも大きい番号であれば、その番号の仮ラベル番号に対応付けた本ラベル番号と同一の番号を対応付け、本ラベル変換テーブル2に追加する。具体的には、接続関連テーブル1を参照すると、仮ラベル番号「1」、「2」、「3」が同一の連結領域であることが関連付けられている。したがって、仮ラベル番号「1」、「2」、「3」に本ラベル番号「1」が対応付けられ、本ラベル変換テーブル2が作成される。   First, the second processor 7 refers to the connection relation table 1 and changes the temporary label number assigned to each pixel in the connected area formed by connecting pixels having one value “1” for each connected area. This label conversion table 2 (FIG. 4C) to be replaced with the present label number is created (S12). That is, the second processor 7 refers to the connection relation table 1 and creates the main label conversion table 2 in which the temporary label number and the main label number are associated with each other. This label conversion table 2 is stored in the table storage unit 10. For example, referring to the other (right column) data corresponding to the temporary label number which is one (left column) data in the connection relation table 1 of FIG. New label numbers are assigned to the temporary label numbers in ascending order, and the book label conversion table 2 is created. If the number associated with the temporary label number in the connection relation table 1 is a number larger than “0”, the same label number as the main label number associated with the temporary label number of the number is associated, and this label conversion is performed. Add to Table 2. Specifically, referring to the connection relation table 1, it is associated that the temporary label numbers “1”, “2”, and “3” are the same connected area. Therefore, the temporary label numbers “1”, “2”, and “3” are associated with the main label number “1”, and the main label conversion table 2 is created.

次に、第2のプロセッサ7は、仮ラベル画像データP2に注目画素(不図示)を走査させて仮ラベル番号が付与された画素を抽出し、本ラベル変換テーブル2を参照して、仮ラベル番号に対応付けされた本ラベル番号に変換する(S13)。具体的には、注目画素が0であればそのまま、仮ラベル番号が付与されていれば本ラベル変換テーブル2を基に、本ラベル番号に付与し直す。これにより、本ラベル画像データP3を作成する。つまり、第2のプロセッサ7は、一方の値「1」の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する(本ラベル付手段、本ラベル付工程)。   Next, the second processor 7 scans the temporary label image data P <b> 2 with a pixel of interest (not shown), extracts a pixel assigned with a temporary label number, and refers to the present label conversion table 2 to refer to the temporary label. Conversion is made to the actual label number associated with the number (S13). Specifically, if the pixel of interest is 0, if the temporary label number is assigned, it is reassigned to the main label number based on the main label conversion table 2. Thus, the main label image data P3 is created. That is, the second processor 7 replaces the temporary label number assigned to each pixel in the connected area formed by connecting the pixels having one value “1” with a different main label number for each connected area. Is executed (this labeling means, this labeling step).

第2のプロセッサ7は、仮ラベル画像データP2において注目画素を左上の座標(0,0)からX軸方向を主走査方向、Y軸方向を副走査方向として走査していくが、座標y1の行まで走査が完了したか否かを判断する(S14)。第2のプロセッサ7は、完了していなければ(S14:No)、ステップS13の本ラベル付処理を続行する。第2のプロセッサ7は、完了していれば(S14:Yes)、画像全体で本ラベル付処理が完了したか否かを判断する(S15)。第2のプロセッサ7は、完了していれば(S15:Yes)、第2のプロセッサ7の処理動作を終了し、完了していなければ(S15:No)ステップS11の判断処理に移行する。   The second processor 7 scans the target pixel in the temporary label image data P2 from the upper left coordinate (0, 0) with the X-axis direction as the main scanning direction and the Y-axis direction as the sub-scanning direction. It is determined whether scanning is completed up to the line (S14). If not completed (S14: No), the second processor 7 continues the process with the label in step S13. If completed (S14: Yes), the second processor 7 determines whether or not the labeling process is completed for the entire image (S15). The second processor 7 ends the processing operation of the second processor 7 if completed (S15: Yes), and proceeds to the determination process in step S11 if not completed (S15: No).

第1のプロセッサ6及び第2のプロセッサ7によるラベリング処理動作について、更に別の例を挙げて説明する。図5は、ラベリング処理の別の例を説明するための図である。この図5には、他方の値「0」の背景の中に、一方の値「1」を持った連結領域が3つ存在する画像データを示している。なお、接続関連テーブル及び本ラベル変換テーブルの作図は省略しているが、実際は、第1のプロセッサ6が接続関連テーブルを作成し、第2のプロセッサ7が本ラベル変換テーブルを作成している。   The labeling processing operation performed by the first processor 6 and the second processor 7 will be described with another example. FIG. 5 is a diagram for explaining another example of the labeling process. FIG. 5 shows image data in which three connected regions having one value “1” exist in the background of the other value “0”. Although the drawing of the connection relation table and the label conversion table is omitted, actually, the first processor 6 creates the connection relation table and the second processor 7 creates the label conversion table.

まず、図5(a)に示すように、第1のプロセッサ6が、画像データの座標(0,0)から仮ラベル付処理を行う。なおこの場合も、画像データの走査終了する座標は、(m,n)とする。副走査方向であるY軸方向の座標y1=a0までは、連結領域は存在しないが、仮ラベル付処理及び本ラベル付処理は実行される。   First, as shown in FIG. 5A, the first processor 6 performs provisional labeling processing from the coordinates (0, 0) of the image data. In this case as well, the coordinates at which the scanning of the image data ends are (m, n). Up to the coordinate y1 = a0 in the Y-axis direction, which is the sub-scanning direction, there is no connected area, but the temporary labeling process and the main labeling process are executed.

次に、Y軸方向の座標y1=a1で1つ目の連結領域の外周端がわかるため、図5(b)に示すように、座標y1=a0+1から座標y1=a1の位置まで第2のプロセッサ7が本ラベル付処理(本ラベル画像データを作成する処理)を行う。このとき、第1のプロセッサ6は並行して次の領域の仮ラベル付処理を行う。ここで、座標記憶部9に記憶された座標情報である座標y1=a1が更新されなければ、第2のプロセッサ7は、座標y1=a1の位置まで本ラベル付処理が終了した時点で、座標記憶部9に記憶された座標y1の更新を待つ待機状態となる。   Next, since the outer peripheral edge of the first connected region is known at the coordinate y1 = a1 in the Y-axis direction, as shown in FIG. 5B, the second point from the coordinate y1 = a0 + 1 to the position of the coordinate y1 = a1 The processor 7 performs a main labeling process (a process for generating the main label image data). At this time, the first processor 6 performs provisional labeling processing for the next area in parallel. Here, if the coordinate y1 = a1 which is the coordinate information stored in the coordinate storage unit 9 is not updated, the second processor 7 determines that the coordinate processing at the time when the labeling process is completed up to the position of the coordinate y1 = a1. It will be in the standby state which waits for the update of the coordinate y1 memorize | stored in the memory | storage part 9. FIG.

次に、図5(b)に示すように、Y軸方向の座標y1=a2で再び連結領域の外周端を確認すれば、図5(c)に示すように、第2のプロセッサ7は、座標y1=a1+1から座標y1=a2まで本ラベル付処理(本ラベル画像データを作成する処理)を行う。つまり、座標y1=a1の位置まで作成して中断していた本ラベル画像データの作成作業を再開する。このとき、第2のプロセッサ7は並行して次の領域で仮ラベル付処理を行う。   Next, as shown in FIG. 5B, if the outer peripheral edge of the connection region is confirmed again at the coordinate y1 = a2 in the Y-axis direction, as shown in FIG. 5C, the second processor 7 The actual labeling process (process for generating actual label image data) is performed from the coordinate y1 = a1 + 1 to the coordinate y1 = a2. That is, the creation of the label image data that has been created and interrupted up to the position of the coordinate y1 = a1 is resumed. At this time, the second processor 7 performs provisional labeling processing in the next area in parallel.

最後に図5(d)に示すように、座標y1=n、つまり画像全体で第2のプロセッサ7による本ラベル付処理が終了すれば、ラベリング処理の完了となる。   Finally, as shown in FIG. 5 (d), the labeling process is completed when the coordinate y1 = n, that is, when the labeling process by the second processor 7 is completed for the entire image.

以上、本第1実施形態によれば、2値化された画像データP1において1行全ての画素が2値のうちの他方の値「0」であるか否かを判断することにより、一方の値「1」の画素が連結してなる連結領域の外周端を見極めている。そして、1行全ての画素が他方の値「0」であると判断したときには、既に仮ラベル番号が付与された連結領域に対して本ラベル番号を付与する本ラベル付処理を実行する。この本ラベル付処理は、画像データP1の未走査領域における残りの連結領域に仮ラベル番号を付与する仮ラベル付処理と並行して行われる。このように、画像全体の仮ラベル付処理が終了するのを待たずに、本ラベル付処理を行うことができるので、従来の方法に比べてラベリング処理が高速化する。   As described above, according to the first embodiment, in the binarized image data P1, it is determined whether all the pixels in one row are the other value “0” of the two values. The outer peripheral edge of the connected area formed by connecting the pixels having the value “1” is identified. Then, when it is determined that all the pixels in one row have the other value “0”, a main labeling process is performed in which a main label number is assigned to a connected region to which a temporary label number has already been assigned. The main labeling process is performed in parallel with the temporary labeling process for assigning temporary label numbers to the remaining connected areas in the unscanned area of the image data P1. As described above, since the main labeling process can be performed without waiting for the provisional labeling process for the entire image to be completed, the labeling process can be performed faster than the conventional method.

[第2実施形態]
次に、本発明の第2実施形態に係るラベリング処理装置によるラベリング処理の動作について説明する。なお、ラベリング処理装置の構成は、上記第1実施形態における図1のラベリング処理装置の構成と同様であり、本第2実施形態では同一の符号を付して説明する。
[Second Embodiment]
Next, the operation of the labeling process performed by the labeling apparatus according to the second embodiment of the present invention will be described. Note that the configuration of the labeling processing apparatus is the same as that of the labeling processing apparatus of FIG. 1 in the first embodiment, and in the second embodiment, the same reference numerals are used for description.

上記第1実施形態では、注目画素Aの主走査方向がX軸方向であり、副走査方向がY軸方向である場合について説明したが、画像データにおけるラベリング対象の状況に応じて、注目画素Aの主走査方向をY軸方向、副走査方向をX軸方向としてもよい。本第2実施形態では、注目画素Aの主走査方向をY軸方向、副走査方向をX軸方向とした場合について説明する。   In the first embodiment, the case where the main scanning direction of the target pixel A is the X-axis direction and the sub-scanning direction is the Y-axis direction has been described. However, the target pixel A depends on the state of the labeling target in the image data. The main scanning direction may be the Y-axis direction and the sub-scanning direction may be the X-axis direction. In the second embodiment, a case where the main scanning direction of the pixel of interest A is the Y-axis direction and the sub-scanning direction is the X-axis direction will be described.

図6は、ラベリング処理により本ラベル番号を付与する動作を説明するための図である。なお、図6(a)において、2値化された画像データP1における他方の値「0」の画素は、一方の値「1」の画素以外の画素である。   FIG. 6 is a diagram for explaining the operation of assigning the label number by the labeling process. In FIG. 6A, the other value “0” pixel in the binarized image data P1 is a pixel other than the one value “1”.

第1のプロセッサ6は、図6(a)に示すように、2値化された画像データP1において注目画素Aを主走査方向(Y軸方向)及び主走査方向と直交する副走査方向(X軸方向)に、座標(0,0)から座標(m,n)まで走査させる。   As shown in FIG. 6A, the first processor 6 moves the target pixel A in the binarized image data P1 in the main scanning direction (Y-axis direction) and the sub-scanning direction (X In the axial direction, scanning is performed from coordinates (0, 0) to coordinates (m, n).

第1のプロセッサ6は、画像データP1において注目画素Aを走査することにより、一方の値「1」である画素に対して仮ラベル番号を付与する仮ラベル付処理を1画素ずつ順次実行し、図6(b)に示す仮ラベル画像データP2を作成する。また、第1のプロセッサ6は、この仮ラベル画像データP2を作成する際に、異なる仮ラベル番号が付与された互いに隣接する画素が同一のラベル番号であることを示す図6(c)に示す接続関連テーブル17を作成する。なお、図6(b)では、仮ラベル画像データP2が作成完了した状態を図示している。また、図6(c)に示す接続関連テーブル17も、作成完了した状態を示している。   The first processor 6 scans the pixel of interest A in the image data P1, thereby sequentially executing a temporary labeling process for assigning a temporary label number to a pixel having one value “1”, pixel by pixel, Temporary label image data P2 shown in FIG. 6B is created. In addition, when the first processor 6 creates the temporary label image data P2, FIG. 6C shows that adjacent pixels assigned different temporary label numbers have the same label number. A connection related table 17 is created. FIG. 6B illustrates a state where the provisional label image data P2 has been created. In addition, the connection relation table 17 shown in FIG. 6C also shows a state where the creation is completed.

ここで、第1のプロセッサ6は、仮ラベル画像データP2の作成中に1ライン(1列)全ての画素が他方の値「0」であるのを検出したら、その列の副走査方向(X軸方向)の座標情報である座標x1を座標記憶部9に上書き記憶させる。なお、座標x1の初期値は0であり、その値が更新されることとなる。   Here, when the first processor 6 detects that all pixels in one line (one column) have the other value “0” during the creation of the temporary label image data P2, the sub-scanning direction (X The coordinate storage unit 9 overwrites and stores the coordinate x1, which is coordinate information in the axial direction). Note that the initial value of the coordinate x1 is 0, and the value is updated.

第2のプロセッサ7は、座標記憶部9に記憶された座標x1が更新されたら、第1のプロセッサ6の仮ラベル付処理と並行して、仮ラベル番号と本ラベル番号とを対応付けた図6(c)に示す本ラベル変換テーブル18を作成する。   The second processor 7 is a diagram in which, when the coordinate x1 stored in the coordinate storage unit 9 is updated, the temporary label number and the actual label number are associated with each other in parallel with the temporary labeling process of the first processor 6. This label conversion table 18 shown in 6 (c) is created.

そして、第2のプロセッサ7は、仮ラベル画像データP2において仮ラベル用の注目画素(不図示)を走査する。そして、第2のプロセッサ7は、本ラベル変換テーブル18を参照して、仮ラベル番号を本ラベル番号に変換し、図6(d)に示す本ラベル画像データP3を、座標x1の画素まで作成する。これらの動作は、座標記憶部9に記憶された座標情報である座標x1がmとなるまで行われる。   Then, the second processor 7 scans a temporary label target pixel (not shown) in the temporary label image data P2. Then, the second processor 7 refers to the main label conversion table 18, converts the temporary label number into the main label number, and generates the main label image data P3 shown in FIG. To do. These operations are performed until the coordinate x1 which is the coordinate information stored in the coordinate storage unit 9 becomes m.

以上、2つのプロセッサ6,7によるラベリング処理についての概略を説明したが、以下、各プロセッサ6,7によるラベリング処理の動作について具体的に説明する。図7は、CPU3の処理動作を示すフローチャートであり、図7(a)及び図7(b)は第1のプロセッサ6の処理動作を示すフローチャートである。図7(c)は第2のプロセッサ7の処理動作を示すフローチャートである。まず、第1のプロセッサ6の動作について説明する。   The outline of the labeling process performed by the two processors 6 and 7 has been described above. Hereinafter, the operation of the labeling process performed by the processors 6 and 7 will be described in detail. FIG. 7 is a flowchart showing the processing operation of the CPU 3, and FIGS. 7A and 7B are flowcharts showing the processing operation of the first processor 6. FIG. 7C is a flowchart showing the processing operation of the second processor 7. First, the operation of the first processor 6 will be described.

図7(a)において、まず、第1のプロセッサ6は、撮像処理を実行する(S21:撮像工程)。次に、第1のプロセッサ6は、2値化処理を実行する(S22:2値化処理工程)。なお、これらステップS21,S22の処理は、第2のプロセッサ7が行ってもよいし、第1のプロセッサ6及び第2のプロセッサ7が処理を分担して行ってもよい。また、CPU3で2値化処理する場合に限らず、外部から2値化処理済みの画像データを入力する場合であってもよい。   In FIG. 7A, first, the first processor 6 executes an imaging process (S21: imaging process). Next, the first processor 6 executes binarization processing (S22: binarization processing step). In addition, the process of these steps S21 and S22 may be performed by the second processor 7, or the first processor 6 and the second processor 7 may share the processes. Further, not only when the CPU 3 performs binarization processing, but also when image data that has been binarized is input from the outside.

第1のプロセッサ6は、このようにして得られた画像データP1(図6(a))に対して、注目画素Aを走査させる。そして、第1のプロセッサ6は、注目画素Aが一方の値「1」である場合に、注目画素Aに一時的に仮ラベル番号を付与する仮ラベル付処理を実行する(S23:仮ラベル付手段、仮ラベル付工程)。   The first processor 6 scans the target pixel A with respect to the image data P1 (FIG. 6A) obtained in this way. Then, when the target pixel A is one value “1”, the first processor 6 executes a temporary label attaching process for temporarily assigning a temporary label number to the target pixel A (S23: With temporary label). Means, temporary labeling step).

以下、仮ラベル付処理動作について図7(b)を参照しながら、具体的に説明する。まず、第1のプロセッサ6は、注目画素Aを、座標(0,0)、(0,1)、…、(0,n)、(1,0)…と、順次走査させていく。その走査中に、第1のプロセッサ6は、注目画素Aが他方の値「0」であるか否かを判断する(S23−1)。   Hereinafter, the temporary labeling processing operation will be specifically described with reference to FIG. First, the first processor 6 sequentially scans the target pixel A in the coordinates (0, 0), (0, 1),..., (0, n), (1, 0). During the scanning, the first processor 6 determines whether or not the target pixel A is the other value “0” (S23-1).

第1のプロセッサ6は、注目画素Aが他方の値「0」である場合(S23−1:Yes)には、仮ラベル番号は付与せずにそのままとする(S23−2)。第1のプロセッサ6は、注目画素Aが一方の値「1」である場合(S23−1:No)には、注目画素Aに隣接し、かつ既に走査済みである周辺画素B,Cが他方の値「0」であるか否かを判断する(S23−3)。なお、本第2実施形態では、注目画素Aに隣接する4方向の4つの画素のうち、既に走査済みである2つの画素B,Cを用いて判断するようにしている。   If the target pixel A is the other value “0” (S23-1: Yes), the first processor 6 does not assign a temporary label number and leaves it as it is (S23-2). When the target pixel A has one value “1” (S23-1: No), the first processor 6 determines that the peripheral pixels B and C that are adjacent to the target pixel A and have already been scanned are the other. It is determined whether or not the value is “0” (S23-3). In the second embodiment, determination is made using two pixels B and C that have already been scanned among the four pixels in four directions adjacent to the target pixel A.

そして、第1のプロセッサ6は、周辺画素B,Cが他方の値「0」であると判断した場合(S23−3:Yes)、注目画素Aに新しい仮ラベル番号を付与する(S23−4)。第1のプロセッサ6は、画素B,Cの少なくとも1つの画素が一方の値「1」であると判断した場合(S23−3:No)、周辺画素B,Cのうちの仮ラベル番号が付与された周辺画素に、1種類のみの仮ラベル番号が付与されているか否かを判断する(S23−5)。   When the first processor 6 determines that the peripheral pixels B and C are the other value “0” (S23-3: Yes), the first processor 6 assigns a new temporary label number to the target pixel A (S23-3). ). When the first processor 6 determines that at least one of the pixels B and C has one value “1” (S23-3: No), the temporary label number of the peripheral pixels B and C is assigned. It is determined whether or not only one type of temporary label number is assigned to the peripheral pixels (S23-5).

そして、第1のプロセッサ6は、1種類のみの仮ラベル番号が付与されていると判断した場合(S23−5:Yes)、注目画素Aにその周辺画素B又はCに割り振られている仮ラベル番号を付与する(S23−6)。   If the first processor 6 determines that only one type of temporary label number has been assigned (S23-5: Yes), the temporary label assigned to the pixel of interest A or its peripheral pixel B or C A number is assigned (S23-6).

また、第1のプロセッサ6は、複数種類の(つまり、異なる)仮ラベル番号が付与されていると判断した場合(S23−5:No)、注目画素Aに小さい方の仮ラベル番号を付与する。そして、第1のプロセッサ6は、複数の仮ラベル番号が同一の連結領域に含まれることを示す接続関連テーブル17を作成し、接続関連テーブル17をテーブル記憶部10に記憶させる(S23−7)。   Further, when the first processor 6 determines that a plurality of types (that is, different) of temporary label numbers are assigned (S23-5: No), the first processor 6 assigns the smaller temporary label number to the target pixel A. . Then, the first processor 6 creates a connection relation table 17 indicating that a plurality of temporary label numbers are included in the same connection area, and stores the connection relation table 17 in the table storage unit 10 (S23-7). .

次に、第1のプロセッサ6は、ステップS23にて画像データP1における注目画素Aの主走査方向(Y軸方向)の走査を1ライン終える度に、1ライン全ての画素が2値のうちの他方の値「0」であるか否かを判断する(S24:判断手段、判断工程)。つまり第1のプロセッサ6は、注目画素Aが1列連続で他方の値「0」であるか否かを判断する。   Next, every time the first processor 6 finishes scanning one line in the main scanning direction (Y-axis direction) of the target pixel A in the image data P1 in step S23, all the pixels in one line are out of the binary values. It is determined whether or not the other value is “0” (S24: determination means, determination step). That is, the first processor 6 determines whether or not the target pixel A is one column continuous and the other value “0”.

次に、第1のプロセッサ6は、注目画素Aが1列連続で「0」の値であると判断した場合(S24:Yes)、その列の座標情報である座標x1を座標記憶部9に上書き記憶させる(S25:座標記憶工程)。つまり、第1のプロセッサ6は、1ライン全ての画素が他方の値「0」であると判断された画像データP1における副走査方向の座標x1を、座標記憶部9に上書き記憶させる。なお、座標x1の初期値は0であり、この値が上書き変更されることで、座標情報が更新されたこととなる。   Next, when the first processor 6 determines that the pixel of interest A has a value of “0” in one column continuously (S24: Yes), the coordinate x1 that is the coordinate information of the column is stored in the coordinate storage unit 9. Overwrite and store (S25: coordinate storage step). That is, the first processor 6 overwrites and stores in the coordinate storage unit 9 the coordinates x1 in the sub-scanning direction in the image data P1 for which all the pixels in one line are determined to have the other value “0”. The initial value of the coordinate x1 is 0, and the coordinate information is updated by overwriting and changing this value.

第1のプロセッサ6は、注目画素Aが1列連続で「0」の値ではないと判断した場合(S24:No)、又は座標記憶部9の座標情報が更新された場合(S25)、画像データP1の全画素に注目画素Aを走査させたか否かを判断する(S26)。つまり、画像データにおける注目画素Aの走査が完了(仮ラベル付処理が完了)したか否かを判断する。第1のプロセッサ6は、注目画素Aの走査が完了していれば(S26:Yes)、処理を終了し、注目画素Aの走査が完了していなければ(S26:No)、ステップS23の処理に移行し、次の画素に注目画素Aを走査させ、仮ラベル付処理を続行する。   When the first processor 6 determines that the pixel of interest A is not a value of “0” in a row (S24: No), or when the coordinate information in the coordinate storage unit 9 is updated (S25), the image It is determined whether or not the pixel of interest A has been scanned for all the pixels of the data P1 (S26). That is, it is determined whether or not scanning of the pixel of interest A in the image data is completed (temporary labeling process is completed). The first processor 6 ends the process if the scanning of the target pixel A is completed (S26: Yes), and if the scanning of the target pixel A is not completed (S26: No), the process of step S23. , The next pixel is scanned with the target pixel A, and the provisional labeling process is continued.

次に、第2のプロセッサ7の動作について説明する。まず、第2のプロセッサ7は、座標記憶部9に記憶された座標情報である座標x1の更新があったか否かを判断する(S31)。第2のプロセッサ7は、座標記憶部9に記憶された座標情報の更新がないと判断した場合(S31:No)は、更新があるまで待ち受ける待機状態となる。   Next, the operation of the second processor 7 will be described. First, the second processor 7 determines whether or not the coordinate x1, which is the coordinate information stored in the coordinate storage unit 9, has been updated (S31). When the second processor 7 determines that there is no update of the coordinate information stored in the coordinate storage unit 9 (S31: No), the second processor 7 enters a standby state where it waits until there is an update.

第2のプロセッサ7は、更新があったと判断した場合(S31:Yes)、つまり、第1のプロセッサ6のステップS24の判断処理にて1ライン全ての画素が他方の値「0」であると判断された場合、以下の処理を実行する。この第2のプロセッサ7における以下の処理は、第1のプロセッサ6による仮ラベル付処理と並行して実行される。   When the second processor 7 determines that there has been an update (S31: Yes), that is, in the determination process of step S24 of the first processor 6, all the pixels in one line have the other value “0”. If determined, the following processing is executed. The following processing in the second processor 7 is executed in parallel with the temporary label attaching processing by the first processor 6.

まず、第2のプロセッサ7は、接続関連テーブル17を参照して、一方の値「1」の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル変換テーブル18を作成する(S32)。つまり、第2のプロセッサ7は、接続関連テーブル1を参照し、仮ラベル番号と本ラベル番号とを対応付けた本ラベル変換テーブル18を作成する。この本ラベル変換テーブル18は、テーブル記憶部10に記憶される。   First, the second processor 7 refers to the connection relation table 17, and the temporary label number assigned to each pixel of the connected area formed by connecting pixels having one value “1” is different for each connected area. The actual label conversion table 18 to be replaced with the actual label number is created (S32). That is, the second processor 7 refers to the connection relation table 1 and creates the main label conversion table 18 in which the temporary label number and the main label number are associated with each other. The main label conversion table 18 is stored in the table storage unit 10.

次に、第2のプロセッサ7は、仮ラベル画像データP2に注目画素(不図示)を走査させて仮ラベル番号が付与された画素を抽出し、本ラベル変換テーブル18を参照して、仮ラベル番号に対応付けされた本ラベル番号に変換する(S33)。これにより、本ラベル画像データP3を作成する。つまり、第2のプロセッサ7は、一方の値「1」の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する(本ラベル付手段、本ラベル付工程)。   Next, the second processor 7 scans the temporary label image data P2 with a pixel of interest (not shown) to extract a pixel to which a temporary label number is assigned, and refers to the present label conversion table 18 to refer to the temporary label. Conversion is made to the actual label number associated with the number (S33). Thus, the main label image data P3 is created. That is, the second processor 7 replaces the temporary label number assigned to each pixel in the connected area formed by connecting the pixels having one value “1” with a different main label number for each connected area. Is executed (this labeling means, this labeling step).

第2のプロセッサ7は、仮ラベル画像データP2において注目画素を左上の座標(0,0)からY軸方向を主走査方向、X軸方向を副走査方向として走査していくが、座標x1の行まで走査が完了したか否かを判断する(S34)。第2のプロセッサ7は、完了していなければ(S34:No)、ステップS33の本ラベル付処理を続行する。第2のプロセッサ7は、完了していれば(S34:Yes)、画像全体で本ラベル付処理が完了したか否かを判断する(S35)。第2のプロセッサ7は、完了していれば(S35:Yes)、第2のプロセッサ7の処理動作を終了し、完了していなければ(S35:No)ステップS31の判断処理に移行する。   The second processor 7 scans the target pixel in the temporary label image data P2 from the upper left coordinate (0, 0) with the Y-axis direction as the main scanning direction and the X-axis direction as the sub-scanning direction. It is determined whether or not scanning has been completed up to the line (S34). If not completed (S34: No), the second processor 7 continues the process with the label in step S33. If completed (S34: Yes), the second processor 7 determines whether or not the labeling process is completed for the entire image (S35). The second processor 7 terminates the processing operation of the second processor 7 if completed (S35: Yes), and proceeds to the determination process in step S31 if not completed (S35: No).

以上、本第2施形態によれば、2値化された画像データP1において1列全ての画素が2値のうちの他方の値「0」であるか否かを判断することにより、一方の値「1」の画素が連結してなる連結領域の外周端を見極めている。そして、1列全ての画素が他方の値「0」であると判断したときには、既に仮ラベル番号が付与された連結領域に対して本ラベル番号を付与する本ラベル付処理を実行する。この本ラベル付処理は、画像データP1の未走査領域における残りの連結領域に仮ラベル番号を付与する仮ラベル付処理と並行して行われる。このように、画像全体の仮ラベル付処理が終了するのを待たずに、本ラベル付処理を行うことができるので、従来の方法に比べてラベリング処理が高速化する。特に、縦長の連結領域、行方向に離散した連結領域群がある画像に対してより高速なラベリング処理を施すことができる。   As described above, according to the second embodiment, by determining whether or not all the pixels in one column in the binarized image data P1 have the other value “0” of the two values, The outer peripheral edge of the connected area formed by connecting the pixels having the value “1” is identified. Then, when it is determined that all the pixels in one column have the other value “0”, the main labeling process for assigning the main label number to the connected region to which the temporary label number has already been assigned is executed. The main labeling process is performed in parallel with the temporary labeling process for assigning temporary label numbers to the remaining connected areas in the unscanned area of the image data P1. As described above, since the main labeling process can be performed without waiting for the provisional labeling process for the entire image to be completed, the labeling process can be performed faster than the conventional method. In particular, a faster labeling process can be performed on an image having a vertically long connected region and a group of connected regions dispersed in the row direction.

[第3実施形態]
次に、本発明の第3実施形態に係るラベリング処理装置によるラベリング処理の動作について説明する。なお、ラベリング処理装置の構成は、上記第1実施形態における図1のラベリング処理装置の構成と同様であり、本第3実施形態では同一の符号を付して説明する。
[Third Embodiment]
Next, the operation of the labeling process performed by the labeling apparatus according to the third embodiment of the present invention will be described. The configuration of the labeling processing apparatus is the same as the configuration of the labeling processing apparatus of FIG. 1 in the first embodiment, and in the third embodiment, the same reference numerals are used for explanation.

図8は、ラベリング処理により本ラベル番号を付与する動作を説明するための図である。なお、図8(a)において、2値化された画像データP1における他方の値「0」の画素は、一方の値「1」の画素以外の画素である。   FIG. 8 is a diagram for explaining the operation of assigning the label number by the labeling process. In FIG. 8A, the other value “0” pixel in the binarized image data P1 is a pixel other than the one value “1”.

上記第1、第2実施形態では、注目画素Aに隣接する周辺画素として、4近傍のうちの2つの周辺画素B,Cを用いて連結する連結領域を規定し、注目画素に対して斜め方向に隣接する画素は、同一の連結領域に含めないようにしていた。本第3実施形態では、注目画素Aに隣接し、且つ既に走査済みである画素B,C,D,Eを周辺画素としている。つまり、注目画素Aの8近傍のうち4つの周辺画素B,C,D,Eを用いて連結する連結領域を規定している。   In the first and second embodiments, as a peripheral pixel adjacent to the target pixel A, a connection region that is connected using two peripheral pixels B and C of the four neighbors is defined, and the diagonal direction with respect to the target pixel Pixels adjacent to are not included in the same connection region. In the third embodiment, pixels B, C, D, and E that are adjacent to the target pixel A and have already been scanned are used as peripheral pixels. That is, the connection area | region which connects using four surrounding pixels B, C, D, and E among the 8 vicinity of the attention pixel A is prescribed | regulated.

第1のプロセッサ6は、図8(a)に示すように、2値化された画像データP1において注目画素Aを主走査方向(X軸方向)及び主走査方向と直交する副走査方向(Y軸方向)に、座標(0,0)から座標(m,n)まで走査させる。   As shown in FIG. 8A, the first processor 6 moves the pixel A of interest in the binarized image data P1 in the main scanning direction (X-axis direction) and the sub-scanning direction (Y In the axial direction, scanning is performed from coordinates (0, 0) to coordinates (m, n).

第1のプロセッサ6は、画像データP1において注目画素Aを走査することにより、一方の値「1」である画素に対して仮ラベル番号を付与する仮ラベル付処理を1画素ずつ順次実行し、図8(b)に示す仮ラベル画像データP2を作成する。また、第1のプロセッサ6は、この仮ラベル画像データP2を作成する際に、異なる仮ラベル番号が付与された互いに隣接する画素が同一のラベル番号であることを示す図8(c)に示す接続関連テーブル19を作成する。なお、図8(b)では、仮ラベル画像データP2が作成完了した状態を図示している。また、図8(c)に示す接続関連テーブル19も、作成完了した状態を示している。   The first processor 6 scans the pixel of interest A in the image data P1, thereby sequentially executing a temporary labeling process for assigning a temporary label number to a pixel having one value “1”, pixel by pixel, Temporary label image data P2 shown in FIG. Further, when the first processor 6 creates this temporary label image data P2, it is shown in FIG. 8C that shows that adjacent pixels assigned different temporary label numbers have the same label number. A connection related table 19 is created. FIG. 8B illustrates a state where the provisional label image data P2 has been created. Further, the connection relation table 19 shown in FIG. 8C also shows a state where the creation is completed.

ここで、第1のプロセッサ6は、仮ラベル画像データP2の作成中に1ライン(1行)全ての画素が他方の値「0」であるのを検出したら、その行の副走査方向(Y軸方向)の座標情報を座標記憶部9に上書き記憶させる。なお、副走査方向の座標の初期値は0であり、その値が更新されることとなる。   Here, when the first processor 6 detects that all pixels in one line (one row) have the other value “0” during the creation of the temporary label image data P2, the sub-scanning direction (Y The coordinate information in the axial direction is overwritten and stored in the coordinate storage unit 9. Note that the initial value of the coordinate in the sub-scanning direction is 0, and the value is updated.

第2のプロセッサ7は、座標記憶部9に記憶された副走査方向の座標が更新されたら、第1のプロセッサ6の仮ラベル付処理と並行して、仮ラベル番号と本ラベル番号とを対応付けた図8(c)に示す本ラベル変換テーブル20を作成する。   When the coordinates in the sub-scanning direction stored in the coordinate storage unit 9 are updated, the second processor 7 associates the temporary label number with the actual label number in parallel with the temporary label attaching process of the first processor 6. The attached label conversion table 20 shown in FIG. 8C is created.

そして、第2のプロセッサ7は、仮ラベル画像データP2において仮ラベル付用の注目画素(不図示)を走査する。そして、第2のプロセッサ7は、本ラベル変換テーブル20を参照して、仮ラベル番号を本ラベル番号に変換し、図8(d)に示す本ラベル画像データP3を、座標y1の画素まで作成する。これらの動作は、座標記憶部9に記憶された座標情報である座標y1がnとなるまで行われる。   Then, the second processor 7 scans a target pixel (not shown) for provisional labeling in the provisional label image data P2. Then, the second processor 7 refers to the main label conversion table 20, converts the temporary label number into the main label number, and generates the main label image data P3 shown in FIG. To do. These operations are performed until the coordinate y1 which is the coordinate information stored in the coordinate storage unit 9 becomes n.

なお、注目画素Aの主走査方向がY軸方向であり、副走査方向がX軸方向であっても同様であり、その場合の周辺画素B,C,D,Eは、図8(e)のようになる。   The same applies when the main scanning direction of the pixel of interest A is the Y-axis direction and the sub-scanning direction is the X-axis direction, and the peripheral pixels B, C, D, and E in that case are shown in FIG. become that way.

以上、2つのプロセッサ6,7によるラベリング処理についての概略を説明したが、以下、各プロセッサ6,7によるラベリング処理の動作について具体的に説明する。本第3実施形態では、各プロセッサ6,7の動作は、図4のステップS3における仮ラベル付処理の動作、図7のステップS23における仮ラベル付処理の動作以外は同一であるので、第1のプロセッサ6による仮ラベル処理のみ説明する。   The outline of the labeling process performed by the two processors 6 and 7 has been described above. Hereinafter, the operation of the labeling process performed by the processors 6 and 7 will be described in detail. In the third embodiment, the operations of the processors 6 and 7 are the same except for the operation of the temporary labeling process in step S3 of FIG. 4 and the operation of the temporary labeling process in step S23 of FIG. Only the temporary label processing by the processor 6 will be described.

以下、仮ラベル付処理動作について図9を参照しながら、具体的に説明する。まず、第1のプロセッサ6は、注目画素Aが他方の値「0」であるか否かを判断する(S43−1)。   Hereinafter, the temporary label processing operation will be described in detail with reference to FIG. First, the first processor 6 determines whether or not the target pixel A is the other value “0” (S43-1).

第1のプロセッサ6は、注目画素Aが他方の値「0」である場合(S43−1:Yes)には、仮ラベル番号は付与せずにそのままとする(S43−2)。第1のプロセッサ6は、注目画素Aが一方の値「1」である場合(S43−1:No)には、周辺画素B,C,D,Eが他方の値「0」であるか否かを判断する(S43−3)。   When the target pixel A is the other value “0” (S43-1: Yes), the first processor 6 does not assign the temporary label number and leaves it as it is (S43-2). When the target pixel A has one value “1” (S43-1: No), the first processor 6 determines whether the surrounding pixels B, C, D, and E have the other value “0”. Is determined (S43-3).

そして、第1のプロセッサ6は、周辺画素B,C,D,Eが他方の値「0」であると判断した場合(S43−3:Yes)、注目画素Aに新しい仮ラベル番号を付与する(S43−4)。第1のプロセッサ6は、画素B〜Eの少なくとも1つの画素が一方の値「1」であると判断した場合(S43−3:No)、周辺画素B〜Eのうちの仮ラベル番号が付与された周辺画素に、1種類のみの仮ラベル番号が付与されているか否かを判断する(S43−5)。   When the first processor 6 determines that the peripheral pixels B, C, D, and E are the other value “0” (S43-3: Yes), the first processor 6 assigns a new temporary label number to the target pixel A. (S43-4). When the first processor 6 determines that at least one of the pixels B to E has one value “1” (S43-3: No), the temporary label number of the peripheral pixels B to E is assigned. It is determined whether or not only one type of temporary label number is given to the peripheral pixels that have been assigned (S43-5).

そして、第1のプロセッサ6は、1種類のみの仮ラベル番号が付与されていると判断した場合(S43−5:Yes)、注目画素Aにその周辺画素B〜Eに割り振られている仮ラベル番号を付与する(S43−6)。   When the first processor 6 determines that only one type of temporary label number has been assigned (S43-5: Yes), the temporary label assigned to the pixel of interest A and its peripheral pixels B to E A number is assigned (S43-6).

また、第1のプロセッサ6は、複数種類の(つまり、異なる)仮ラベル番号が付与されていると判断した場合(S43−5:No)、注目画素Aに小さい方の仮ラベル番号を付与する。そして、第1のプロセッサ6は、複数の仮ラベル番号が同一の連結領域に含まれることを示す接続関連テーブル19を作成し、接続関連テーブル19をテーブル記憶部10に記憶させる(S43−7)。   Further, when the first processor 6 determines that a plurality of types (that is, different) of temporary label numbers are assigned (S43-5: No), the first processor 6 assigns the smaller temporary label number to the target pixel A. . Then, the first processor 6 creates a connection relation table 19 indicating that a plurality of temporary label numbers are included in the same connection area, and stores the connection relation table 19 in the table storage unit 10 (S43-7). .

以上、本第3実施形態では、上記第1及び第2実施形態と仮ラベル付処理が異なるものの、本ラベル付処理は上記第1及び第2実施形態と同様に、第2のプロセッサ7にて並列して行っているので、上記第1及び第2実施形態と同様の効果を奏する。   As described above, in the third embodiment, although the process with a temporary label is different from the first and second embodiments, the process with a label is performed by the second processor 7 as in the first and second embodiments. Since it is performed in parallel, the same effects as those of the first and second embodiments are obtained.

なお、上記第1〜第3実施形態に基づいて本発明を説明したが、本発明はこれに限定されるものではない。上記第1〜第3実施形態では、第1のプロセッサ6におけるステップS5,S25の処理で座標記憶部9に座標情報を記憶させ、第2のプロセッサ7におけるステップS11、S31の処理で座標記憶部9の座標情報が更新されたか否かを判断するようにした。しかし、本発明はこれに限定するものではなく、第1のプロセッサ6におけるステップS5,S25の処理で、第2のプロセッサ7に、座標情報を示す信号を出力するようにしてもよい。この場合、第2のプロセッサ7は、ステップS11,S31で座標情報を示す信号を入力したか否かを判断すればよい。そして、第2のプロセッサ7は、座標情報を示す信号を入力したときに、座標情報の示す位置まで本ラベル付処理を行えばよい。   In addition, although this invention was demonstrated based on the said 1st-3rd embodiment, this invention is not limited to this. In the said 1st-3rd embodiment, coordinate information is memorize | stored in the coordinate memory | storage part 9 by the process of step S5, S25 in the 1st processor 6, and a coordinate memory | storage part is processed by the process of step S11, S31 in the 2nd processor 7. Whether or not the coordinate information 9 has been updated is determined. However, the present invention is not limited to this, and a signal indicating coordinate information may be output to the second processor 7 in the processing of steps S5 and S25 in the first processor 6. In this case, the second processor 7 may determine whether or not a signal indicating coordinate information is input in steps S11 and S31. And the 2nd processor 7 should just perform this labeling process to the position which coordinate information shows, when the signal which shows coordinate information is input.

また、上記第1〜第3実施形態では、仮ラベル付処理として1例を示したが、別のアルゴリズムに基づいて仮ラベル番号を付与する場合であってもよい。また、本ラベル付についても同様に、別のアルゴリズムに基づいて本ラベル番号を付与する場合であってもよい。   Moreover, in the said 1st-3rd embodiment, although an example was shown as a process with a temporary label, the case where a temporary label number is provided based on another algorithm may be sufficient. Similarly, with the real label, the real label number may be assigned based on another algorithm.

3…CPU、4…メモリ、6…第1のプロセッサ(仮ラベル付手段、判断手段)、7…第2のプロセッサ(本ラベル付手段)、8…画像記憶部、9…座標記憶部(座標記憶手段)、10…テーブル記憶部、11…カメラ、12…画像処理部、100…ラベリング処理装置 DESCRIPTION OF SYMBOLS 3 ... CPU, 4 ... Memory, 6 ... 1st processor (temporary label attaching means, judgment means), 7 ... 2nd processor (this label attaching means), 8 ... Image storage part, 9 ... Coordinate storage part (coordinates) Storage means), 10 ... Table storage unit, 11 ... Camera, 12 ... Image processing unit, 100 ... Labeling processing device

Claims (4)

2値化された画像データにおいて注目画素を主走査方向及び前記主走査方向と直交する副走査方向に走査させて、前記注目画素が2値のうちの一方の値の画素である場合に、前記注目画素に一時的に仮ラベル番号を付与する仮ラベル付処理を実行する仮ラベル付手段と、
前記仮ラベル付手段による前記注目画素の主走査方向の走査を1ライン終える度に、1ライン全ての画素が2値のうちの他方の値であるか否かを判断する判断手段と、
前記判断手段により1ライン全ての画素が前記他方の値であると判断されたとき、前記仮ラベル付手段による前記仮ラベル付処理と並行して、前記一方の値の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する本ラベル付手段と、を備えたことを特徴とするラベリング処理装置。
When the pixel of interest is scanned in the main scanning direction and the sub-scanning direction orthogonal to the main scanning direction in the binarized image data, and the pixel of interest is one of the two values, Temporary label attaching means for executing a temporary label attaching process for temporarily assigning a temporary label number to the target pixel;
Determining means for determining whether or not all pixels in one line are the other of the two values each time scanning of the target pixel in the main scanning direction by the temporary labeling means is completed;
A connection formed by connecting the pixels of the one value in parallel with the temporary labeling process by the temporary labeling means when all the pixels of one line are determined to be the other value by the determination means. A labeling processing apparatus comprising: a main labeling unit that executes a main labeling process that replaces a temporary label number assigned to each pixel in a region with a main label number that is different for each connected region.
前記判断手段により1ライン全ての画素が前記他方の値であると判断された前記画像データにおける前記副走査方向の座標情報を上書き記憶する座標記憶手段を備え、
前記本ラベル付手段は、前記座標記憶手段に記憶された前記座標情報の示す位置まで前記本ラベル付処理を実行することを特徴とする請求項1に記載のラベリング処理装置。
Coordinate storage means for overwriting and storing coordinate information in the sub-scanning direction in the image data in which all pixels in one line are determined to be the other value by the determination means,
The labeling processing apparatus according to claim 1, wherein the main labeling unit executes the main labeling process up to a position indicated by the coordinate information stored in the coordinate storage unit.
2値化された画像データにおいて注目画素を主走査方向及び前記主走査方向と直交する副走査方向に走査させて、前記注目画素が2値のうちの一方の値の画素である場合に、前記注目画素に一時的に仮ラベル番号を付与する仮ラベル付処理を実行する仮ラベル付工程と、
前記仮ラベル付工程にて前記注目画素の主走査方向の走査を1ライン終える度に、1ライン全ての画素が2値のうちの他方の値であるか否かを判断する判断工程と、
前記判断工程にて1ライン全ての画素が前記他方の値であると判断されたとき、前記仮ラベル付工程における前記仮ラベル付処理と並行して、前記一方の値の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する本ラベル付工程と、を備えたことを特徴とするラベリング処理方法。
When the pixel of interest is scanned in the main scanning direction and the sub-scanning direction orthogonal to the main scanning direction in the binarized image data, and the pixel of interest is one of the two values, A temporary labeling step for executing a temporary labeling process for temporarily assigning a temporary label number to the pixel of interest;
A determination step of determining whether or not all pixels in one line are the other of the two values each time scanning of the pixel of interest in the main scanning direction is completed in the temporary labeling step;
When it is determined in the determination step that all pixels in one line have the other value, the pixels having the one value are connected in parallel with the temporary labeling process in the temporary labeling step. A labeling processing method, comprising: a main labeling step of executing a main labeling process in which a temporary label number assigned to each pixel of a connection area is replaced with a different main label number for each connection area.
前記判断工程にて1ライン全ての画素が前記他方の値であると判断された前記画像データにおける前記副走査方向の座標情報を座標記憶手段に上書き記憶させる座標記憶工程を備え、
前記本ラベル付工程では、前記座標記憶手段に記憶された前記座標情報の示す位置まで前記本ラベル付処理を実行することを特徴とする請求項3に記載のラベリング処理方法。
A coordinate storage step of overwriting and storing in the coordinate storage means coordinate information in the sub-scanning direction in the image data in which all pixels in one line are determined to be the other value in the determination step;
The labeling processing method according to claim 3, wherein in the main labeling step, the main labeling processing is executed up to a position indicated by the coordinate information stored in the coordinate storage unit.
JP2011023682A 2011-02-07 2011-02-07 Labeling processing apparatus and labeling processing method Expired - Fee Related JP5697475B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011023682A JP5697475B2 (en) 2011-02-07 2011-02-07 Labeling processing apparatus and labeling processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011023682A JP5697475B2 (en) 2011-02-07 2011-02-07 Labeling processing apparatus and labeling processing method

Publications (2)

Publication Number Publication Date
JP2012164108A true JP2012164108A (en) 2012-08-30
JP5697475B2 JP5697475B2 (en) 2015-04-08

Family

ID=46843444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011023682A Expired - Fee Related JP5697475B2 (en) 2011-02-07 2011-02-07 Labeling processing apparatus and labeling processing method

Country Status (1)

Country Link
JP (1) JP5697475B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063270A (en) * 2013-03-22 2014-09-24 大日本网屏制造株式会社 Labeling Method, Labeling Device And Defect Inspection Device
KR101521725B1 (en) * 2013-03-22 2015-05-19 가부시키가이샤 스크린 홀딩스 Labeling method, labeling apparatus and defect inspection apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175858A (en) * 1999-12-17 2001-06-29 Fujitsu Ltd High-speed labeling system
JP2006085686A (en) * 2004-08-20 2006-03-30 Ip Flex Kk Image processing method and image processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175858A (en) * 1999-12-17 2001-06-29 Fujitsu Ltd High-speed labeling system
JP2006085686A (en) * 2004-08-20 2006-03-30 Ip Flex Kk Image processing method and image processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014044666; 美濃導彦: 並列処理シリーズ13 並列画像処理 初版 第1版, 19991228, p.151-157, 株式会社コロナ社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063270A (en) * 2013-03-22 2014-09-24 大日本网屏制造株式会社 Labeling Method, Labeling Device And Defect Inspection Device
KR101521725B1 (en) * 2013-03-22 2015-05-19 가부시키가이샤 스크린 홀딩스 Labeling method, labeling apparatus and defect inspection apparatus
CN104063270B (en) * 2013-03-22 2017-06-23 斯克林集团公司 Labeling method, tag device and flaw detection apparatus

Also Published As

Publication number Publication date
JP5697475B2 (en) 2015-04-08

Similar Documents

Publication Publication Date Title
JP4859390B2 (en) Image processing method and image processing apparatus
JP5854802B2 (en) Image processing apparatus, image processing method, and computer program
JP5849206B2 (en) Image processing apparatus, image processing method, and image processing program
US8774524B2 (en) Image processing apparatus, image processing method, and storage medium of image processing method
JP5697475B2 (en) Labeling processing apparatus and labeling processing method
JP5853466B2 (en) Image processing system and image processing program
JP6065656B2 (en) Pattern processing apparatus, pattern processing method, and pattern processing program
US10846862B2 (en) Image processing method and image processing device
KR20070035655A (en) Method for generating label information of video data
JP6786973B2 (en) Image analyzer
US10380463B2 (en) Image processing device, setting support method, and non-transitory computer-readable media
JP5325744B2 (en) Image processing apparatus and image processing program
JP6681077B2 (en) Labeling processor
JP2013065164A (en) Image processing device, image processing method, and image processing program
JP6870247B2 (en) Image analyzer
JP5370294B2 (en) Image processing device
JP5039687B2 (en) Image processing device
JP4585999B2 (en) Image processing apparatus, image processing method, and program
JP2009070250A (en) Image processor and program
JP6226206B2 (en) Image processing apparatus, image processing method, and image processing program
JP2010061581A (en) Image processing apparatus
JP5505187B2 (en) Image processing apparatus and program
KR101328233B1 (en) Labeling apparatus and method in image processing system
JP2020087356A (en) Image processor and method for processing image
JP2001307097A (en) Device and method for detecting pattern

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150210

R151 Written notification of patent or utility model registration

Ref document number: 5697475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees