KR101070051B1 - recognition method of unchangeability field in dotpattern. - Google Patents

recognition method of unchangeability field in dotpattern. Download PDF

Info

Publication number
KR101070051B1
KR101070051B1 KR1020090101772A KR20090101772A KR101070051B1 KR 101070051 B1 KR101070051 B1 KR 101070051B1 KR 1020090101772 A KR1020090101772 A KR 1020090101772A KR 20090101772 A KR20090101772 A KR 20090101772A KR 101070051 B1 KR101070051 B1 KR 101070051B1
Authority
KR
South Korea
Prior art keywords
pattern
region
searching
blob
invariant
Prior art date
Application number
KR1020090101772A
Other languages
Korean (ko)
Other versions
KR20110045280A (en
Inventor
이종춘
Original Assignee
이종춘
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 이종춘 filed Critical 이종춘
Priority to KR1020090101772A priority Critical patent/KR101070051B1/en
Publication of KR20110045280A publication Critical patent/KR20110045280A/en
Application granted granted Critical
Publication of KR101070051B1 publication Critical patent/KR101070051B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 도트 패턴에서 불변 영역을 인식하는 방법에 관한 것으로서, 더욱 상세하게는 인쇄물에 형성된 불변 영역을 포함하고 있는 도트 패턴 정보를 인식하는 도트 패턴에서 불변 영역을 인식하는 방법에 관한 것이다.The present invention relates to a method for recognizing a constant region in a dot pattern, and more particularly, to a method for recognizing a constant region in a dot pattern for recognizing dot pattern information including a constant region formed in a printed matter.

본 발명인 도트 패턴에서 불변 영역을 인식하는 방법은,The method of recognizing the constant region in the dot pattern of the present invention,

입력 영상이 주어졌을 때 패턴인식부에 의해 패턴을 인식하는 패턴인식단계;A pattern recognition step of recognizing a pattern by the pattern recognition unit when an input image is given;

상기 입력 영상에 대하여 기울기값계산부에 의해 명암도에 변화가 존재하는 기울기 성분을 분석하여 이진 영상으로 분류하는 기울기값계산단계;A gradient value calculating step of analyzing a gradient component having a change in contrast with respect to the input image by a gradient value calculator and classifying the gradient into a binary image;

상기 기울기값계산단계에 의해 이진화된 영상에 존재하는 각 블랍(Blob)의 크기와 위치 정보(중심점)를 블랍정보획득부에 의해 획득하는 블랍정보획득단계;A blob information acquisition step of acquiring the size and position information (center point) of each blob present in the binarized image by the gradient value calculating step by a blob information acquisition unit;

특정 블랍의 위치에서 특정 블랍과 유사한 값을 갖는 블랍을 클러스터링부에 의해 하나로 클러스터링하는 클러스터링단계;A clustering step of clustering blobs having values similar to the specific blobs into one by a clustering unit at a specific blob position;

각 블랍에 대하여 인접한 범위 내에 있는 블랍을 인접블랍검색부에 의해 검색하는 인접블랍검색단계;A neighboring blob search step of searching for blobs within a neighboring range for each blob by a neighboring blob search unit;

상기 입력 영상에 존재하는 패턴에서 리스트 불변 영역을 불변영역검색부에 의해 검색하는 불변영역검색단계;An invariant region searching step of searching for a list invariant region in the pattern existing in the input image by an invariant region searching unit;

상기 불변영역검색단계에 의해 검색된 리스트 불변 영역을 기준으로 왼쪽의 불변 영역과 오른쪽의 불변 영역을 2차불변영역검색부에 의해 검색하는 2차불변영역검색단계;A secondary invariant region searching step of searching for a left invariant region and a right invariant region by a secondary invariant region searching unit based on the list invariant region searched by the invariant region searching step;

상기 검색된 불변 영역을 기준으로 스캔할 수직 거리를 수직거리계산부에 의해 계산하는 수직거리계산단계;A vertical distance calculating step of calculating a vertical distance to be scanned based on the searched invariant region by a vertical distance calculator;

상기 계산된 수직 거리값과 상기 불변 영역을 가지고 패턴을 패턴해독부에 의해 해독하는 패턴해독단계;A pattern decoding step of decoding a pattern by a pattern decoding unit having the calculated vertical distance value and the constant region;

상기 입력 영상에서 여러 개의 패턴이 획득될 경우에 같은 패턴이 다수 획득된 패턴을 복수패턴획득부에 의해 획득하는 복수패턴획득단계;A plurality of pattern acquisition steps of acquiring a plurality of patterns obtained by the plurality of pattern acquisition units when a plurality of patterns are obtained from the input image;

특정 x,y의 위치에서 일정 범위 내에 검은 점이 있는지를 블랙포인트판별부에 의해 판별하는 블랙포인트판별단계;A black point discrimination step of determining, by the black point discrimination unit, whether there is a black point within a predetermined range at a specific x, y position;

상기 블랙포인트판별단계에 의해 연속적인 8개의 검은 점이 검색되었는지를 블랙포인트확인부에 의해 검색하는 리스트불변영역검색단계;를 포함하여 이루어지는 것을 특징으로 한다.And a list invariant region searching step of searching by the black point checking unit to determine whether eight consecutive black points have been searched by the black point discrimination step.

본 발명을 통해 도트 패턴에서 불변 영역을 인식하는 방법은 불변영역(즉 고정영역)을 정의하여 상하좌우를 판단하며, 잘못된 불변영역이 있는 경우(인식오류 혹은 인쇄오류)에 대해 안정적으로 처리할 수 있는 효과를 제공하게 된다.According to the present invention, a method of recognizing a constant region in a dot pattern may define a constant region (that is, a fixed region) to determine top, bottom, left, and right sides, and stably handle a case where an incorrect constant region exists (a recognition error or a printing error). Will provide a beneficial effect.

도트 패턴, 불변 영역, 정보 재생. Dot pattern, constant area, information playback.

Description

도트 패턴에서 불변 영역을 인식하는 방법{recognition method of unchangeability field in dotpattern.}Recognition method of unchangeability field in dotpattern.}

본 발명은 도트 패턴에서 불변 영역을 인식하는 방법에 관한 것으로서, 더욱 상세하게는 인쇄물에 형성된 불변 영역을 포함하고 있는 도트 패턴 정보를 인식하는 도트 패턴에서 불변 영역을 인식하는 방법에 관한 것이다.The present invention relates to a method for recognizing a constant region in a dot pattern, and more particularly, to a method for recognizing a constant region in a dot pattern for recognizing dot pattern information including a constant region formed in a printed matter.

이전부터 광 센서를 통해 그림책이나 게임카드에 인쇄된 바코드를 해독하여 특정 음성을 발음시키는 음성발생완구가 제안되어 왔다. In the past, a voice generating toy for deciphering a specific voice by decoding a barcode printed on a picture book or a game card through an optical sensor has been proposed.

이러한 음성발생완구는 해독된 바코드에 대응하는 음성정보를 메모리에서 읽어옴으로써 다양한 음성정보를 재생할 수 있었다.Such a voice generating toy could reproduce various voice information by reading voice information corresponding to the decoded barcode from the memory.

그러나, 이러한 바코드를 이용한 기술은 지면상에 바코드 인쇄용 전용영역을 확보하지 않으면 안되고, 또한 바코드는 정보처리 시스템이 해독하기 위한 것으로 그림책이나 서적을 보는 독자는 직접 그 코드내용을 파악하기 어렵기 때문에 한정된 지면상에 바코드가 인쇄되는 것은 독자에게는 번거로울 것일 뿐만 아니라 그림 책 등 서적의 제품가치를 떨어뜨리는 것이었다.However, such a bar code technology has to secure a dedicated area for bar code printing on the page, and the bar code is for the information processing system to decipher, and it is difficult for the reader to read the picture book or book. Printing bar codes on the page was not only cumbersome for readers, but also reduced the value of books and books.

또한, 촬상을 위한 단말기의 활용적 성격상 촬상된 이미지의 상하좌우를 판별이 불가하게 되어 별도의 고정영역을 정의하여 상하좌우를 판단하도록 하여 잘못된 고정 영역이 있는 경우(즉 인식오류 혹은 인쇄오류)에 대해 안정적으로 처리할 수 있는 기술을 요구하게 되었다. In addition, due to the practical nature of the terminal for imaging, it is impossible to determine the top, bottom, left, and right of the captured image to define a separate fixed area to determine the top, bottom, left and right, there is an incorrect fixed area (that is, recognition error or printing error) There is a need for a technology that can handle stably for.

본 발명의 목적은 인쇄물에 형성된 불변 영역을 포함하고 있는 도트 패턴 정보를 인식하도록 하는데 있다.An object of the present invention is to recognize the dot pattern information including the constant region formed in the printed matter.

본 발명의 다른 목적은 불변영역(고정영역)을 정의하여 상하좌우를 판단하며, 잘못된 불변영역이 있는 경우(인식오류 혹은 인쇄오류)에 대해 안정적으로 처리할 수 있도록 하는데 있다.Another object of the present invention is to define a constant area (fixed area) to determine the top, bottom, left and right, and to be able to stably handle a case where there is an incorrect constant area (a recognition error or a printing error).

본 발명의 또 다른 목적은 불변영역과 가용영역을 나누어 처리하도록 하여 불변영역은 상하좌우 및 정확한 도트 패턴인가를 판단하는 역할만을 수행하여 가용영역 정보(영역)를 추출할 수 있도록 하는 기능을 하며, 가용영역에는 실질적 2차원 도트 패턴을 표기하여 수치화된 정보를 획득하도록 하는데 있다. Another object of the present invention is to divide and process the invariant region and the available region so that the invariant region serves only to determine whether it is up, down, left, and right dot pattern and to extract available region information (region), In the usable area, a substantially two-dimensional dot pattern is marked to obtain digitized information.

즉, 불변영역은 가용영역의 위치를 파악하기 위한 목적을 제공하도록 하는데 있다.In other words, the constant region is intended to provide the purpose of identifying the location of the available region.

본 발명이 해결하고자 하는 과제를 달성하기 위하여,In order to achieve the problem to be solved by the present invention,

본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법은,Method for recognizing the constant region in the dot pattern according to an embodiment of the present invention,

입력 영상이 주어졌을 때 패턴인식부에 의해 패턴을 인식하는 패턴인식단계;A pattern recognition step of recognizing a pattern by the pattern recognition unit when an input image is given;

상기 입력 영상에 대하여 기울기값계산부에 의해 명암도에 변화가 존재하는 기울기 성분을 분석하여 이진 영상으로 분류하는 기울기값계산단계;A gradient value calculating step of analyzing a gradient component having a change in contrast with respect to the input image by a gradient value calculator and classifying the gradient into a binary image;

상기 기울기값계산단계에 의해 이진화된 영상에 존재하는 각 블랍(Blob)의 크기와 위치 정보(중심점)를 블랍정보획득부에 의해 획득하는 블랍정보획득단계;A blob information acquisition step of acquiring the size and position information (center point) of each blob present in the binarized image by the gradient value calculating step by a blob information acquisition unit;

특정 블랍의 위치에서 특정 블랍과 유사한 값을 갖는 블랍을 클러스터링부에 의해 하나로 클러스터링하는 클러스터링단계;A clustering step of clustering blobs having values similar to the specific blobs into one by a clustering unit at a specific blob position;

각 블랍에 대하여 인접한 범위 내에 있는 블랍을 인접블랍검색부에 의해 검색하는 인접블랍검색단계;A neighboring blob search step of searching for blobs within a neighboring range for each blob by a neighboring blob search unit;

상기 입력 영상에 존재하는 패턴에서 리스트 불변 영역을 불변영역검색부에 의해 검색하는 불변영역검색단계;An invariant region searching step of searching for a list invariant region in the pattern existing in the input image by an invariant region searching unit;

상기 불변영역검색단계에 의해 검색된 리스트 불변 영역을 기준으로 왼쪽의 불변 영역과 오른쪽의 불변 영역을 2차불변영역검색부에 의해 검색하는 2차불변영역검색단계;A secondary invariant region searching step of searching for a left invariant region and a right invariant region by a secondary invariant region searching unit based on the list invariant region searched by the invariant region searching step;

상기 검색된 불변 영역을 기준으로 스캔할 수직 거리를 수직거리계산부에 의해 계산하는 수직거리계산단계;A vertical distance calculating step of calculating a vertical distance to be scanned based on the searched invariant region by a vertical distance calculator;

상기 계산된 수직 거리값과 상기 불변 영역을 가지고 패턴을 패턴해독부에 의해 해독하는 패턴해독단계;A pattern decoding step of decoding a pattern by a pattern decoding unit having the calculated vertical distance value and the constant region;

상기 입력 영상에서 여러 개의 패턴이 획득될 경우에 같은 패턴이 다수 획득된 패턴을 복수패턴획득부에 의해 획득하는 복수패턴획득단계;A plurality of pattern acquisition steps of acquiring a plurality of patterns obtained by the plurality of pattern acquisition units when a plurality of patterns are obtained from the input image;

특정 x,y의 위치에서 일정 범위 내에 검은 점이 있는지를 블랙포인트판별부에 의해 판별하는 블랙포인트판별단계;A black point discrimination step of determining, by the black point discrimination unit, whether there is a black point within a predetermined range at a specific x, y position;

상기 블랙포인트판별단계에 의해 연속적인 8개의 검은 점이 검색되었는지를 블랙포인트확인부에 의해 검색하는 리스트불변영역검색단계;를 포함하여 이루어지는 것을 특징으로 하여 본 발명의 과제를 해결하게 된다.The list invariant region searching step of searching by the black point confirmation unit for searching whether 8 consecutive black points are searched by the black point discrimination step is solved.

이상에서 살펴본 바와 같이, 본 발명인 도트 패턴에서 불변 영역을 인식하는 방법은 불변영역(즉 고정영역)을 정의하여 상하좌우를 판단하며, 잘못된 불변영역이 있는 경우(인식오류 혹은 인쇄오류)에 대해 안정적으로 처리할 수 있는 효과를 제공하게 된다.As described above, the method of recognizing the constant region in the dot pattern according to the present invention defines a constant region (i.e., a fixed region) to determine the top, bottom, left, and right sides, and is stable in the case of an incorrect constant region (a recognition error or a printing error). It will provide an effect that can be processed by.

또한, 불변영역과 가용영역을 나누어 처리함으로써, 불변영역은 상하좌우 및 정확한 도트 패턴인가를 판단하는 역할만을 수행하여 가용영역 정보(영역)를 추출할 수 있도록 하는 기능을 수행하며, 가용영역에는 실질적 2차원 도트 패턴을 표기하여 수치화된 정보를 획득하는 효과를 제공하게 된다. In addition, by processing the constant area and the usable area separately, the constant area performs a function of extracting the usable area information (area) by performing only the role of determining whether the dot pattern is up, down, left, right, and correct. The two-dimensional dot pattern is marked to provide an effect of obtaining digitized information.

또한, 인쇄 오류에 의해 점들의 위치가 정교하지 않더라도 인식이 용이하며, 인쇄/인식오류에 의해 점들이 제거된 경우에도 연속된 도트패턴에 의해 오류 검증 가능한 효과를 제공하게 된다.In addition, even if the positions of the dots are not precise due to a printing error, the recognition is easy, and even when the dots are removed by the printing / recognition error, an error verifiable effect is provided by the continuous dot pattern.

상기 과제를 달성하기 위한 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법은,Method for recognizing a constant region in a dot pattern according to an embodiment of the present invention for achieving the above object,

입력 영상이 주어졌을 때 패턴인식부에 의해 패턴을 인식하는 패턴인식단계;A pattern recognition step of recognizing a pattern by the pattern recognition unit when an input image is given;

상기 입력 영상에 대하여 기울기값계산부에 의해 명암도에 변화가 존재하는 기울기 성분을 분석하여 이진 영상으로 분류하는 기울기값계산단계;A gradient value calculating step of analyzing a gradient component having a change in contrast with respect to the input image by a gradient value calculator and classifying the gradient into a binary image;

상기 기울기값계산단계에 의해 이진화된 영상에 존재하는 각 블랍(Blob)의 크기와 위치 정보(중심점)를 블랍정보획득부에 의해 획득하는 블랍정보획득단계;A blob information acquisition step of acquiring the size and position information (center point) of each blob present in the binarized image by the gradient value calculating step by a blob information acquisition unit;

특정 블랍의 위치에서 특정 블랍과 유사한 값을 갖는 블랍을 클러스터링부에 의해 하나로 클러스터링하는 클러스터링단계;A clustering step of clustering blobs having values similar to the specific blobs into one by a clustering unit at a specific blob position;

각 블랍에 대하여 인접한 범위 내에 있는 블랍을 인접블랍검색부에 의해 검색하는 인접블랍검색단계;A neighboring blob search step of searching for blobs within a neighboring range for each blob by a neighboring blob search unit;

상기 입력 영상에 존재하는 패턴에서 리스트 불변 영역을 불변영역검색부에 의해 검색하는 불변영역검색단계;An invariant region searching step of searching for a list invariant region in the pattern existing in the input image by an invariant region searching unit;

상기 불변영역검색단계에 의해 검색된 리스트 불변 영역을 기준으로 왼쪽의 불변 영역과 오른쪽의 불변 영역을 2차불변영역검색부에 의해 검색하는 2차불변영역검색단계;A secondary invariant region searching step of searching for a left invariant region and a right invariant region by a secondary invariant region searching unit based on the list invariant region searched by the invariant region searching step;

상기 검색된 불변 영역을 기준으로 스캔할 수직 거리를 수직거리계산부에 의해 계산하는 수직거리계산단계;A vertical distance calculating step of calculating a vertical distance to be scanned based on the searched invariant region by a vertical distance calculator;

상기 계산된 수직 거리값과 상기 불변 영역을 가지고 패턴을 패턴해독부에 의해 해독하는 패턴해독단계;A pattern decoding step of decoding a pattern by a pattern decoding unit having the calculated vertical distance value and the constant region;

상기 입력 영상에서 여러 개의 패턴이 획득될 경우에 같은 패턴이 다수 획득된 패턴을 복수패턴획득부에 의해 획득하는 복수패턴획득단계;A plurality of pattern acquisition steps of acquiring a plurality of patterns obtained by the plurality of pattern acquisition units when a plurality of patterns are obtained from the input image;

특정 x,y의 위치에서 일정 범위 내에 검은 점이 있는지를 블랙포인트판별부 에 의해 판별하는 블랙포인트판별단계;A black point discrimination step of determining, by the black point discrimination unit, whether a black point exists within a predetermined range at a specific x, y position;

상기 블랙포인트판별단계에 의해 연속적인 8개의 검은 점이 검색되었는지를 블랙포인트확인부에 의해 검색하는 리스트불변영역검색단계;를 포함하여 이루어지는 것을 특징으로 한다.And a list invariant region searching step of searching by the black point checking unit to determine whether eight consecutive black points have been searched by the black point discrimination step.

이때, 상기 패턴은,At this time, the pattern is,

변하지 않는 패턴을 식별할 수 있는 영역인 불변 영역과,An invariant region that is an area that can identify patterns that don't change,

패턴을 생성할 수 있는 영역인 가용 영역으로 이루어지는 것을 특징으로 한다.It is characterized by consisting of an available area which is an area capable of generating a pattern.

이때, 상기 불변 영역은,At this time, the constant region,

상단의 연속적인 8개의 블랍으로 구성되는 리스트불변영역과,A list invariant region consisting of eight consecutive blobs at the top,

왼쪽에 2개의 블랍으로 구성되는 왼쪽불변영역과,Left invariant region consisting of two blobs on the left,

오른쪽에 3개의 블랍으로 구성되는 오른쪽불변영역으로 이루어지는 것을 특징으로 한다.It is characterized by consisting of the right constant region consisting of three blobs on the right.

이때, 상기 클러스터링단계는,At this time, the clustering step,

크기가 큰 블랍에 적용되는 경우에는 스택 오우버플로우를 방지하기 위하여 인터랙티브 방식으로 전환하는 것을 특징으로 한다.When applied to a large blob, it is characterized by switching to an interactive method to prevent stack overflow.

이때, 상기 패턴은,At this time, the pattern is,

총 7 x 8 영역에서 형성되되, 불변 영역을 제외한 5 x 6 영역이 가용 영역인 것을 특징으로 한다.It is formed in a total of 7 x 8 area, except that the 5 x 6 area except the constant area is characterized in that the available area.

이때, 상기 패턴은,At this time, the pattern is,

인쇄물에 형성시키는 것을 특징으로 한다.It is characterized by forming on the printed matter.

이때, 상기 블랍정보획득단계는,At this time, the blob information acquisition step,

각각의 Blob은 공간상(Spatial)의 크기를 _BLACKDOTREGION 구조체에 의해 왼쪽, 위, 오른쪽, 그리고 아래쪽의 정보로 저장되고, Blob의 위치는 _POS구조체에 의해 Blob의 중심 좌표로 저장되는 것을 특징으로 한다.Each blob is stored in spatial size as information on the left, top, right, and bottom by the _BLACKDOTREGION structure, and the location of the blob is stored in the center coordinate of the blob by the _POS structure.

이하, 첨부된 도면을 참조하여 본 발명인 도트 패턴에서 불변 영역을 인식하는 방법의 바람직한 실시예를 상세하게 설명하도록 한다.Hereinafter, exemplary embodiments of a method of recognizing a constant region in a dot pattern according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 흐름도이다.1 is a flowchart illustrating a method of recognizing a constant region in a dot pattern according to an exemplary embodiment of the present invention.

도 2는 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 패턴 예를 나타낸 예시도이다.2 is an exemplary view showing a pattern example of a method of recognizing a constant region in a dot pattern according to an embodiment of the present invention.

일반적으로 다양한 멀티미디어 정보를 인식시키기 위하여 도트 코드 생성 알고리즘에 따라 생성된 도트를 소정의 규칙에 따라 배열한 도트 패턴이 생성된 인쇄물 등의 매체를 해독수단으로 화상 데이터로서 해독하고, 해당 도트 패턴부의 화상 데이터를 코드 데이터화하며, 해당 코드 데이터에 대응하는 멀티미디어 정보를 기억수단에서 읽어와 재생하도록 한 것이다.Generally, in order to recognize various multimedia information, a medium such as a printed matter on which a dot pattern in which dots generated according to a dot code generation algorithm are arranged according to a predetermined rule is generated, is decoded by image decoding means as image data, and an image of the corresponding dot pattern portion is generated. The data is coded, and multimedia information corresponding to the coded data is read out from the storage means and played back.

해당 도트 패턴에서 음성 등의 멀티미디어 정보란, 음성, 영상, 동영상 정보, 또는 문자, 기호 등의 가시, 가청, 가독성 정보 등을 말한다. 또한, 그 밖에 컴퓨터, 텔레비전 수상기나 라디오 방송 단말기의 동화, 음성정보, 문자정보 등을 재생시키기 위한 디지털 데이터라고도 할 수 있다.In the dot pattern, multimedia information such as voice means voice, video, video information, or visible, audible, or readable information such as text and symbols. In addition, it can also be referred to as digital data for reproducing a moving picture, voice information, text information, etc. of a computer, a television receiver or a radio broadcasting terminal.

여기에서, 도트 패턴에는 일반적으로 기억수단에 등록된 데이터에 대응하는 코드 정보를 정의해 두어도 되고, XY 좌표값을 정의해 두게 되며, 코드 정보와 XY 좌표값을 혼재시켜 두어도 된다. In the dot pattern, code information corresponding to data registered in the storage means is generally defined, XY coordinate values may be defined, and code information and XY coordinate values may be mixed.

본 발명에서 설명하고 있는 패턴은 도 2에 도시한 바와 같이, 불변 영역과 가용 영역으로 나뉜다. The pattern described in the present invention is divided into a constant region and an available region, as shown in FIG.

상기 불변영역은 패턴이 찍힌 인쇄물을 기반으로 패턴인식장치로부터 촬영될 때 회전 및 이동을 보완하기 위하여 선 정의된 영역이다. The constant region is a region defined in order to compensate for rotation and movement when photographed from a pattern recognition apparatus based on a printed pattern on which the pattern is imprinted.

상기 불변 영역을 잡아내는 것이 본 발명이 해결하고자 하는 과제인 것이다.It is a problem to be solved by the present invention to catch the constant region.

상기 패턴은 총 7 x 8 영역 중 불변 영역을 제외한 5 x 6 영역이 가용 영역으로 정의되며, 이 영역 안에 검은 색(블랙포인트) 점(Blob)이 존재할 때 1, 그리고 존재하지 않을 때 0의 값을 갖는 것으로 정의된다. The pattern is defined as 5 x 6 free spaces, except for the invariant area of the total 7 x 8 areas, with a value of 1 when black (black point) blobs exist in this area, and a value of 0 when not present. It is defined as having

아울러 5 x 6 영역 안에 0과 1의 값을 갖는 조합의 수를 고려할 때, 230 의 패턴 생성이 가능하다.In addition, considering the number of combinations with values of 0 and 1 in the 5 x 6 region, a pattern of 2 30 can be generated.

상기 불변 영역은 Rotation 등의 항상 변하지 않는 패턴을 식별할 수 있는 영역으로 사용되며, 사용 가능한 영역 즉, 가용 영역은 도 2에 도시한 바와 같이 빨간색 테두리 안에 있는 영역으로서 불변 영역을 제외한 영역이며 실제 패턴을 생성할 수 있는 공간으로 사용되는 것이다.The constant area is used as an area for identifying a pattern that does not change at all times, such as rotation, and the usable area, that is, the usable area is an area within the red border as shown in FIG. It is used as a space to create.

본 발명의 사용 가능 영역은 5 x 6의 공간이 있으므로 230 의 패턴이 생성 가능하다.Since the usable area of the present invention has a space of 5 x 6, a pattern of 2 30 can be generated.

도 3은 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 패턴 인식 알고리즘의 개략적인 개념을 설명한 예시도이다.3 is an exemplary view illustrating a schematic concept of a pattern recognition algorithm of a method of recognizing a constant region in a dot pattern according to an embodiment of the present invention.

즉, 입력 영상이 주어졌을 때, 전체적으로 보자면 DOM Image, AOI Detection, 그리고 Pattern Recognition 단계를 거치게 된다. In other words, when an input image is given, the image goes through DOM Image, AOI Detection, and Pattern Recognition.

상기 DOM Image에서는 입력 영상에 존재하는 명암도(Intensity or grayscale)의 큰 변화가 있는 기울기(Gradient) 성분을 잡아내는 역할을 한다. In the DOM image, a gradient component having a large change in intensity or grayscale present in the input image is captured.

원칙적으로 입력 영상 안에는 많은 잡음(Noise)를 포함하므로 입력 영상에 대한 잡음 제거 알고리즘을 시행하고, 기울기 성분을 분석하거나 또는 가우스 분포(Gaussian Distribution)의 Scale값을 변화시켜 특징을 분석하는 Scale-space 가 일반적이나, 본 발명에서는 Digital Image Processor를 지원하지 않는 즉 곱하기 또는 나누기에 최적화된 모듈을 탑재하고 있지 않은 CPU이므로 이 과정을 시행하지 않았다. In principle, the input image contains a lot of noise, so a scale-space that performs noise reduction algorithm on the input image, analyzes the gradient component, or changes the scale value of the Gaussian distribution, In general, the present invention does not implement this process because the CPU does not support the Digital Image Processor, that is, does not have a module optimized for multiplication or division.

즉 다시 말하면, 잡음 제거를 하지 않고 입력 영상은 충분히 패턴인식장치에 의해 선명하게 촬영된 영상을 가정한다.In other words, it is assumed that the input image is sufficiently clear by the pattern recognition apparatus without removing the noise.

DOM Image 분석 이후 입력 영상은 검은색과 하얀색으로 이루어진 이진 영상(Binary Image)으로 분류되며, 이때의 결과는 도 4에 도시하였다.After DOM image analysis, the input image is classified into a binary image composed of black and white, and the result is shown in FIG. 4.

도 4는 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 DOM Image 예를 나타낸 예시도이다.4 is an exemplary view showing a DOM image example of a method for recognizing a constant region in a dot pattern according to an embodiment of the present invention.

도 4의 좌측 사진은 패턴인식장치에 의해 캡쳐된 입력 영상이며, 우측 사진은 검은색 배경에 하얀색 패턴을 나타낸 사진이다.The left picture of FIG. 4 is an input image captured by the pattern recognition device, and the right picture is a picture showing a white pattern on a black background.

도 4의 검은색은 배경이 되며, 하얀색은 패턴을 형성하는 특징 정보가 된다Black of FIG. 4 becomes a background, and white becomes characteristic information which forms a pattern.

이진 영상 안에 존재하는 특징 정보를 추출하기 위하여 연결 성분을 이용한 Clustering 알고리즘을 적용한다. To extract feature information in binary image, we apply clustering algorithm using connected components.

Clustering 알고리즘은 여러 가지 방법이 있으나, 본 발명에서는 가장 연산 복잡도가 낮은 Connected-Component Analysis 알고리즘을 이용하였다. The clustering algorithm has various methods, but in the present invention, the Connected-Component Analysis algorithm having the lowest computational complexity is used.

상기 알고리즘은 흔히 Grass Labeling algorithm 이라는 이름으로도 사용된다. This algorithm is also commonly used under the name Grass Labeling algorithm.

이 알고리즘은 현재 clustering하고자 하는 위치를 기준으로 4 방향 또는 8방향으로 자신과 같은 값을 갖는(본 발명에서는 하얀색 값을 갖는 픽셀을 지칭) 화소를 하나의 clustering으로 할당한다.The algorithm allocates one clustering pixel having a value equal to its own (in the present invention, a pixel having a white value) in four or eight directions based on the current clustering position.

상기 알고리즘을 이진 영상에 존재하는 어떤 하얀색 값을 갖는 화소에 반복적으로 적용할 때 영상 안에 존재하는 모든 하얀색 값을 갖는 화소는 특정 Cluster 중 하나로 label된다. When the algorithm is repeatedly applied to a pixel having a certain white value present in a binary image, the pixel having all the white values present in the image is labeled as one of specific clusters.

얻어진 특징 정보는 코드 내 _BLACKDOTREGION 구조체로 정의된다. The feature information obtained is defined by the _BLACKDOTREGION structure in the code.

각각의 Blob 또는 Cluster는 공간상(Spatial)의 크기를 왼쪽, 위, 오른쪽, 그리고 아래쪽의 정보로 저장되고, Blob의 위치는 _POS구조체 의해 Blob의 중심 좌표로 버퍼에 저장된다. Each blob or cluster stores its spatial size as left, top, right, and bottom information, and the location of the blob is stored in the buffer at the center coordinates of the blob by the _POS structure.

Clustering에 의한 결과는 도 5와 같다. The result of clustering is shown in FIG. 5.

도 5는 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 AOI Detection의 예를 나타낸 예시도이다.5 is an exemplary view showing an example of AOI Detection of a method of recognizing a constant region in a dot pattern according to an embodiment of the present invention.

도 5의 좌측은 DOM Image이며, 우측은 AOI Detection의 결과를 나타낸 사진이다.The left side of FIG. 5 is a DOM image, and the right side is a photograph showing the result of AOI Detection.

상기 각각의 Blob은 _BLACKDOTREGION의 값을 기준으로 빨간색 사각형으로 그려져 있다. Each of the blobs is drawn with a red rectangle based on the value of _BLACKDOTREGION.

상기 영상은 Blob의 크기정보(_BLACKDOTREGION 구조체의 의해)와 중심좌표(_POS 구조체에 의해)로 표현되게 된다. The image is represented by the size information of the blob (by the _BLACKDOTREGION structure) and the center coordinate (by the _POS structure).

영상의 크기정보와 중심좌표로부터 패턴인식 알고리즘을 적용하게 된다. 본 발명의 패턴 인식의 핵심은 불변 영역을 찾아내는 것이다. The pattern recognition algorithm is applied from the size information and the center coordinate of the image. The key to pattern recognition of the present invention is to find the constant region.

불변 영역은 도 6와 같이 불변 영역 List, FixedLeft, FixedRight( _PATTERN 구조체 참조)로 구분된다.The constant region is divided into an invariant region List, FixedLeft, and FixedRight (see _PATTERN structure) as shown in FIG.

도 6은 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 불변 영역의 3가지 영역을 나타낸 예시도이다.6 is an exemplary diagram illustrating three regions of the constant region of the method of recognizing the constant region in the dot pattern according to an embodiment of the present invention.

좌측은 리스트(List) 불변 영역으로서 상단의 연속적인 8개의 Blob으로 구성되며 _PATTERN 구조체 내 List로 정의된다. The left side is a list invariant region and consists of eight consecutive blobs at the top and is defined as a List in the _PATTERN structure.

중앙은 FixedLeft 불변영역으로서 왼쪽의 불변 영역을 나타내며 총 2개의 Blob으로 구성된다. The center is a fixedleft constant region, which represents the left constant region and consists of a total of two blobs.

이 영역은 _PATTERN 구조체 내 FixedLeft[2]로 정의된다. This area is defined as FixedLeft [2] in the _PATTERN structure.

우측은 FixedRight 불변영역으로서 오른쪽의 불변 영역을 나타내며 총 3개의 Blob으로 구성된다. The right side is a FixedRight constant region, which represents the constant region on the right side and consists of a total of three blobs.

이 영역은 _PATTERN 구조체내 FixedRight[3]로 정의된다.This region is defined as FixedRight [3] in the _PATTERN structure.

상기 패턴인식 알고리즘은 맨 먼저 상단의 연속적인 8개의 Blob으로 연결 가능한 모든 영역을 찾는다.The pattern recognition algorithm first finds all regions that can be connected to eight consecutive blobs at the top.

그 다음으로는 각 후보영역의 위, 아래로 FixedLeft와 FixedRight가 검출되는지 조사하게 된다. Next, it checks whether FixedLeft and FixedRight are detected above and below each candidate area.

물론 이 과정을 통해 얻어진 최종후보는 다시 7 x 8 영역으로 Sampling되면서 유효성을 검사를 다시 거치게 된다.Of course, the final candidate obtained through this process is again sampled into the 7 x 8 area and re-validated.

도 1을 참조하여 본 발명의 방법을 구체적으로 설명하도록 하겠다.The method of the present invention will be described in detail with reference to FIG. 1.

패턴인식단계(S110)는 입력 영상이 주어졌을 때 패턴인식부에 의해 패턴을 인식하게 된다.In the pattern recognition step S110, when the input image is given, the pattern recognition unit recognizes the pattern.

상기 패턴을 인식하는 함수는 표 1에 도시한 바와 같이 unsigned int PatternRecognition2(void)이며, 함수의 리턴값은 패턴이 인식되었을 경우에 가용영역으로부터 변환된 패턴의 인덱스값을 리턴한다.The function for recognizing the pattern is unsigned int PatternRecognition2 (void), as shown in Table 1, and the return value of the function returns the index value of the pattern converted from the available area when the pattern is recognized.

Figure 112009065428851-pat00001
Figure 112009065428851-pat00001

[표1]              Table 1

기울기값계산단계(S120)는 입력 영상에 대하여 기울기값계산부에 의해 명암 도에 변화가 존재하는 기울기 성분을 분석하여 이진 영상으로 분류하게 된다.In the gradient value calculating step (S120), the gradient component having a change in contrast is analyzed by the gradient value calculator to classify the input image into a binary image.

상기 기울기 성분을 분석하는 함수는 표 2에 도시한 바와 같이 void ComputeDOMImage( )이며, 함수의 리턴값은 없다.The function for analyzing the gradient component is void ComputeDOMImage () as shown in Table 2, and there is no return value of the function.

함수의 주요 알고리즘은 입력영상의 기울기를 구하는데 있어, 본 함수에서는 X축의 기울기값만을 구하였다. The main algorithm of the function is to calculate the slope of the input image. In this function, only the slope value of the X axis is obtained.

X축의 기울기값은 현재 픽셀의 좌표를 (x,y)라 할 때, 그리고 (x,y)에 해당하는 명암도값을 I(x,y)라 정의하면, X축 기울기는 G(x,y) = I(x+1,y)-I(x,y)로 정의된다. If the slope value of the X-axis is defined as the coordinate of the current pixel (x, y) and the intensity value corresponding to (x, y) is defined as I (x, y), the X-axis slope is G (x, y). ) = I (x + 1, y) -I (x, y).

상기 값이 큰 경우는 양, 음수로 값이 커지는 것이 가능하다. When the value is large, the value can be increased positively or negatively.

본 함수에서는 G(x,y) > Threshold의 경우와 G(x,y) < - Threshold인 경우를 특징 점으로 간주하였다. In this function, G (x, y)> Threshold and G (x, y) <-Threshold are considered as feature points.

기울기의 결과값은 FastBuffer에 저장된다.The result of the slope is stored in FastBuffer.

Figure 112009065428851-pat00002
Figure 112009065428851-pat00002

Figure 112009065428851-pat00003
Figure 112009065428851-pat00003

Figure 112009065428851-pat00004
Figure 112009065428851-pat00004

[표2][Table 2]

블랍정보획득단계(S130)는 기울기값계산단계에 의해 이진화된 영상에 존재하 는 각 블랍(Blob)의 크기와 위치 정보(중심점)를 블랍정보획득부에 의해 획득하는 것이다.The blob information acquisition step S130 is to acquire the size and position information (center point) of each blob existing in the binarized image by the gradient value calculation step by the blob information acquisition unit.

상기 블랍(Blob)의 크기와 위치 정보(중심점)를 획득하는 함수는 표 3에 도시한 바와 같이, void Clustering( )이며, 함수의 리턴값은 없다.The function for obtaining the size and position information (center point) of the blob is void clustering (), as shown in Table 3, and there is no return value of the function.

ComputeDOMImage에 의해 이진화된 영상에 존재하는 각 Blob을 얻어낸다.Get each blob present in the image binarized by ComputeDOMImage.

추출된 각 Blob의 크기와 위치정보(중심점)를 얻어내어 입력 영상에 대한 기울기 값을 계산한다. The size and location information (center point) of each extracted blob are obtained and the slope value of the input image is calculated.

Blob의 크기 정보(왼쪽,오른쪽,위,아래좌표)는 BlackDotList 배열(_BLACKDOTREGION 구조체형)에 저장되고, Blob의 중심은 CenterOfBlackDot 배열(_POS 구조체)에 저장된다. Blob size information (left, right, up, down coordinates) is stored in the BlackDotList array (_BLACKDOTREGION structure type), and the center of the blob is stored in the CenterOfBlackDot array (_POS structure).

각각의 저장된 크기 즉, Blob의 크기와 중심의 개수는 nBlackDotPos에 하나씩 증가되면서 카운트된다. Each stored size, i.e., the size of the blob and the number of centers, is counted by incrementing by one in nBlackDotPos.

함수의 주요 알고리즘은 ModifiedConnectedComponentLabeling 알고리즘이 Connect-Component 알고리즘을 구현한 함수이다. The main algorithm of the function is the ModifiedConnectedComponentLabeling algorithm that implements the Connect-Component algorithm.

이 함수 내에 ModifiedConnectedComponentLabeling 알고리즘을 반복적으로 호출하는데 호출될 때마다 nBlackDotPos 값이 1씩 증가되고(호출될 때마다 하나의 Blob이 군집화됨), 이 값은 Cluster의 Index값과 동일하다. In this function, the ModifiedConnectedComponentLabeling algorithm is called repeatedly. Each time it is called, the value of nBlackDotPos is incremented by 1 (one blob is clustered each time), and this value is equal to the Index value of the cluster.

Figure 112009065428851-pat00005
Figure 112009065428851-pat00005

Figure 112009065428851-pat00006
Figure 112009065428851-pat00006

Figure 112009065428851-pat00007
Figure 112009065428851-pat00007

Figure 112009065428851-pat00008
Figure 112009065428851-pat00008

[표3][Table 3]

클러스터링단계(S140)은 특정 블랍의 위치에서 특정 블랍과 유사한 값을 갖는 블랍을 클러스터링부에 의해 하나로 클러스터링하는 것이다.Clustering step (S140) is to cluster the blobs having a value similar to the particular blob by the clustering unit into one at the position of the particular blob.

하나로 클러스터링하는 함수는 표4에 도시한 바와 같이, void ModifiedConnectedComponentLabeling( int x, int y )이며, 함수의 리턴값은 없다.As shown in Table 4, the function of clustering into one is void ModifiedConnectedComponentLabeling (int x, int y), and there is no return value of the function.

상기 함수는 Connected Component Analysis 알고리즘을 구현하는 것이며, 함수의 주요 알고리즘은 초기 Blob의 위치에서 자신과 유사한 값을 갖는 Blob을 하나로 묶는 역할을 하는 것이다.(본 발명에서는 자신의 현재 위치에서(함수의 x, y로 주어지는 위치)에서 주변의 하얀색으로 이진화된 데이터들을 묶는 역할을 함). The function implements the Connected Component Analysis algorithm, and the main algorithm of the function is to bind together a blob having a value similar to itself at the position of the initial blob (in the present invention, at its current position (x of function). , the position given by y), which binds the surrounding white binarized data).

이 함수는 재귀호출로 구현되어 있어 아주 큰 블랍을 적용하는 경우 Stack overflow의 위험이 존재하므로 이를 막기 위해서는 Stack을 이용한 형태의 iterative 방식으로 전환이 필요하다. This function is implemented as a recursive call, so there is a risk of stack overflow when a very large blob is applied. Therefore, it is necessary to switch to an iterative method using a stack to prevent this.

Figure 112009065428851-pat00009
Figure 112009065428851-pat00009

Figure 112009065428851-pat00010
Figure 112009065428851-pat00010

[표4]Table 4

인접블랍검색단계(S150)은 각 블랍에 대하여 인접한 범위 내에 있는 블랍을 인접블랍검색부에 의해 검색하는 것이다.The adjacent blob search step (S150) is to search for the blobs in the adjacent range for each blob by the adjacent blob search unit.

인접한 범위 내에 있는 블랍을 검색하는 함수는 표5에 도시한 바와 같이, void FindNeighborHood( int nSearchMargin )이며, 함수의 리턴값은 없다.The function to search for blobs in the adjacent range is void FindNeighborHood (int nSearchMargin), as shown in Table 5. There is no return value of the function.

상기 함수가 필요한 이유는 이웃을 알지 못하는 경우 하나의 Blob과 인접한 영역을 찾기 위해 항상 모든 Blob과의 거리를 비교해 봐야 하는 추가적인 연산 계산량을 필요로 하기 때문에 이에 따른 복잡도를 제거하기 위한 것이다.The reason why the function is required is to eliminate the complexity, since it requires an additional computational amount that always needs to compare the distance between all the blobs in order to find an adjacent area with one blob if the neighbor is not known.

Figure 112009065428851-pat00011
Figure 112009065428851-pat00011

Figure 112009065428851-pat00012
Figure 112009065428851-pat00012

[표5][Table 5]

불변영역검색단계(S160)은 상기 입력 영상에 존재하는 패턴에서 리스트 불변 영역을 불변영역검색부에 의해 검색하는 것이다.Invariant region search step (S160) is to search the list invariant region in the pattern existing in the input image by the invariant region search unit.

이 함수는 실제 패턴을 인식하는 함수로서 표6에 도시한 바와 같이, void RangeSearch( )이며, 함수의 리턴값은 없다.This function is a function that recognizes the actual pattern. As shown in Table 6, void RangeSearch () has no return value.

이 함수는 상기에서 설명한 바와 같이 List, FixedLeft, FixedRight 으로 정의된 불변영역을 찾는 함수이다. This function finds invariant regions defined as List, FixedLeft, and FixedRight as described above.

List, 즉 상단의 8개의 연속적인 불변영역을 찾는 함수는 FindFixedAreaHavingContinuous8BlackDots이고, 이 함수를 통해 만약 8개의 연속적인 불변영역이 검출된다면 패턴이 될 후보영역이 되고, GetPatternWithVariation 함수에 의해 FixedLeft, FixedRight 불변영역이 있는지 조사하게 된다. FindFixedAreaHavingContinuous8BlackDots is a function that finds the list, that is, the top eight consecutive invariant regions at the top, and through this function, if eight consecutive invariant regions are detected, it becomes a candidate region to be patterned. Check if there is any.

Figure 112009065428851-pat00013
Figure 112009065428851-pat00013

Figure 112009065428851-pat00014
Figure 112009065428851-pat00014

Figure 112009065428851-pat00015
Figure 112009065428851-pat00015

Figure 112009065428851-pat00016
Figure 112009065428851-pat00016

Figure 112009065428851-pat00017
Figure 112009065428851-pat00017

[표6]Table 6

2차불변영역검색단계(S170)은 상기 불변영역검색단계에 의해 검색된 리스트 불변 영역을 기준으로 왼쪽의 불변 영역과 오른쪽의 불변 영역을 2차불변영역검색부에 의해 검색하는 것이다.In the second constant region searching step (S170), the second constant region searching unit searches the left region and the right region on the basis of the list constant region searched by the constant region searching step.

이 함수는 List 불변영역을 기준으로 FixedLeft, FixedRight불변영역을 찾는 메인함수로서 표7에 도시한 바와 같이, GetPatternWithVariation(int xdiv, int ydiv, int xdiff, int ydiff)이며, 함수의 리턴값은 없다.This function is a main function that finds FixedLeft and FixedRight constant regions based on the List constant region. As shown in Table 7, GetPatternWithVariation (int xdiv, int ydiv, int xdiff, int ydiff) has no return value.

함수의 주요 알고리즘은 List불변영역의 8개의 좌표로부터 수직 으로 스캔할 공간상의 거리를 계산하는데 이 함수는 GetNormalDirection2함수를 이용한다.The main algorithm of the function calculates the spatial distance to scan vertically from the eight coordinates of the List invariant. This function uses the GetNormalDirection2 function.

GetPattern3함수는 수직으로 스캔하면서 7개의 line을 읽어들여 패턴으로 저 장하는 역할을 한다. 그리고 나서 얻은 패턴을 Verification으로 검증한다. The GetPattern3 function reads seven lines and scans them vertically and saves them as a pattern. Then verify the obtained pattern with Verification.

Figure 112009065428851-pat00018
Figure 112009065428851-pat00018

[표7]Table 7

수직거리계산단계(S180)은 상기 검색된 불변 영역을 기준으로 스캔할 수직 거리를 수직거리계산부에 의해 계산하는 것이다.In the vertical distance calculation step (S180), the vertical distance calculation unit calculates a vertical distance to be scanned based on the retrieved constant region.

이 함수는 스캔할 수직거리를 계산하는 함수로서 표8에 도시한 바와 같이, void GetNormalDirection2( LPPattern pPattern, int *pxdiff, int *pydiff, int xdiv, int ydiv )이며, 함수의 리턴값은 없다.This function calculates the vertical distance to be scanned. As shown in Table 8, void GetNormalDirection2 (LPPattern pPattern, int * pxdiff, int * pydiff, int xdiv, int ydiv) has no return value.

상기 Normal Direction이란 수직 거리 값을 의미하는 것으로 그 값을 계산하는 내용이 함수의 내용을 형성한다. The normal direction means a vertical distance value, and the content of calculating the value forms the content of the function.

Figure 112009065428851-pat00019
Figure 112009065428851-pat00019

[표8]Table 8

패턴해독단계(S190)는 상기 계산된 수직 거리값과 상기 불변 영역을 가지고 패턴을 패턴해독부에 의해 해독하는 것이다.The pattern decoding step (S190) is to decode the pattern by the pattern decoding unit having the calculated vertical distance value and the constant region.

상기 함수는 수직 거리값과 8개의 불변영역을 가지고 패턴을 읽어는 것으로서 표9에 도시한 바와 같이, void GetPattern3( LPPattern pArea, int xodiff, int yodiff, int normalx, int normaly, int type )이며, 함수의 리턴값은 없다.The function reads a pattern having a vertical distance value and eight constant regions, and as shown in Table 9, void GetPattern3 (LPPattern pArea, int xodiff, int yodiff, int normalx, int normaly, int type). There is no return value.

상기 함수는 8개의 불변영역을 기준으로 수직거리로 7번 읽어 들이면서 패턴을 저장하게 된다.The function stores the pattern by reading it seven times at a vertical distance based on eight constant regions.

Figure 112009065428851-pat00020
Figure 112009065428851-pat00020

Figure 112009065428851-pat00021
Figure 112009065428851-pat00021

Figure 112009065428851-pat00022
Figure 112009065428851-pat00022

[표9]Table 9

복수패턴획득단계(S200)은 상기 입력 영상에서 여러 개의 패턴이 획득될 경우에 같은 패턴이 다수 획득된 패턴을 복수패턴획득부에 의해 획득하는 것이다.In the multi-pattern acquisition step (S200), when a plurality of patterns are obtained from the input image, a plurality of pattern acquisition units acquire a pattern obtained by obtaining the same pattern.

즉, 여러 개의 패턴이 하나의 영상에서 얻어지는 경우, 같은 패턴이 여러 개가 나온 패턴을 선택하는 것으로서 표10에 도시한 바와 같이, SINT16 SelectPatternWithPriority( )이며, 이 함수의 리턴값은 항상 0이다.That is, when several patterns are obtained from one image, SINT16 SelectPatternWithPriority () is selected as shown in Table 10 as selecting a pattern in which several identical patterns appear, and the return value of this function is always zero.

또한, 이 함수의 결과는 같은 패턴이 2개 이하로 나온 경우, 즉 하나만 나온 경우에는 nPatternPos가 0으로 초기화 되버린다. Also, the result of this function is that nPatternPos is initialized to 0 if there are two or less identical patterns, that is, only one.

함수의 주요 알고리즘은 값은 패턴이 나오는 경우, 그때의 빈도수를 카운트 해서 가장 많이 나온 패턴값을 찾는 것이다.The function's main algorithm is to find the most frequently found pattern value by counting the frequency of the pattern when it comes out.

Figure 112009065428851-pat00023
Figure 112009065428851-pat00023

Figure 112009065428851-pat00024
Figure 112009065428851-pat00024

Figure 112009065428851-pat00025
Figure 112009065428851-pat00025

Figure 112009065428851-pat00026
Figure 112009065428851-pat00026

[표10]Table 10

블랙포인트판별단계(S210)는 특정 x,y의 위치에서 일정 범위 내에 검은 점이 있는지를 블랙포인트판별부에 의해 판별하는 것이다.The black point discrimination step S210 determines whether a black point exists within a predetermined range at a specific x and y position by the black point discrimination unit.

즉, 주어진 x, y의 위치에서 일정 SEARCHMARGIN 범위 내에 검은점이 있는지를 조사하는 것으로서 표11에 도시한 바와 같이, SINT16 IsBlackDot( int x, int y, int SEARCHMARGIN )이며, 함수의 리턴값은 범위를 벗어나면 -1을 리턴하고, 그렇지 않다면, 검은점이 아닌지를 판별하여 검은점이라면 1을, 아니라면 0을 리턴한다.That is, as shown in Table 11, SINT16 IsBlackDot (int x, int y, int SEARCHMARGIN) is to check whether there is a black point within a certain SEARCHMARGIN range at a given x and y position, and the return value of the function is out of range. If it returns -1, otherwise, it determines if it is not a black point, and returns 1 if it is a black point, or 0 if it is not.

Figure 112009065428851-pat00027
Figure 112009065428851-pat00027

[표11]Table 11

리스트불변영역검색단계(S220)는 상기 블랙포인트판별단계에 의해 연속적인 8개의 검은 점이 검색되었는지를 블랙포인트확인부에 의해 검색하는 것이다.In the list invariant region search step (S220), the black point check unit searches whether eight consecutive black points are searched by the black point discrimination step.

즉, 연속적인 8개의 점을 찾아내는 것으로서 표12에 도시한 바와 같이, UINT16 FindFixedAreaHavingContinuous8BlackDots( int x, int y, int nCount, SINT16* pList, int xdiff, int ydiff )이며, 함수의 리턴값은 찾아졌다면 1을, 그렇지 않다면 0을 리턴한다.That is, UINT16 FindFixedAreaHavingContinuous8BlackDots (int x, int y, int nCount, SINT16 * pList, int xdiff, int ydiff), as shown in Table 12 as finding eight consecutive points. Returns 0 otherwise.

다시 말하자면 상단의 불변 영역 List를 찾아내는 것이다.In other words, we find the top list of constant regions.

Figure 112009065428851-pat00028
Figure 112009065428851-pat00028

[표12]Table 12

상기와 같은 단계를 통해 불변영역(즉 고정영역)을 정의하여 상하좌우를 판단하며, 잘못된 불변영역이 있는 경우(인식오류 혹은 인쇄오류)에 대해 안정적으로 처리할 수 있는 효과를 제공하게 된다.Through the above steps, a constant area (ie, a fixed area) is defined to determine up, down, left, and right sides, and an error invariant area (a recognition error or a printing error) can be stably provided.

이상에서와 같은 내용의 본 발명이 속하는 기술분야의 당업자는 본 발명의 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시된 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. Those skilled in the art to which the present invention pertains as described above may understand that the present invention may be implemented in other specific forms without changing the technical spirit or essential features of the present invention. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not restrictive.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구 범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

본 발명인 도트 패턴에서 불변 영역을 인식하는 방법은 불변영역(즉 고정영역)을 정의하여 상하좌우를 판단하며, 잘못된 불변영역이 있는 경우(인식오류 혹은 인쇄오류)에 대해 안정적으로 처리할 수 있는 효과를 제공하게 되어 해당 도트 패턴 분석분야에 널리 이용될 것이다.The method of recognizing the constant region in the dot pattern of the present invention defines a constant region (i.e., a fixed region) to determine the top, bottom, left, and right sides, and can stably handle the case where there is an incorrect constant region (a recognition error or a printing error). To provide a will be widely used in the dot pattern analysis field.

도 1은 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 흐름도이다.1 is a flowchart illustrating a method of recognizing a constant region in a dot pattern according to an exemplary embodiment of the present invention.

도 2는 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 패턴 예를 나타낸 예시도이다.2 is an exemplary view showing a pattern example of a method of recognizing a constant region in a dot pattern according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 패턴 인식 알고리즘의 개략적인 개념을 설명한 예시도이다.3 is an exemplary view illustrating a schematic concept of a pattern recognition algorithm of a method of recognizing a constant region in a dot pattern according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 DOM Image 예를 나타낸 예시도이다.4 is an exemplary view showing a DOM image example of a method for recognizing a constant region in a dot pattern according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 AOI Detection의 예를 나타낸 예시도이다.5 is an exemplary view showing an example of AOI Detection of a method of recognizing a constant region in a dot pattern according to an embodiment of the present invention.

도 6은 본 발명의 일실시예에 따른 도트 패턴에서 불변 영역을 인식하는 방법의 불변 영역의 3가지 영역을 나타낸 예시도이다.6 is an exemplary diagram illustrating three regions of the constant region of the method of recognizing the constant region in the dot pattern according to an embodiment of the present invention.

Claims (7)

입력 영상이 주어졌을 때 패턴인식부에 의해 패턴을 인식하는 패턴인식단계;A pattern recognition step of recognizing a pattern by the pattern recognition unit when an input image is given; 상기 입력 영상에 대하여 기울기값계산부에 의해 명암도에 변화가 존재하는 기울기 성분을 분석하여 이진 영상으로 분류하는 기울기값계산단계;A gradient value calculating step of analyzing a gradient component having a change in contrast with respect to the input image by a gradient value calculator and classifying the gradient into a binary image; 상기 기울기값계산단계에 의해 이진화된 영상에 존재하는 각 블랍(Blob)의 크기와 위치 정보(중심점)를 블랍정보획득부에 의해 획득하는 블랍정보획득단계;A blob information acquisition step of acquiring the size and position information (center point) of each blob present in the binarized image by the gradient value calculating step by a blob information acquisition unit; 특정 블랍의 위치에서 특정 블랍과 유사한 값을 갖는 블랍을 클러스터링부에 의해 하나로 클러스터링하는 클러스터링단계;A clustering step of clustering blobs having values similar to the specific blobs into one by a clustering unit at a specific blob position; 각 블랍에 대하여 인접한 범위 내에 있는 블랍을 인접블랍검색부에 의해 검색하는 인접블랍검색단계;A neighboring blob search step of searching for blobs within a neighboring range for each blob by a neighboring blob search unit; 상기 입력 영상에 존재하는 패턴에서 리스트 불변 영역을 불변영역검색부에 의해 검색하는 불변영역검색단계;An invariant region searching step of searching for a list invariant region in the pattern existing in the input image by an invariant region searching unit; 상기 불변영역검색단계에 의해 검색된 리스트 불변 영역을 기준으로 왼쪽의 불변 영역과 오른쪽의 불변 영역을 2차불변영역검색부에 의해 검색하는 2차불변영역검색단계;A secondary invariant region searching step of searching for a left invariant region and a right invariant region by a secondary invariant region searching unit based on the list invariant region searched by the invariant region searching step; 상기 검색된 불변 영역을 기준으로 스캔할 수직 거리를 수직거리계산부에 의해 계산하는 수직거리계산단계;A vertical distance calculating step of calculating a vertical distance to be scanned based on the searched invariant region by a vertical distance calculator; 상기 계산된 수직 거리값과 상기 불변 영역을 가지고 패턴을 패턴해독부에 의해 해독하는 패턴해독단계;A pattern decoding step of decoding a pattern by a pattern decoding unit having the calculated vertical distance value and the constant region; 상기 입력 영상에서 여러 개의 패턴이 획득될 경우에 같은 패턴이 다수 획득된 패턴을 복수패턴획득부에 의해 획득하는 복수패턴획득단계;A plurality of pattern acquisition steps of acquiring a plurality of patterns obtained by the plurality of pattern acquisition units when a plurality of patterns are obtained from the input image; 특정 x,y의 위치에서 일정 범위 내에 검은 점이 있는지를 블랙포인트판별부에 의해 판별하는 블랙포인트판별단계;A black point discrimination step of determining, by the black point discrimination unit, whether there is a black point within a predetermined range at a specific x, y position; 상기 블랙포인트판별단계에 의해 연속적인 8개의 검은 점이 검색되었는지를 블랙포인트확인부에 의해 검색하는 리스트불변영역검색단계;를 포함하여 이루어지는 것을 특징으로 하는 도트 패턴에서 불변 영역을 인식하는 방법.And a list invariant region searching step of searching by the black point confirmation unit for whether eight consecutive black points are searched by the black point discrimination step. 제 1항에 있어서,The method of claim 1, 상기 패턴은,The pattern is, 변하지 않는 패턴을 식별할 수 있는 영역인 불변 영역과,An invariant region that is an area that can identify patterns that don't change, 패턴을 생성할 수 있는 영역인 가용 영역으로 이루어지는 것을 특징으로 하는 도트 패턴에서 불변 영역을 인식하는 방법.A method for recognizing an invariant region in a dot pattern, characterized in that it consists of an available region which is an area capable of generating a pattern. 제 2항에 있어서,3. The method of claim 2, 상기 불변 영역은,The constant region is, 상단의 연속적인 8개의 블랍으로 구성되는 리스트불변영역과,A list invariant region consisting of eight consecutive blobs at the top, 왼쪽에 2개의 블랍으로 구성되는 왼쪽불변영역과,Left invariant region consisting of two blobs on the left, 오른쪽에 3개의 블랍으로 구성되는 오른쪽불변영역으로 이루어지는 것을 특징으로 하는 도트 패턴에서 불변 영역을 인식하는 방법.A method for recognizing a constant region in a dot pattern, characterized in that the right constant region consists of three blobs on the right side. 제 1항에 있어서,The method of claim 1, 상기 클러스터링단계는,The clustering step, 크기가 큰 블랍에 적용되는 경우에는 스택 오우버플로우를 방지하기 위하여 인터랙티브 방식으로 전환하는 것을 특징으로 하는 도트 패턴에서 불변 영역을 인식하는 방법.A method for recognizing invariant regions in a dot pattern, characterized in that when applied to a large blob, to switch in an interactive manner to prevent stack overflow. 제 1항에 있어서,The method of claim 1, 상기 패턴은,The pattern is, 총 7 x 8 영역에서 형성되되, 불변 영역을 제외한 5 x 6 영역이 가용 영역인 것을 특징으로 하는 도트 패턴에서 불변 영역을 인식하는 방법.A method of recognizing a constant region in a dot pattern, which is formed in a total of 7 x 8 regions, except that the 5 x 6 region except for the constant region is an available region. 제 1항에 있어서,The method of claim 1, 상기 패턴은,The pattern is, 인쇄물에 형성시키는 것을 특징으로 하는 도트 패턴에서 불변 영역을 인식하 는 방법.A method for recognizing a constant region in a dot pattern, characterized in that formed on the print. 삭제delete
KR1020090101772A 2009-10-26 2009-10-26 recognition method of unchangeability field in dotpattern. KR101070051B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090101772A KR101070051B1 (en) 2009-10-26 2009-10-26 recognition method of unchangeability field in dotpattern.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090101772A KR101070051B1 (en) 2009-10-26 2009-10-26 recognition method of unchangeability field in dotpattern.

Publications (2)

Publication Number Publication Date
KR20110045280A KR20110045280A (en) 2011-05-04
KR101070051B1 true KR101070051B1 (en) 2011-10-04

Family

ID=44240349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090101772A KR101070051B1 (en) 2009-10-26 2009-10-26 recognition method of unchangeability field in dotpattern.

Country Status (1)

Country Link
KR (1) KR101070051B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101479899B1 (en) 2014-03-28 2015-01-09 영남대학교 산학협력단 Apparatus and method of searching point pattern

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102684561B1 (en) * 2023-11-10 2024-07-12 삼영이엔씨 (주) Automatic radar plotting aids system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002003321A1 (en) 2000-06-30 2002-01-10 Silverbrook Research Pty Ltd Data package template with data embedding
WO2004084125A1 (en) 2003-03-17 2004-09-30 Kenji Yoshida Information input/output method using dot pattern
WO2006112021A1 (en) 2005-04-15 2006-10-26 Kenji Yoshida Information i/o method using dot pattern

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002003321A1 (en) 2000-06-30 2002-01-10 Silverbrook Research Pty Ltd Data package template with data embedding
WO2004084125A1 (en) 2003-03-17 2004-09-30 Kenji Yoshida Information input/output method using dot pattern
WO2006112021A1 (en) 2005-04-15 2006-10-26 Kenji Yoshida Information i/o method using dot pattern

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101479899B1 (en) 2014-03-28 2015-01-09 영남대학교 산학협력단 Apparatus and method of searching point pattern

Also Published As

Publication number Publication date
KR20110045280A (en) 2011-05-04

Similar Documents

Publication Publication Date Title
Yousif et al. Toward an optimized neutrosophic K-means with genetic algorithm for automatic vehicle license plate recognition (ONKM-AVLPR)
JP5334042B2 (en) Character string recognition method and character string recognition apparatus
JP5591578B2 (en) Character string recognition apparatus and character string recognition method
US9158986B2 (en) Character segmentation device and character segmentation method
US9053361B2 (en) Identifying regions of text to merge in a natural image or video frame
US6151423A (en) Character recognition with document orientation determination
CN101122953B (en) Picture words segmentation method
US9324001B2 (en) Character recognition device and character segmentation method
US9251430B2 (en) Apparatus, method, and program for character recognition using minimum intensity curve of image data
CN101122952A (en) Picture words detecting method
Roy Chowdhury et al. Text detection of two major Indian scripts in natural scene images
JP5011508B2 (en) Character string recognition method and character string recognition apparatus
JP5630689B2 (en) Character recognition method and character recognition device
KR101070051B1 (en) recognition method of unchangeability field in dotpattern.
JP6144892B2 (en) Image processing apparatus, image processing method, and program
Mohammad et al. Practical recognition system for text printed on clear reflected material
Aghajari et al. A text localization algorithm in color image via new projection profile
Lin et al. Multi-symbology and multiple 1d/2d barcodes extraction framework
Chang et al. Caption analysis and recognition for building video indexing systems
Ali et al. Urdu text in natural scene images: a new dataset and preliminary text detection
Chanda et al. Font identification—In context of an Indic script
JP4223295B2 (en) License plate automatic recognition device
JPH06501803A (en) Character recognition method that involves separating and extracting specific parts from extracted data
KR100555883B1 (en) An Effective Bar Code Detection Method using Mathematical Algorithm
Shabana et al. TEXT DETECTION AND RECOGNITION IN NATURAL IMAGES

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150921

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160926

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170925

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181017

Year of fee payment: 8