KR102467036B1 - 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템 - Google Patents
2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템 Download PDFInfo
- Publication number
- KR102467036B1 KR102467036B1 KR1020210189341A KR20210189341A KR102467036B1 KR 102467036 B1 KR102467036 B1 KR 102467036B1 KR 1020210189341 A KR1020210189341 A KR 1020210189341A KR 20210189341 A KR20210189341 A KR 20210189341A KR 102467036 B1 KR102467036 B1 KR 102467036B1
- Authority
- KR
- South Korea
- Prior art keywords
- identification code
- image
- threshold
- binarized
- application
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000005192 partition Methods 0.000 claims description 93
- 238000001514 detection method Methods 0.000 claims description 27
- 230000011218 segmentation Effects 0.000 claims description 12
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 abstract description 12
- 238000000638 solvent extraction Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 230000000694 effects Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 239000003550 marker Substances 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000009467 reduction Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000004313 glare Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G06T5/008—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 임계치 설정 애플리케이션이 2차원 식별코드 검출을 위한 동적 영상 임계치를 설정하는 방법으로서, 2차원 식별코드를 촬영한 식별코드 이미지를 획득하는 단계; 상기 획득된 식별코드 이미지를 이진화 이미지로 변환하는 단계; 상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하는 단계; 및 상기 감지된 2차원 식별코드를 인식하여 획득된 정보에 따라서 소정의 작업을 수행하는 단계를 포함하고, 상기 식별코드 이미지를 이진화 이미지로 변환하는 단계는, 상기 식별코드 이미지를 복수의 영역으로 분할하는 단계와, 상기 복수의 분할영역 각각에 대한 이진화 기준 임계치를 산출하는 단계와, 상기 산출된 이진화 기준 임계치를 기초로 상기 복수의 분할영역 각각에 대한 이진화(Binary thresholding)를 수행하여 복수의 이진화 분할영역 이미지를 생성하는 단계와, 상기 생성된 복수의 이진화 분할영역 이미지를 결합하여 상기 이진화 이미지를 생성하는 단계를 포함한다.
Description
본 발명은 차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템에 관한 것이다. 보다 상세하게는, 이미지 내 밝기값을 기초로 2차원 식별코드 검출을 위한 이진화 기준 임계치를 동적으로 결정하는 방법 및 그 시스템에 관한 것이다.
QR(Quick Response) 코드, 아즈텍(Aztec) 코드 및 퀵마커(Quickmark)와 같은 2차원 식별코드들은 기존 1차원 식별코드보다 정보량을 확대하고 정보 손상으로 인한 인식률 저하를 최소화하기 위해 개발되었다. 이들 2차원 식별코드들은 기존의 EAN(European Article Number) /UPC(Universal Product Code) 바코드에 비해 적게는 30배에서 많게는 700배 이상의 정보를 담을 수 있다.
이와 같이 2차원 식별코드는 많은 정보를 한곳에 집약할 수 있어 물류, 결재, 인증, 광고 등에 널리 사용되고 있다. 예를 들어, 자동차 부품, 식품의 용기, 보안 영역, 쇼핑몰에서 판매하는 제품 등 산업 전반에 걸쳐 2차원 식별코드가 사용되고 있다.
2차원 식별코드는 포지션 패턴(position marker) 및 정렬 패턴(alignment marker)과 같은 다양한 고정 패턴들을 소정의 규칙들에 따라 평면(2차원) 상에 배치함으로써 구현된다. 일반적으로 2차원 식별코드는 검정 패턴과 흰색 패턴들이 기하학적 구조로 이루어지도록 구현된다.
통상적으로, 2차원 식별코드를 인식하는 방법은 모바일 디바이스 내에 설치되는 2차원 식별코드 인식 애플리케이션이나 별도의 스캐너에 의해 2차원 식별코드를 감지한 후 저장된 정보를 획득하는 방식으로 이루어지며, 모바일 디바이스에 감지된 2차원 식별코드의 이미지는 위치결정, 분할 및 디코딩 방식이 적용되면서 식별되고 인식된다.
이때, 2차원 식별코드의 이미지를 효율적으로 인식하기 위하여 해당 식별코드 이미지의 모든 픽셀을 흰색 또는 검정색으로 이진화(Binary thresholding)하는 과정을 수반한다.
즉, 컴퓨터가 인식 가능한 0과 1의 비트만을 가지도록 해당 식별코드 이미지를 변환한 후, 이를 기초로 해당 이미지 내 2차원 식별코드의 위치를 찾아가는 방식으로 2차원 식별코드를 감지 및 판독하는 것이다.
이때, 위와 같이 이미지 내 모든 픽셀을 흰색 또는 검정색으로 구분할 기준점이 되는 밝기 임계값을 정하는 것은 매우 중요한 프로세스이다.
그러나 이미지를 촬영하는 환경적 요인(예컨대, 조명 조건 등)의 변화에 따라서 해당 이미지 내 밝기가 유동적으로 변화하거나 소정의 노이즈가 발생할 수 있으며, 이로 인해 해당 이미지에 대한 고정된 밝기 임계값을 설정하기 어렵다는 문제가 있다.
본 발명은, 상술된 바와 같은 문제점들을 해결하기 위하여 안출된 것으로서, 이미지 내 밝기값을 기초로 2차원 식별코드 검출을 위한 이진화 기준 임계치를 동적으로 결정하는 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템을 제공하고자 한다.
이때, 본 발명은, 상기 동적으로 결정되는 이진화 기준 임계치(즉, 적응적 임계값(adaptive threshold))을 복수 개 산출하고, 산출된 복수의 적응적 임계값을 이용하여 해당 이미지 내 2차원 식별코드를 검출하는 동적 영상 임계치 설정 방법 및 그 시스템을 제공하고자 한다.
다만, 본 발명 및 본 발명의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 임계치 설정 애플리케이션이 2차원 식별코드 검출을 위한 동적 영상 임계치를 설정하는 방법으로서, 2차원 식별코드를 촬영한 식별코드 이미지를 획득하는 단계; 상기 획득된 식별코드 이미지를 이진화 이미지로 변환하는 단계; 상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하는 단계; 및 상기 감지된 2차원 식별코드를 인식하여 획득된 정보에 따라서 소정의 작업을 수행하는 단계를 포함하고, 상기 식별코드 이미지를 이진화 이미지로 변환하는 단계는, 상기 식별코드 이미지를 복수의 영역으로 분할하는 단계와, 상기 복수의 분할영역 각각에 대한 이진화 기준 임계치를 산출하는 단계와, 상기 산출된 이진화 기준 임계치를 기초로 상기 복수의 분할영역 각각에 대한 이진화(Binary thresholding)를 수행하여 복수의 이진화 분할영역 이미지를 생성하는 단계와, 상기 생성된 복수의 이진화 분할영역 이미지를 결합하여 상기 이진화 이미지를 생성하는 단계를 포함한다.
이때, 상기 이진화 이미지는, 상기 이진화 기준 임계치보다 밝은 픽셀들은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화가 수행된 이미지이다.
또한, 상기 복수의 분할영역 각각에 대한 이진화 기준 임계치를 산출하는 단계는, 상기 복수의 분할영역 내 제1 분할영역이 포함하는 픽셀들의 밝기 평균값을 산출하는 단계와, 상기 산출된 밝기 평균값을 상기 제1 분할영역에 대한 이진화 기준 임계치로 결정하는 단계를 포함한다.
또한, 상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하는 단계는, 상기 이진화 이미지 내 소정의 고정 패턴이 존재하는지 판단하는 단계를 포함하고, 상기 획득된 식별코드 이미지를 이진화 이미지로 변환하는 단계는, 상기 고정 패턴이 미존재하면 상기 복수의 분할영역별 이진화 기준 임계치를 기초로 상기 복수의 분할영역별 추가 기준 임계치를 산출하는 단계를 포함한다.
또한, 상기 추가 기준 임계치는, 상기 복수의 분할영역 내 제1 분할영역에 대한 이진화 기준 임계치를 기준으로 소정의 수치만큼 증가 또는 감소한 임계값을 가지면서 상기 제1 분할영역에 대하여 추가적으로 산출되는 적어도 하나의 이진화 기준 임계치이다.
또한, 상기 획득된 식별코드 이미지를 이진화 이미지로 변환하는 단계는, 상기 산출된 추가 기준 임계치를 기초로 상기 복수의 분할영역 각각에 대한 이진화를 수행하여 복수의 이진화 분할영역 추가 이미지를 생성하는 단계와, 상기 생성된 복수의 이진화 분할영역 추가 이미지 및 상기 복수의 이진화 분할영역 이미지를 소정의 방식에 따라서 결합하여 복수의 추정 이진화 이미지를 생성하는 단계를 더 포함한다.
또한, 상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하는 단계는, 상기 생성된 복수의 추정 이진화 이미지 내 상기 소정의 고정 패턴이 존재하는지 판단하는 단계와, 상기 고정 패턴이 존재하는 추정 이진화 이미지를 기초로 상기 2차원 식별코드를 감지하는 단계를 더 포함한다.
한편, 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 임계치 설정 애플리케이션이 2차원 식별코드 검출을 위한 동적 영상 임계치를 설정하는 방법으로서, 2차원 식별코드를 촬영한 식별코드 이미지를 획득하는 단계; 상기 획득된 식별코드 이미지를 이진화 이미지로 변환하는 단계; 상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하는 단계; 및 상기 감지된 2차원 식별코드를 인식하여 획득된 정보에 따라서 소정의 작업을 수행하는 단계를 포함하고, 상기 식별코드 이미지를 이진화 이미지로 변환하는 단계는, 상기 식별코드 이미지를 복수의 영역으로 분할하는 단계와, 상기 복수의 분할영역 각각에 대한 평균 밝기값을 산출하는 단계와, 상기 산출된 복수의 평균 밝기값 간의 편차를 산출하는 단계와, 상기 산출된 편차가 소정의 기준 이상이면, 상기 복수의 분할영역이 제1 밝기 구간 또는 제2 밝기 구간 중 어느 밝기 구간에 더 많이 포함되는지 판단하는 단계와, 상기 판단에 따라서 서로 다른 이진화 기준 임계치 및 적용 순서를 결정하는 단계와, 상기 결정된 이진화 기준 임계치 및 적용 순서를 기반으로 상기 식별코드 이미지에 대한 이진화(Binary thresholding)를 수행하여 상기 이진화 이미지를 생성하는 단계를 포함한다.
이때, 상기 이진화 이미지를 생성하는 단계는, 상기 적용 순서에 따라서 상기 이진화 기준 임계치를 순차적으로 적용하는 단계와, 상기 식별코드 이미지 내 픽셀들 중 상기 적용된 이진화 기준 임계치보다 밝은 픽셀들은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 단계를 포함한다.
다른 한편, 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 시스템은, 2차원 식별코드를 출력하는 적어도 하나 이상의 디스플레이; 적어도 하나 이상의 메모리; 및 적어도 하나 이상의 프로세서; 를 포함하고, 상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 2차원 식별코드 검출을 위한 동적 영상 임계치를 설정하는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은, 상기 2차원 식별코드를 촬영한 식별코드 이미지를 획득하고, 상기 획득된 식별코드 이미지를 이진화 이미지로 변환하고, 상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하고, 상기 감지된 2차원 식별코드를 제공하며, 상기 식별코드 이미지를 복수의 영역으로 분할하고, 상기 복수의 분할영역 각각에 대한 이진화 기준 임계치를 산출하고, 상기 산출된 이진화 기준 임계치를 기초로 상기 복수의 분할영역 각각에 대한 이진화(Binary thresholding)를 수행하여 복수의 이진화 분할영역 이미지를 생성하고, 상기 생성된 복수의 이진화 분할영역 이미지를 결합하여 상기 이진화 이미지를 생성한다.
본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템은, 이미지 내 밝기값을 기초로 2차원 식별코드 검출을 위한 이진화 기준 임계치를 동적으로 결정함으로써, 상기 이미지를 촬영하는 환경적 요인(예컨대, 조명 조건 등)의 변화에 따라서 해당 이미지 내 밝기가 유동적으로 변화하거나 소정의 노이즈(예컨대, 국소적인 밝기값 등)가 발생하더라도 이에 관계없이 해당 이미지 내 2차원 식별코드를 정확하게 구분시키는 이진화(Binary thresholding)를 지원하는 기준 임계치를 결정할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템은, 상기 동적으로 결정되는 이진화 기준 임계치(즉, 적응적 임계값(adaptive threshold))을 복수 개 산출함으로써, 상기 복수의 적응적 임계값을 토대로 다각화된 이진화 이미지를 획득할 수 있고, 이들 중 가장 높은 검출률을 가지는 이진화 이미지를 기초로 2차원 식별코드 감지를 수행하여 상기 이미지 내 국소적인 밝기 차이가 현저한 상황 등과 같이 2차원 식별코드 검출을 방해하는 노이즈가 존재할 시에도 2차원 식별코드 감지 정확도 및 성능을 향상시킬 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템은, 상기 산출된 복수의 적응적 임계값에 우선순위를 부여하고, 부여된 우선순위에 따라서 순차적으로 임계값 적용을 수행함으로써, 상기 복수의 적응적 임계값들에 기초한 체계적이고 합리적인 프로세스에 따라서 상기 이미지 내 2차원 식별코드를 감지해 그 정확성 및 신뢰성을 향상시킬 수 있는 효과가 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 명확하게 이해될 수 있다.
도 1은 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 시스템의 개념도이다.
도 2는 본 발명의 실시예에 따른 단말의 내부 블록도이다.
도 3은 종래의 2차원 식별코드 검출 과정에서 발생한 이진화(binary thresholding) 오류의 일례들이다.
도 4는 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 식별코드 이미지를 이진화 이미지로 변환하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 식별코드 이미지를 이진화 이미지로 변환하는 방법을 설명하기 위한 개념도이다.
도 7은 본 발명의 다른 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 복수의 분할영역별 밝기 평균값에 기초한 편차를 계산하는 방법을 설명하기 위한 도면의 일례이다.
도 2는 본 발명의 실시예에 따른 단말의 내부 블록도이다.
도 3은 종래의 2차원 식별코드 검출 과정에서 발생한 이진화(binary thresholding) 오류의 일례들이다.
도 4는 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 식별코드 이미지를 이진화 이미지로 변환하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 식별코드 이미지를 이진화 이미지로 변환하는 방법을 설명하기 위한 개념도이다.
도 7은 본 발명의 다른 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 복수의 분할영역별 밝기 평균값에 기초한 편차를 계산하는 방법을 설명하기 위한 도면의 일례이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 시스템의 개념도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 시스템(1000: 이하, 동적 영상 임계치 설정 시스템)은, 이미지 내 밝기값을 기초로 2차원 식별코드 검출을 위한 이진화 기준 임계치를 동적으로 결정하는 동적 영상 임계치 설정 서비스를 제공할 수 있다.
실시예에서, 위와 같은 동적 영상 임계치 설정 서비스를 제공하는 동적 영상 임계치 설정 시스템(1000)은, 단말(100), 데이터베이스 서버(200) 및 네트워크(300: Network)를 포함할 수 있다.
이때, 상기 단말(100) 및 데이터베이스 서버(200)는, 상기 네트워크(300)를 통하여 연결될 수 있다.
여기서, 실시예에 따른 상기 네트워크(300)는, 상기 단말(100) 및/또는 데이터베이스 서버(200) 등과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(300)의 일례에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
이하, 첨부된 도면을 참조하여 동적 영상 임계치 설정 시스템(1000)을 구현하는 단말(100) 및 데이터베이스 서버(200)에 대해 상세히 설명한다.
- 단말(100: Terminal)
본 발명의 실시예에 따른 단말(100)은, 동적 영상 임계치 설정 서비스를 제공하는 임계치 설정 애플리케이션(이하, 애플리케이션)이 설치된 소정의 컴퓨팅 디바이스일 수 있다.
자세히, 하드웨어적 관점에서 단말(100)은, 애플리케이션이 설치된 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등을 포함할 수 있다.
여기서, 모바일 타입 컴퓨팅 장치(100-1)는, 애플리케이션이 설치된 스마트 폰이나 테블릿 PC와 같은 모바일 장치일 수 있다.
예를 들어, 모바일 타입 컴퓨팅 장치(100-1)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 디바이스, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다.
또한, 데스크탑 타입 컴퓨팅 장치(100-2)는, 애플리케이션이 설치된 고정형 데스크탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 유/무선 통신을 기반으로 동적 영상 임계치 설정 서비스를 실행하기 위한 프로그램이 설치된 장치 등을 포함할 수 있다.
또한, 실시예에 따라서 단말(100)은, 동적 영상 임계치 설정 서비스 환경을 제공하는 소정의 서버(Server) 컴퓨팅 디바이스를 더 포함할 수도 있다.
도 2는 본 발명의 실시예에 따른 단말(100)의 내부 블록도이다.
한편, 도 2를 참조하면, 기능적 관점에서 단말(100)은, 메모리(110), 프로세서 어셈블리(120), 통신 프로세서(130), 인터페이스부(140), 입력 시스템(150), 센서 시스템(160) 및 디스플레이 시스템(170)을 포함할 수 있다. 이러한 구성요소들은 단말(100)의 하우징 내에 포함되도록 구성될 수 있다.
자세히, 메모리(110)에는, 애플리케이션(111)이 저장되며, 애플리케이션(111)은 동적 영상 임계치 설정 서비스 환경을 제공하기 위한 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
즉, 메모리(110)는, 동적 영상 임계치 설정 서비스 환경을 생성하기 위하여 사용될 수 있는 명령 및 데이터 등을 저장할 수 있다.
또한, 상기 메모리(110)는, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 단말(100)을 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 단말(100)의 사용에 따라 발생하는 데이터가 저장될 수 있다.
또한, 메모리(110)는, 적어도 하나 이상의 비일시적 컴퓨터 판독 가능 저장매체와, 일시적 컴퓨터 판독 가능 저장매체를 포함할 수 있다.
예를 들어, 메모리(110)는, ROM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet) 상에서 상기 메모리(110)의 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수 있다.
프로세서 어셈블리(120)는, 동적 영상 임계치 설정 서비스 환경을 생성하기 위한 다양한 작업을 수행하기 위해, 메모리(110)에 저장된 애플리케이션(111)의 명령들을 실행할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다.
실시예에서 프로세서 어셈블리(120)는, 동적 영상 임계치 설정 서비스를 제공하기 위하여 메모리(110)의 애플리케이션(111)을 통해 구성요소의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서 어셈블리(120)는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 단말(100)에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리(110)에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 단말(100)에 탑재된 각 구성요소들을 제어할 수 있다.
또한, 프로세서 어셈블리(120)는, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서 어셈블리(120)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 포함하여 구현될 수 있다.
통신 프로세서(130)은, 외부의 장치와 통신하기 위한 하나 이상의 장치를 포함할 수 있다. 이러한 통신 프로세서(130)은, 무선 네트워크를 통해 통신할 수 있다.
자세히, 통신 프로세서(130)은, 동적 영상 임계치 설정 서비스 환경을 구현하기 위한 콘텐츠 소스를 저장한 소정의 컴퓨팅 디바이스와 통신할 수 있으며, 사용자 입력을 받은 컨트롤러와 같은 다양한 사용자 입력 컴포넌트와 통신할 수 있다.
실시예에서, 통신 프로세서(130)은, 동적 영상 임계치 설정 서비스와 관련된 각종 데이터를 타 단말(100) 및/또는 외부의 서버 등과 송수신할 수 있다.
이러한 통신 프로세서(130)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced),5G NR(New Radio), WIFI) 또는 근거리 통신방식 등을 수행할 수 있는 통신장치를 통해 구축된 이동 통신망 상에서 기지국, 외부의 단말(100), 임의의 서버 중 적어도 하나와 무선으로 데이터를 송수신할 수 있다.
센서 시스템(160)은, 이미지 센서(161), 위치 센서(IMU, 163), 오디오 센서(165), 거리 센서, 근접 센서, 접촉 센서 등 다양한 센서를 포함할 수 있다.
여기서, 이미지 센서(161)는, 단말(100) 주위의 물리적 공간에 대한 이미지 및/또는 영상을 캡처할 수 있다.
실시예에서, 이미지 센서(161)는, 동적 영상 임계치 설정 서비스와 관련된 영상(예컨대, 식별코드 이미지 등)을 촬영하여 획득할 수 있다.
또한, 이미지 센서(161)는, 단말(100)의 전면 또는/및 후면에 배치되어 배치된 방향측을 촬영하여 영상을 획득할 수 있으며, 단말(100)의 외부를 향해 배치된 카메라를 통해 물리적 공간을 촬영할 수 있다.
이러한 이미지 센서(161)는, 이미지 센서장치와 영상 처리 모듈을 포함할 수 있다. 자세히, 이미지 센서(161)는, 이미지 센서장치(예를 들면, CMOS 또는 CCD)에 의해 얻어지는 정지영상 또는 동영상을 처리할 수 있다.
또한, 이미지 센서(161)는, 영상 처리 모듈을 이용하여 이미지 센서장치를 통해 획득된 정지영상 또는 동영상을 가공해 필요한 정보를 추출하고, 추출된 정보를 프로세서에 전달할 수 있다.
이러한 이미지 센서(161)는, 적어도 하나 이상의 카메라를 포함하는 카메라 어셈블리일 수 있다. 카메라 어셈블리는, 가시광선 대역을 촬영하는 일반 카메라를 포함할 수 있으며, 적외선 카메라, 스테레오 카메라 등의 특수 카메라를 더 포함할 수 있다.
또한, 위와 같은 이미지 센서(161)는, 실시예에 따라서 단말(100)에 포함되어 동작할 수도 있고, 외부의 장치(예컨대, 외부의 서버 등)에 포함되어 상술된 통신 프로세서(130) 및/또는 인터페이스부(140)에 기초한 연동을 통하여 동작할 수도 있다.
위치 센서(IMU, 163)는, 단말(100)의 움직임 및 가속도 중 적어도 하나 이상을 감지할 수 있다. 예를 들어, 가속도계, 자이로스코프, 자력계와 같은 다양한 위치 센서의 조합으로 이루어질 수 있다.
또한, 위치 센서(IMU, 163)는, 통신 프로세서(130)의 GPS와 같은 위치 통신 프로세서(130)과 연동하여, 단말(100) 주변의 물리적 공간에 대한 공간 정보를 인식할 수 있다.
오디오 센서(165)는, 단말(100) 주변의 소리를 인식할 수 있다.
자세히, 오디오 센서(165)는, 단말(100)을 사용하는 사용자의 음성 입력을 감지할 수 있는 마이크로폰을 포함할 수 있다.
실시예에서 오디오 센서(165)는 동적 영상 임계치 설정 서비스를 위해 필요한 음성 데이터를 사용자로부터 입력 받을 수 있다.
인터페이스부(140)은, 단말(100)을 하나 이상의 다른 장치와 통신 가능하게 연결할 수 있다. 자세히, 인터페이스부(140)은, 하나 이상의 상이한 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 장치를 포함할 수 있다.
이러한 인터페이스부(140)을 통해 단말(100)은, 여러 입출력 장치들과 연결될 수 있다.
예를 들어, 인터페이스부(140)은, 헤드셋 포트나 스피커와 같은 오디오 출력장치와 연결되어, 오디오를 출력할 수 있다.
예시적으로 오디오 출력장치가 인터페이스부(140)을 통해 연결되는 것으로 설명하였으나, 단말(100) 내부에 설치되는 실시예도 포함될 수 있다.
또한, 예를 들면 인터페이스부(140)은, 키보드 및/또는 마우스와 같은 입력장치와 연결되어, 사용자 입력을 획득할 수 있다.
예시적으로 키보드 및/또는 마우스가 인터페이스부(140)을 통해 연결되는 것으로 설명하였으나, 단말(100) 내부에 설치되는 실시예도 포함될 수 있다.
이러한 인터페이스부(140)은, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port), 전력 증폭기, RF 회로, 송수신기 및 기타 통신 회로 중 적어도 하나를 포함하여 구성될 수 있다.
입력 시스템(150)은 동적 영상 임계치 설정 서비스와 관련된 사용자의 입력(예를 들어, 제스처, 음성 명령, 버튼의 작동 또는 다른 유형의 입력)을 감지할 수 있다.
자세히, 입력 시스템(150)은 소정의 버튼, 터치 센서 및/또는 사용자 모션 입력을 수신하는 이미지 센서(161) 등을 포함할 수 있다.
또한, 입력 시스템(150)은, 인터페이스부(140)을 통해 외부 컨트롤러와 연결되어, 사용자의 입력을 수신할 수 있다.
디스플레이 시스템(170)은, 동적 영상 임계치 설정 서비스와 관련된 다양한 정보를 그래픽 이미지로 출력할 수 있다.
실시예로, 디스플레이 시스템(170)은, 식별코드 이미지, 이진화 이미지 및/또는 각종 사용자 인터페이스 등을 표시할 수 있다.
이러한 디스플레이는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
이러한 단말(100)의 하우징 내에는 상기 구성요소들이 배치될 수 있으며, 사용자 인터페이스는 사용자 터치 입력을 수신하도록 구성된 디스플레이(171) 상에 터치 센서(173)를 포함할 수 있다.
자세히, 디스플레이 시스템(170)은, 이미지를 출력하는 디스플레이(171)와, 사용자의 터치 입력을 감지하는 터치 센서(173)를 포함할 수 있다.
예시적으로 디스플레이(171)는 터치 센서(173)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린으로 구현될 수 있다. 이러한 터치 스크린은, 단말(100)과 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 단말(100)과 사용자 사이의 출력 인터페이스를 제공할 수 있다.
한편, 본 발명의 실시예에 따른 단말(100)은, 개시된 적어도 하나의 알고리즘을 이용하여 동적 영상 임계치 설정 서비스에 필요한 각종 기능 동작을 수행할 수 있다.
실시예로, 단말(100)은, 오브젝트 디텍션(Object detection) 및/또는 이미지 세그멘테이션(Image segmentation) 등을 수행하는 다양한 알고리즘에 기반하여 동적 영상 임계치 설정 서비스에 필요한 각종 기능 동작을 수행할 수 있다.
또한, 실시예에 따라서 단말(100)은, 후술되는 데이터베이스 서버(200)에서 수행하는 기능 동작의 적어도 일부를 더 수행할 수도 있다.
- 데이터베이스 서버(200: Database server)
한편, 본 발명의 실시예에 따른 데이터베이스 서버(200)는, 동적 영상 임계치 설정 서비스를 제공하기 위한 일련의 프로세스를 수행할 수 있다.
자세히, 실시예에서 데이터베이스 서버(200)는, 단말(100)과 같은 외부의 장치에서 동적 영상 임계치 설정 프로세스가 구동되게 하기 위해 필요한 데이터를, 상기 외부의 장치와 교환함으로써 상기 동적 영상 임계치 설정 서비스를 제공할 수 있다.
보다 상세히, 실시예에서 데이터베이스 서버(200)는, 외부의 장치(실시예에서, 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등)에서 애플리케이션(111)이 동작할 수 있는 환경을 제공할 수 있다.
이를 위해, 데이터베이스 서버(200)는, 애플리케이션(111)이 동작하기 위한 응용 프로그램, 데이터 및/또는 명령어 등을 포함할 수 있고, 이에 기초한 데이터를 상기 외부의 장치와 송수신할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 2차원 식별코드를 촬영한 식별코드 이미지를 획득할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 획득된 식별코드 이미지를 이진화 이미지로 변환할 수 있다.
여기서, 상기 이진화 이미지는, 기 설정된 임계값(Threshold)보다 밝은 픽셀들은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화(binary thresholding)가 수행된 이미지를 의미할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 변환된 이진화 이미지 내 2차원 식별코드를 감지할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 감지된 2차원 식별코드 정보를 다양한 방식(예컨대, 디스플레이 출력 및/또는 데이터 통신 등)에 따라서 제공할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 제공된 2차원 식별코드 정보에 기초한 애플리케이션 서비스를 수행할 수 있다.
즉, 데이터베이스 서버(200)는, 상기 2차원 식별코드에 기초한 이미지 기반의 2차원 식별코드 인식 및/또는 처리 서비스 등을 포함하는 다양한 애플리케이션 서비스가 구현되게 할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 개시된 적어도 하나의 알고리즘을 이용하여 동적 영상 임계치 설정 서비스에 필요한 소정의 기능 동작을 수행할 수 있다.
실시예로, 데이터베이스 서버(200)는, 오브젝트 디텍션(Object detection) 및/또는 이미지 세그멘테이션(Image segmentation) 등을 수행하는 다양한 알고리즘에 기반하여 동적 영상 임계치 설정 서비스에 필요한 각종 기능 동작을 수행할 수 있다.
보다 상세히, 실시예에서 데이터베이스 서버(200)는, 위와 같은 기능 동작을 수행하기 위해 구축되어 있는 소정의 알고리즘 구동 프로그램을 메모리 모듈(230)로부터 독출하여, 상기 독출된 소정의 알고리즘 시스템에 따라 해당하는 기능 동작을 수행할 수 있다.
이때, 실시예에 따라서 위와 같은 소정의 알고리즘은, 데이터베이스 서버(200)에 직접 포함되거나, 또는 데이터베이스 서버(200)와는 별도의 장치 및/또는 서버에 구현되어 상기 동적 영상 임계치 설정 서비스를 위한 기능 동작을 수행할 수 있다.
이하의 설명에서는, 상기 소정의 알고리즘이 데이터베이스 서버(200)에 포함되어 구현되는 것으로 설명하나 이에 한정되는 것은 아니다.
또한, 실시예에서 데이터베이스 서버(200)는, 동적 영상 임계치 설정 서비스를 구현하기 위한 각종 응용 프로그램, 명령어 및/또는 데이터 등을 저장하고 관리할 수 있다.
실시예로, 데이터베이스 서버(200)는, 적어도 하나 이상의 식별코드 이미지, 분할영역 이미지, 이진화 기준 임계치, 이진화 분할영역 이미지, 이진화 이미지, 고정 패턴 데이터, 2차원 식별코드 정보 및/또는 동적 영상 임계치 설정 서비스에 필요한 각종 알고리즘 등을 저장 및 관리할 수 있다.
한편, 도 1을 더 참조하면, 실시예에서 위와 같은 데이터베이스 서버(200)는, 데이터 처리를 위한 적어도 하나 이상의 프로세서 모듈(210: Processor Module)과, 외부의 장치와의 데이터 교환을 위한 적어도 하나 이상의 커뮤니케이션 모듈(220: Communication Module)과, 동적 영상 임계치 설정 서비스의 제공을 위한 각종 응용 프로그램, 데이터 및/또는 명령어들을 저장하는 적어도 하나 이상의 메모리 모듈(230: Memory Module)을 포함하는 소정의 컴퓨팅 장치로 구현될 수 있다.
여기서, 상기 메모리 모듈(230)은, 동적 영상 임계치 설정 서비스를 제공하기 위한 운영체제(OS), 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
또한, 상기 메모리 모듈(230)은, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 서버를 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 서버의 사용에 따라 발생하는 데이터가 저장될 수 있다.
실시예에서, 이러한 메모리 모듈(230)은, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 메모리 모듈(230)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.
또한, 메모리 모듈(230)은, 서버 상에 탈착 가능한 형태의 기록매체일 수 있다.
한편, 상기 프로세서 모듈(210)은, 동적 영상 임계치 설정 서비스를 구현하기 위하여 전술한 각 유닛(unit)의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서 모듈(210)은, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 서버에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리 모듈(230)에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 서버에 탑재된 각 구성요소들을 제어할 수 있다.
또한, 프로세서 모듈(210)은, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서 모듈(210)은, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
이상의 설명에서는, 본 발명의 실시예에 따른 데이터베이스 서버(200)가 상술된 바와 같은 기능 동작을 수행한다고 설명하였으나, 실시예에 따라서 데이터베이스 서버(200)에서 수행하는 기능 동작의 적어도 일부를 외부의 장치(예컨대, 단말(100) 등)에서 수행할 수도 있고, 상기 외부의 장치에서 수행하는 기능 동작의 적어도 일부를 상기 데이터베이스 서버(200)에서 더 수행할 수도 있는 등 다양한 실시예가 가능할 수 있다.
- 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법
이하, 본 발명의 실시예에 따른 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되는 애플리케이션(111)이 2차원 식별코드 검출을 위한 동적 영상 임계치를 설정하는 방법을 첨부된 도 3 내지 도 6을 참조하여 상세히 설명한다.
도 3은 종래의 2차원 식별코드 검출 과정에서 발생한 이진화(binary thresholding) 오류의 일례들이다.
도 3을 참조하면, 일반적으로 이미지 기반의 2차원 식별코드를 효율적으로 인식하기 위해서는, 해당 이미지의 모든 픽셀을 흰색 또는 검정색으로 이진화(binary thresholding) 한 후 상기 2차원 식별코드의 위치를 찾아 나가는 방법을 사용한다.
이때, 상기 흰색 또는 검정색을 구분할 기준점이 되는 밝기 임계값을 정하는 것은 매우 중요한 프로세스이다.
그러나 이미지를 촬영하는 환경적 요인(예컨대, 조명 조건 등)의 변화에 따라서 해당 이미지 내 밝기가 유동적으로 변화하거나 소정의 노이즈가 발생할 수 있으며, 이로 인해 해당 이미지 내 2차원 식별코드를 정확하게 구분시키는 이진화 기준 임계치가 제대로 설정되지 못함으로써 상기 이미지 내 2차원 식별코드 인식 정확도 및 성능이 저하될 수 있다.
그리하여 본 발명에서는, 이를 방지하기 위해 이미지 내 밝기값을 기초로 2차원 식별코드 검출을 위한 이진화 기준 임계치를 동적으로 결정하고자 한다.
자세히, 본 발명의 실시예에서 상기 단말(100)의 적어도 하나 이상의 프로세서는, 적어도 하나 이상의 메모리(110)에 저장된 적어도 하나 이상의 애플리케이션(111)을 실행하거나 백그라운드 상태로 동작하게 할 수 있다.
이하, 상기 적어도 하나 이상의 프로세서가 상기 애플리케이션(111)의 명령어를 실행하기 위해 동작하여 상술된 동적 영상 임계치 설정 서비스를 제공하는 방법을 수행하는 것을 상기 애플리케이션(111)이 수행하는 것으로 단축하여 설명한다.
도 4는 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법을 설명하기 위한 흐름도이다.
또한, 도 4를 참조하면, 실시예에서 상기 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되거나 백그라운드 상태로 동작하는 애플리케이션(111)은, 2차원 식별코드를 촬영한 식별코드 이미지를 획득할 수 있다. (S101)
여기서, 실시예에 따른 상기 2차원 식별코드란, 포지션 패턴(position marker) 및/또는 정렬 패턴(alignment marker)과 같은 다양한 고정 패턴들을 소정의 규칙들에 따라서 평면(2차원) 상에 배치함으로써 구현되는 식별코드를 의미한다. 일반적으로 이러한 2차원 식별코드는 검정 패턴과 흰색 패턴들이 기하학적 구조로 이루어지도록 구현되며, 실시예로 QR(Quick Response) 코드, 아즈텍(Aztec) 코드 및/또는 퀵마커(Quickmark) 등일 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 위와 같은 2차원 식별코드를 소정의 이미지 센서(161)를 이용하여 촬영한 식별코드 이미지를 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 획득된 식별코드 이미지를 이진화 이미지로 변환할 수 있다. (S103)
여기서, 실시예에 따른 상기 이진화 이미지란, 기 설정된 임계값(Threshold) 보다 밝은 픽셀들은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화(binary thresholding)가 수행된 이미지를 의미할 수 있다.
도 5는 본 발명의 실시예에 따른 식별코드 이미지를 이진화 이미지로 변환하는 방법을 설명하기 위한 흐름도이고, 도 6은 본 발명의 실시예에 따른 식별코드 이미지를 이진화 이미지로 변환하는 방법을 설명하기 위한 개념도이다.
자세히, 도 5 및 도 6을 참조하면, 실시예에서 애플리케이션(111)은, 1) 상기 식별코드 이미지(I)를 소정의 기준에 따른 복수의 영역으로 그리드 분할(Grid division)할 수 있다. (S201)
예를 들면, 애플리케이션(111)은, 상기 식별코드 이미지(I)에 대한 그리드 분할을 수행하여 상기 식별코드 이미지(I)를 '4행 3열(4 by 3)'의 복수의 영역으로 분할할 수 있다.
이후, 애플리케이션(111)은, 위와 같이 분할된 복수의 영역별 연산을 수행함으로써 상기 식별코드 이미지(I) 내 국소적인 밝기 변화 등에 의해 추후 상기 식별코드 이미지(I) 내 2차원 식별코드에 대한 감지 오류가 발생하는 문제를 최소화할 수 있다.
이때, 실시예에 따라서 애플리케이션(111)은, 상기 식별코드 이미지(I)를 그레이 스케일(Grayscale)로 변환하여 후술되는 프로세스를 진행할 수도 있다.
또한, 실시예에서 애플리케이션(111)은, 2) 상기 분할된 복수의 영역(이하, 복수의 분할영역)별 이진화 기준 임계치(BT)를 산출할 수 있다. (S203)
여기서, 실시예에 따른 상기 이진화 기준 임계치(BT)란, 상술된 이진화 수행의 기준이 되는 기 설정된 임계값을 의미할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 복수의 분할영역 각각에 대한 밝기 평균값을 산출할 수 있다.
예를 들면, 애플리케이션(111)은, 제1 분할영역 내 복수의 픽셀에 대한 밝기값을 평균하여 제1 밝기 평균값을 산출하고, 동일한 방식으로 제N 분할영역 내 복수의 픽셀에 대한 밝기값을 평균하여 제N 밝기 평균값을 산출할 수 있다.
또한, 애플리케이션(111)은, 위와 같이 각 분할영역별로 산출된 밝기 평균값을 해당 분할영역에 대한 이진화 기준 임계치(BT)로 설정할 수 있다.
즉, 예시에서 애플리케이션(111)은, 상기 제1 분할영역에 대한 이진화 기준 임계치(BT)를 상기 제1 밝기 평균값으로 설정할 수 있고, 동일한 방식으로 상기 제N 분할영역에 대한 이진화 기준 임계치(BT)를 상기 제N 밝기 평균값으로 설정할 수 있다.
이와 같이, 애플리케이션(111)은, 각 분할영역별로 설정되는 복수의 이진화 기준 임계치(BT)를 산출함으로써, 추후 상기 복수의 이진화 기준 임계치(BT)를 토대로 다각화된 이진화 이미지를 획득할 수 있고, 이들 중 가장 높은 검출률을 가지는 이진화 이미지를 기초로 2차원 식별코드 감지를 수행하여 상기 이미지 내 국소적인 밝기 차이가 현저한 상황 등과 같이 2차원 식별코드 검출을 방해하는 노이즈가 존재할 시에도 2차원 식별코드 감지 정확도 및 성능을 향상시킬 수 있다.
또한, 실시예에서 애플리케이션(111)은, 3) 상기 산출된 복수의 분할영역별 이진화 기준 임계치(BT)에 따른 복수의 이진화 분할영역 이미지(BDI)를 생성할 수 있다. (S205)
여기서, 실시예에 따른 상기 이진화 분할영역 이미지(BDI)란, 일 분할영역을 나타내는 이미지(이하, 분할영역 이미지(DI))를 해당 분할영역에 대하여 산출된 이진화 기준 임계치(BT)를 이용하여 이진화(binary thresholding)한 이미지를 의미할 수 있다.
즉, 실시예에서 제1 이진화 분할영역 이미지(BDI1)는, 소정의 제1 분할영역 이미지(DI) 내 픽셀 중에서 상기 제1 분할영역 이미지(DI)에 대하여 산출된 제1 이진화 기준 임계치(BT)보다 밝은 픽셀은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화가 수행된 이미지를 의미할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 산출된 복수의 분할영역 각각에 대한 이진화 기준 임계치(BT)를 이용하여 상기 각 분할영역을 독립적으로 이진화할 수 있다.
그리하여 애플리케이션(111)은, 상기 복수의 분할영역 각각에 대하여 생성된 분할영역 이미지(DI)들을 획득할 수 있다.
또한, 애플리케이션(111)은, 상기 복수의 분할영역 이미지(DI) 각각을 해당하는 각 분할영역의 이진화 기준 임계치(BT)에 기초하여 이진화할 수 있다.
즉, 애플리케이션(111)은, 상기 복수의 분할영역 이미지(DI) 각각을 해당하는 각 분할영역의 이진화 기준 임계치(BT)보다 밝은 픽셀은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화를 수행할 수 있다.
그리하여 애플리케이션(111)은, 상기 이진화가 수행된 복수의 분할영역 이미지(DI) 즉, 복수의 이진화 분할영역 이미지(BDI)를 생성할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 4) 상기 생성된 복수의 이진화 분할영역 이미지(BDI)를 결합하여 상술된 이진화 이미지(BI)를 생성할 수 있다. (S207)
자세히, 실시예에서 애플리케이션(111)은, 상기 복수의 이진화 분할영역 이미지(BDI)를 해당하는 식별코드 이미지(I)에서의 각 분할영역별 배열(위치)에 대응되게 나열하여 다시 결합할 수 있다.
즉, 실시예에서 애플리케이션(111)은, 상술된 식별코드 이미지(I) 내 복수의 분할영역별로 생성된 복수의 이진화 분할영역 이미지(BDI)를 상기 식별코드 이미지(I) 내 각 분할영역별 배열(위치)에 대응되도록 재조합할 수 있고, 이를 통해 상기 이진화 이미지(BI)를 생성할 수 있다.
그리하여 애플리케이션(111)은, 상술된 바와 같이 획득된 식별코드 이미지(I)를 이진화 이미지(BI)로 변환할 수 있다.
이와 같이, 애플리케이션(111)은, 상기 식별코드 이미지(I) 내 복수의 분할영역별 이진화 기준 임계치(BT) 각각에 기초한 복수의 이진화 분할영역 이미지(BDI)를 결합하여 해당 식별코드 이미지(I)에 대한 이진화 이미지(BI)를 생성함으로써, 해당하는 식별코드 이미지(I) 내 국소적인 밝기(예컨대, 조명 빛번짐에 의한 국소적 밝기 등)가 해당 식별코드 이미지(I)의 이진화에 미치는 영향을 현저하게 감소시킬 수 있고, 이를 통해 추후 해당 임계치에 기초한 상기 식별코드 이미지(I) 내 2차원 식별코드 감지 성능을 향상시킬 수 있다.
다시 도 4로 돌아와서, 또한 실시예에서 애플리케이션(111)은, 상기 변환된 이진화 이미지(BI) 내 2차원 식별코드를 감지할 수 있다. (S105)
자세히, 실시예에서 애플리케이션(111)은, 위와 같이 생성된 이진화 이미지(BI)를 기초로 해당 이진화 이미지(BI) 내 2차원 식별코드를 감지할 수 있다.
보다 상세히, 실시예에서 애플리케이션(111)은, 상기 이진화 이미지(BI) 내 소정의 고정 패턴이 존재하는지 여부를 판단할 수 있다.
여기서, 실시예에 따른 상기 고정 패턴이란, 소정의 2차원 식별코드를 구현하기 위하여 소정의 규칙에 따라 기 설정되어 있는 포지션 패턴(position marker) 및/또는 정렬 패턴(alignment marker)과 같은 다양한 패턴을 의미할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 이진화 이미지(BI) 내 소정의 고정 패턴이 존재하면, 상기 이진화 이미지(BI)로부터 2차원 식별코드를 감지할 수 있다.
반면, 실시예에서 애플리케이션(111)은, 상기 이진화 이미지(BI) 내 소정의 고정 패턴이 미존재하면, 상기 복수의 분할영역별 이진화 기준 임계치(BT)를 기초로 상기 복수의 분할영역별 추가 기준 임계치를 설정할 수 있다.
여기서, 실시예에 따른 상기 추가 기준 임계치란, 일 분할영역 이미지(DI)에 대한 이진화 기준 임계치(BT)를 기준으로 소정의 밝기만큼 증가 또는 감소한 임계값을 가지면서 해당 일 분할영역 이미지(DI)에 대하여 추가적으로 산출되는 적어도 하나의 이진화 기준 임계치(BT)를 의미할 수 있다.
실시예에서, 이러한 추가 기준 임계치는, 상기 일 분할영역 이미지(DI)에 대한 이진화 기준 임계치(BT)를 기준으로 소정의 밝기 단위로 증가하는 임계값을 가지는 적어도 하나의 추가 증대 임계치와, 상기 일 분할영역에 대한 이진화 기준 임계치(BT)를 기준으로 소정의 밝기 단위로 감소하는 임계값을 가지는 적어도 하나의 추가 감소 임계치를 포함할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 이진화 이미지(BI) 내 소정의 고정 패턴이 미존재하면, 상기 복수의 분할영역별로 복수의 추가 기준 임계치를 설정할 수 있다.
구체적으로, 실시예에서 애플리케이션(111)은, 상기 복수의 분할영역별로 적어도 하나의 추가 증대 임계치와 적어도 하나의 감소 증대 임계치를 산출할 수 있다.
실시예로, 애플리케이션(111)은, 제1 분할영역의 제1 이진화 기준 임계치(BT)를 기준으로 소정의 밝기만큼 증가한 임계값을 가지는 제1 추가 증대 임계치와, 상기 제1 분할영역의 제1 이진화 기준 임계치(BT)를 기준으로 소정의 밝기만큼 감소한 임계값을 가지는 제1 추가 감소 임계치를 산출할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 산출된 복수의 추가 기준 임계치에 따른 복수의 이진화 분할영역 추가 이미지를 생성할 수 있다.
실시예로, 애플리케이션(111)은, 제1 분할영역의 제1 추가 증대 임계치에 따른 이진화 분할영역 추가 이미지와, 상기 제1 분할영역의 제1 추가 감소 임계치에 따른 이진화 분할영역 추가 이미지를 생성할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 생성된 복수의 이진화 분할영역 추가 이미지와 전술한 바와 같이 생성된 이진화 분할영역 이미지(BDI)를 해당하는 분할영역에 대한 증대 분할영역 이미지(DI)로 설정할 수 있다.
실시예로, 애플리케이션(111)은, 제1 분할영역에 대한 복수의 제1 이진화 분할영역 추가 이미지와 상기 제1 분할영역에 대한 제1 이진화 분할영역 이미지(BDI1)를 포함하는 제1 증대 분할영역 이미지(DI)를 상기 제1 분할영역에 매칭하여 설정할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상술된 복수의 분할영역별로 설정된 복수의 증대 분할영역 이미지(DI)를 결합한 추정 이진화 이미지(BI)를 생성할 수 있다.
자세히, 애플리케이션(111)은, 상기 복수의 분할영역별 각각의 증대 분할영역 이미지(DI)가 포함하는 복수의 이미지들(실시예에서, 이진화 분할영역 이미지(BDI)와 복수의 이진화 분할영역 추가 이미지) 각각 간의 모든 가능한 조합에 따라서 복수의 추정 이진화 이미지(BI)를 생성할 수 있다.
실시예로, 애플리케이션(111)은, 제1 분할영역에 대한 복수의 제1 이진화 분할영역 추가 이미지 및 상기 제1 분할영역에 대한 제1 이진화 분할영역 이미지(BDI1)와, 제2 분할영역에 대한 복수의 제2 이진화 분할영역 추가 이미지 및 상기 제1 분할영역에 대한 제2 이진화 분할영역 이미지(BDI)와, 제N 분할영역에 대한 복수의 제N 이진화 분할영역 추가 이미지 및 상기 제N 분할영역에 대한 제N 이진화 분할영역 이미지(BDI) 간의 모든 가능한 조합에 따라서 상기 제1 내지 제N 분할영역별 복수의 증대 분할영역 이미지(DI)를 결합해 복수의 추정 이진화 이미지(BI)를 생성할 수 있다.
또는, 애플리케이션(111)은, 상기 복수의 분할영역별 각각의 증대 분할영역 이미지(DI)가 포함하는 복수의 이미지들(실시예에서, 이진화 분할영역 이미지(BDI)와 복수의 이진화 분할영역 추가 이미지)을 각 이미지에 대응되는 임계치 즉, 상술된 이진화 기준 임계치(BT), 추가 증대 임계치 또는 추가 감소 임계치 별로 그룹화할 수 있다.
그리고 애플리케이션(111)은, 동일한 그룹으로 그룹화된 이미지들 간의 모든 가능한 조합에 따라서 복수의 추정 이진화 이미지(BI)를 생성할 수 있다.
실시예로, 애플리케이션(111)은, 제1 내지 제N 분할영역에 대한 제1 내지 제N 이진화 분할영역 이미지(BDI)들끼리 조합하여 추정 이진화 이미지(BI)를 생성할 수 있고, 제1 내지 제N 분할영역에 대한 제1 내지 제N 추가 증대 임계치에 따른 이진화 분할영역 추가 이미지들끼리 조합하여 추정 이진화 이미지(BI)를 생성할 수 있고, 제1 내지 제N 분할영역에 대한 제1 내지 제N 추가 감소 임계치에 따른 이진화 분할영역 추가 이미지들끼리 조합하여 추정 이진화 이미지(BI)를 생성할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 위와 같이 생성된 복수의 추정 이진화 이미지(BI) 각각에 대한 고정 패턴 존재 여부를 판단할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 판단의 결과 고정 패턴이 존재한다고 판단된 적어도 하나의 추정 이진화 이미지(BI) 중에서, 해당 고정 패턴과의 일치율이 가장 높은 추정 이진화 이미지(BI)를 메인 추정 이진화 이미지(BI)로서 검출할 수 있다.
그리고 실시예에서 애플리케이션(111)은, 상기 검출된 메인 추정 이진화 이미지(BI)에 기초하여 해당 이미지 내 2차원 식별코드를 감지할 수 있다.
즉, 애플리케이션(111)은, 상기 식별코드 이미지(I) 내 분할된 각 영역별로 구분하여 밝기값에 기초한 복수의 이진화 기준 임계치(BT)를 산출하고, 산출된 복수의 이진화 기준 임계치(BT)에 따른 복수의 이진화 이미지(BI)를 생성하고, 생성된 복수의 이진화 이미지(BI) 중에서 기 설정된 고정 패턴과의 일치율이 가장 높은 이진화 이미지(BI)를 이용해 2차원 식별코드 감지를 수행할 수 있다.
이를 통해, 애플리케이션(111)은, 해당하는 식별코드 이미지(I) 내 국소적인 밝기 변화 등과 같은 특성에 따라서 상기 식별코드 이미지(I)에 최적화되는 이진화 기준 임계치(BT)(즉, 상기 식별코드 이미지(I) 내 2차원 식별코드를 정확하게 구분시키는 이진화를 지원하는 이진화 기준 임계치(BT))를 적응적으로 결정할 수 있고, 상기 적응적으로 결정된 최적의 이진화 기준 임계치(BT)를 기초로 상기 식별코드 이미지(I) 내 2차원 식별코드를 감지하여 그 정확성을 제고시킬 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 감지된 2차원 식별코드 정보를 제공할 수 있다. (S107)
자세히, 실시예에서 애플리케이션(111)은, 상기 감지된 2차원 식별코드를 인식하여 상기 2차원 식별코드에 저장된 정보(예컨대, 소정의 웹 사이트 주소, 가상객체 및/또는 인증 정보 등)를 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 위와 같이 획득된 2차원 식별코드 정보를 소정의 방식(예컨대, 디스플레이 출력, 데이터 통신 및/또는 애플리케이션 서비스 등)에 따라서 다양한 방법으로 제공할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 제공된 2차원 식별코드 정보에 기초한 애플리케이션 서비스를 수행할 수 있다. (S109)
그리고 실시예에서 애플리케이션(111)은, 상기 제공된 2차원 식별코드 정보에 기초하여 실행되는 다양한 애플리케이션 서비스를 수행할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 단말 상에서 동작하는 타 애플리케이션 및/또는 외부의 컴퓨팅 디바이스(예컨대, 소정의 타 단말 및/또는 서버 등) 상에서 동작하는 외부 애플리케이션과 연동하여, 상기 2차원 식별코드 정보에 기초한 다양한 애플리케이션 서비스를 수행할 수 있다.
실시예로, 애플리케이션(111)은, 상기 2차원 식별코드 정보를 상기 타 애플리케이션 및/또는 외부 애플리케이션으로 제공할 수 있다.
이때, 실시예로 상기 2차원 식별코드 정보를 제공받은 타 애플리케이션 및/또는 외부 애플리케이션은, 상기 수신된 2차원 식별코드 정보를 기초로 이미지 기반의 2차원 식별코드 인식 및/또는 처리 서비스(예컨대, 2차원 식별코드 정보 내 웹 사이트 주소에 접속하거나, 가상객체를 증강 표시하거나, 인증 프로세스를 실행하는 등의 서비스) 등을 포함하는 다양한 애플리케이션 서비스를 위한 일련의 기능 동작을 수행할 수 있다.
그리하여 애플리케이션(111)은, 상기 타 애플리케이션 및/또는 외부 애플리케이션과의 연동을 통해 상기 2차원 식별코드 정보에 기초한 각종 애플리케이션 서비스를 수행할 수 있다.
따라서, 애플리케이션(111)은, 보다 정확하게 감지된 2차원 식별코드를 기초로 더 높은 품질의 다양한 애플리케이션 서비스가 구현되게 지원할 수 있다.
- 2차원 식별코드 검출을 위하여 동적 영상 임계치를 설정하는 다른 방법
이하에서는, 본 발명의 실시예에 따른 애플리케이션(111)이 2차원 식별코드 검출을 위한 동적 영상 임계치를 설정하는 다른 방법을 첨부된 도면들을 참조하여 상세히 설명한다. 이때, 상술된 설명과 중복되는 기재는 요약되거나 생략될 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 2차원 식별코드를 촬영한 식별코드 이미지(I)를 획득할 수 있다.
여기서, 다시 말하자면 실시예에서 상기 2차원 식별코드는, 포지션 패턴(position marker) 및 정렬 패턴(alignment marker)과 같은 다양한 고정 패턴들을 소정의 규칙들에 따라서 평면(2차원) 상에 배치함으로써 구현되는 식별코드를 의미한다. 일반적으로 이러한 2차원 식별코드는 검정 패턴과 흰색 패턴들이 기하학적 구조로 이루어지도록 구현되며, 실시예로 QR(Quick Response) 코드, 아즈텍(Aztec) 코드 및/또는 퀵마커(Quickmark) 등일 수 있다.
보다 상세히, 실시예에서 애플리케이션(111)은, 위와 같은 2차원 식별코드를 소정의 이미지 센서(161)를 이용하여 촬영한 식별코드 이미지(I)를 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 획득된 식별코드 이미지(I)를 이진화 이미지(BI)로 변환할 수 있다.
여기서, 다시 말하자면 실시예에서 상기 이진화 이미지(BI)는, 기 설정된 임계값(Threshold)보다 밝은 픽셀들은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화(binary thresholding)가 수행된 이미지를 의미할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법을 설명하기 위한 흐름도이다.
자세히, 도 7을 참조하면, 실시예에서 애플리케이션(111)은, 1) 소정의 기준에 따라서 복수의 밝기 구간을 설정할 수 있다.
자세히, 애플리케이션(111)은, 이미지 포맷(Image format)에 따른 밝기 범위(예컨대, 0~255 등)를 소정의 기준에 따라서 제1 내지 제N 밝기 구간으로 나눌 수 있다.
이때, 상기 제1 내지 제N 밝기 구간은, 제1 밝기 구간에서 제N 밝기 구간으로 갈수록 더 큰 밝기값을 가질 수 있다.
예를 들면, 애플리케이션(111)은, 소정의 기준에 따라서 제1 밝기 구간은 낮은 밝기 구간, 제2 밝기 구간은 중간 밝기 구간 그리고 제3 밝기 구간은 높은 밝기 구간으로 하는 제1 내지 제N 밝기 구간을 설정할 수 있다.
또한, 애플리케이션(111)은, 2) 상기 식별코드 이미지(I)를 소정의 기준에 따른 복수의 영역으로 그리드 분할(Grid division)할 수 있다.
예를 들면, 애플리케이션(111)은, 상기 식별코드 이미지(I)에 대한 그리드 분할을 수행하여 상기 식별코드 이미지(I)를 '4행 3열(4 by 3)'의 복수의 영역으로 분할할 수 있다.
이때, 실시예에 따라서 애플리케이션(111)은, 상기 식별코드 이미지(I)를 그레이 스케일(Grayscale)로 변환하여 후술되는 프로세스를 진행할 수도 있다.
또한, 실시예에서 애플리케이션(111)은, 3) 상기 복수의 분할영역 각각에 대한 높은 임계값, 중간 임계값 및 낮은 임계값을 산출할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 제1 분할영역에 대한 제1 밝기 평균값을 산출할 수 있다.
또한, 애플리케이션(111)은, 상기 산출된 제1 밝기 평균값을 상기 제1 분할영역에 대한 제1 중간 임계값으로 설정할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 제1 밝기 평균값에 소정의 밝기값을 가감하는 방식으로 상기 제1 분할영역에 대한 높은 임계값 또는 낮은 임계값을 설정할 수 있다.
자세히, 애플리케이션(111)은, 상기 제1 밝기 평균값에 소정의 밝기만큼 증가한 임계값을 가지는 제1 높은 임계값을 설정할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 제1 밝기 평균값에 소정의 밝기만큼 감소한 임계값을 가지는 제1 낮은 임계값을 설정할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 복수의 분할영역별 밝기 평균값에 기초한 편차를 계산하는 방법을 설명하기 위한 도면의 일례이다.
또한, 도 8을 참조하면, 실시예에서 애플리케이션(111)은, 4) 상기 복수의 분할영역 각각에 대한 밝기 평균값을 산출하고, 산출된 분할영역별 밝기 평균값들 간의 편차를 계산할 수 있다.
즉, 애플리케이션(111)은, 상기 식별코드 이미지(I) 내 복수의 분할영역에 따른 지역적 영역 간의 밝기에 상호 편차가 존재하는지를 판단할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 5) 상기 계산된 편차와 소정의 기준치를 비교하여 적용 임계값 우선순위를 결정할 수 있다.
여기서, 실시예에 따른 상기 적용 임계값 우선순위란, 상술된 분할영역별로 산출된 높은 임계값, 중간 임계값 및/또는 낮은 임계값을 포함하는 복수의 임계값을 해당하는 분할영역에 대한 적용 임계값으로 사용할 순서(실시예에서, 적용 임계값으로 사용하기 적합한 순서)를 부여한 정보일 수 있다.
여기서, 실시예에 따른 상기 적용 임계값이란, 상기 높은 임계값, 중간 임계값 및/또는 낮은 임계값을 포함하는 복수의 임계값 중에서 상기 분할영역별 이진화 수행의 기준이 되는 임계값으로 사용되는 임계값을 의미할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 계산된 편차가 소정의 기준치 이상이면, 상기 복수의 분할영역 각각에 대한 밝기 평균값이 상술된 제1 내지 제N 밝기 구간 중에서 어느 구간에 가장 많이 속하는지 판단할 수 있다.
이때, 실시예에서 애플리케이션(111)은, 상기 복수의 분할영역 각각의 밝기 평균값이 제1 밝기 구간(즉, 낮은 밝기 구간)에 가장 많이 포함되는 경우, 상기 제1 밝기 구간에 포함되는 복수의 분할영역(이하, 어두운 그리드 영역)에 대한 높은 임계값, 중간 임계값 및/또는 낮은 임계값을 포함하는 복수의 임계값을 기초로 상기 적용 임계값 우선순위를 결정할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 어두운 그리드 영역 각각의 높은 임계값, 중간 임계값 및 낮은 임계값 별 평균을 계산하여, 상기 어두운 그리드 영역에 대한 높은 평균 임계값, 중간 평균 임계값 및 낮은 평균 임계값을 산출할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 산출된 낮은 평균 임계값, 높은 평균 임계값 그리고 중간 평균 임계값 순으로 상기 적용 임계값 우선순위를 결정할 수 있다.
또는, 실시예에 따라서 애플리케이션(111)은, 상기 어두운 그리드 영역 전체에 대한 밝기 평균값을 산출하여 상기 어두운 그리드 영역에 대한 중간 평균 임계값으로 설정할 수 있다.
또한, 애플리케이션(111)은, 상기 어두운 그리드 영역에 대한 중간 평균 임계값에 소정의 밝기만큼 증가한 임계값을 가지는 임계값을 상기 어두운 그리드 영역에 대한 높은 평균 임계값을 설정할 수 있다.
또한, 애플리케이션(111)은, 상기 어두운 그리드 영역에 대한 중간 평균 임계값에 소정의 밝기만큼 감소한 임계값을 가지는 임계값을 상기 어두운 그리드 영역에 대한 낮은 평균 임계값을 설정할 수 있다.
그리고 애플리케이션(111)은, 상기 설정된 낮은 평균 임계값, 높은 평균 임계값 그리고 중간 평균 임계값 순으로 상기 적용 임계값 우선순위를 결정할 수도 있다.
한편, 실시예에서 애플리케이션(111)은, 상기 복수의 분할영역 각각의 밝기 평균값이 제N 밝기 구간(즉, 높은 밝기 구간)에 가장 많이 포함되는 경우, 상기 제N 밝기 구간에 포함되는 복수의 분할영역(이하, 밝은 그리드 영역)에 대한 높은 임계값, 중간 임계값 및/또는 낮은 임계값을 포함하는 복수의 임계값을 기초로 상기 적용 임계값 우선순위를 결정할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 밝은 그리드 영역 각각의 높은 임계값, 중간 임계값 및 낮은 임계값 별 평균을 계산하여, 상기 밝은 그리드 영역에 대한 높은 평균 임계값, 중간 평균 임계값 및 낮은 평균 임계값을 산출할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 산출된 높은 평균 임계값, 낮은 평균 임계값 그리고 중간 평균 임계값 순으로 상기 적용 임계값 우선순위를 결정할 수 있다.
또는, 실시예에 따라서 애플리케이션(111)은, 상기 밝은 그리드 영역 전체에 대한 밝기 평균값을 산출하여 상기 밝은 그리드 영역에 대한 중간 평균 임계값으로 설정할 수 있다.
또한, 애플리케이션(111)은, 상기 어두운 그리드 영역에 대한 중간 평균 임계값에 소정의 밝기만큼 증가한 임계값을 가지는 임계값을 상기 어두운 그리드 영역에 대한 높은 평균 임계값을 설정할 수 있다.
또한, 애플리케이션(111)은, 상기 어두운 그리드 영역에 대한 중간 평균 임계값에 소정의 밝기만큼 감소한 임계값을 가지는 임계값을 상기 어두운 그리드 영역에 대한 낮은 평균 임계값을 설정할 수 있다.
그리고 애플리케이션(111)은, 상기 설정된 높은 평균 임계값, 낮은 평균 임계값 그리고 중간 평균 임계값 순으로 상기 적용 임계값 우선순위를 결정할 수도 있다.
반면, 실시예에서 애플리케이션(111)은, 상기 계산된 편차가 소정의 기준치 미만이면, 상기 복수의 분할영역에 대한 복수의 중간 임계값의 평균 밝기값 및/또는 상기 식별코드 이미지(I) 내 모든 픽셀에 대한 평균 밝기값을 최우선순위로 하도록 상기 적용 임계값 우선순위를 결정할 수 있다.
이때, 애플리케이션(111)은, 상기 편차가 소정의 기준치 미만일 때의 적용 임계값 우선순위의 나머지 순서를 상술된 바와 같은 방식으로 설정할 수 있다.
이와 같이, 애플리케이션(111)은, 식별코드 이미지(I)를 복수의 영역으로 분할하고, 각 분할영역 간의 밝기 편차를 고려하여 해당 식별코드 이미지(I)에 대한 이진화 기준 임계값을 동적으로 결정함으로써, 식별코드 이미지(I) 내 국소적 밝기의 영향으로 인한 2차원 식별코드 검출 오류를 최소화할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 6) 상기 결정된 적용 임계값 우선순위를 기초로 상기 식별코드 이미지(I)에 대한 이진화 이미지(BI)를 생성할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 결정된 적용 임계값 우선순위 내 제1 내지 제3 적용 임계값을 순차적으로 사용하여 상기 식별코드 이미지(I)를 이진화한 이진화 이미지(BI)를 생성할 수 있다.
보다 상세히, 실시예에서 애플리케이션(111)은, 상기 식별코드 이미지(I)를 상기 적용 임계값 우선순위 내 제1 적용 임계값(즉, 최우선순위 임계값)을 기준으로 하여, 상기 제1 적용 임계값보다 밝은 픽셀들은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화를 수행할 수 있다.
실시예로, 애플리케이션(111)은, 상기 식별코드 이미지(I)가 밝은 그리드 영역을 더 많이 포함하여 상기 적용 임계값 우선순위가 높은 평균 임계값, 낮은 평균 임계값 그리고 중간 평균 임계값 순으로 결정되어 있는 경우, 상기 식별코드 이미지(I)를 상기 높은 평균 임계값(즉, 제1 적용 임계값)에 기준하여 이진화할 수 있다.
마찬가지 방식으로, 애플리케이션(111)은, 상기 식별코드 이미지(I)가 어두운 그리드 영역을 더 많이 포함하여 상기 적용 임계값 우선순위가 낮은 평균 임계값, 높은 평균 임계값 그리고 중간 평균 임계값 순으로 결정되어 있는 경우, 상기 식별코드 이미지(I)를 상기 낮은 평균 임계값(즉, 제1 적용 임계값)에 기준하여 이진화할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 제1 적용 임계값에 기준하여 생성된 이진화 이미지(BI) 내 소정의 고정 패턴이 존재하는지 여부를 판단할 수 있다.
여기서, 다시 말하자면, 상기 고정 패턴은, 소정의 2차원 식별코드를 구현하기 위하여 소정의 규칙에 따라 기 설정되어 있는 포지션 패턴(position marker) 및/또는 정렬 패턴(alignment marker)과 같은 다양한 패턴을 의미할 수 있다.
이때, 실시예에서 애플리케이션(111)은, 상기 이진화 이미지(BI) 내 소정의 고정 패턴이 미존재하면, 상기 적용 임계값 우선순위 내 제2 적용 임계값(즉, 제1 적용 임계값에 대한 차순위 임계값)을 기준으로 하여, 상기 제2 적용 임계값보다 밝은 픽셀들은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화를 수행할 수 있다.
실시예로, 애플리케이션(111)은, 상기 식별코드 이미지(I)가 밝은 그리드 영역을 더 많이 포함하여 상기 적용 임계값 우선순위가 높은 평균 임계값, 낮은 평균 임계값 그리고 중간 평균 임계값 순으로 결정되어 있는 경우, 상기 식별코드 이미지(I)를 상기 낮은 평균 임계값(즉, 제2 적용 임계값)에 기준하여 이진화할 수 있다.
동일한 방식으로, 애플리케이션(111)은, 상기 식별코드 이미지(I)가 어두운 그리드 영역을 더 많이 포함하여 상기 적용 임계값 우선순위가 낮은 평균 임계값, 높은 평균 임계값 그리고 중간 평균 임계값 순으로 결정되어 있는 경우, 상기 식별코드 이미지(I)를 상기 높은 평균 임계값(즉, 제2 적용 임계값)에 기준하여 이진화할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 제2 적용 임계값에 기준하여 생성된 이진화 이미지(BI) 내 소정의 고정 패턴이 존재하는지 여부를 판단할 수 있다.
그리고 애플리케이션(111)은, 상기 고정 패턴이 또 다시 미존재하면, 상기 적용 임계값 우선순위 내 또 다른 차순위 임계값(실시예에서, 제3 적용 임계값)을 순차적으로 적용하여 상술된 프로세스를 반복 수행할 수 있다.
이와 같이, 애플리케이션(111)은, 해당 식별코드 이미지(I) 내 밝기 상태를 고려하여 설정한 복수의 이진화 기준 임계치(BT)를 우선순위에 따라서 순차적으로 이진화에 적용 및 평가하는 과정을 반복함으로써, 상기 식별코드 이미지(I)의 밝기 상태에 따라서 동적으로 결정되어 있는 복수의 이진화 기준 임계치(BT)들을 체계적이고 합리적인 프로세스에 따라서 차례로 적용해보고, 그 결과의 품질이 가장 좋은 임계치를 기초로 상기 식별코드 이미지(I)를 이진화 이미지(BI)로 변환할 수 있다.
즉, 실시예에서 애플리케이션(111)은, 상술된 바와 같이 결정된 적용 임계값 우선순위를 기초로 상기 식별코드 이미지(I)에 대한 이진화 이미지(BI) 생성함으로써 상기 식별코드 이미지(I)를 이진화 이미지(BI)로 변환할 수 있다.
다시 돌아와서, 또한 실시예에서 애플리케이션(111)은, 상기 변환된 이진화 이미지(BI) 내 2차원 식별코드를 감지할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 위와 같이 생성된 이진화 이미지(BI)를 기초로 해당 이진화 이미지(BI) 내 2차원 식별코드를 감지할 수 있다.
보다 상세히, 실시예에서 애플리케이션(111)은, 상기 이진화 이미지(BI) 내 소정의 고정 패턴을 검출할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 검출된 고정 패턴에 기초하여 상기 이진화 이미지(BI) 내 2차원 식별코드를 감지할 수 있다.
이때, 실시예에 따라서 애플리케이션(111)은, 상기 고정 패턴 검출률이 소정의 기준 미만이면, 상기 적용 임계값에 기초하여 추가 기준 임계치를 설정할 수 있다.
즉, 애플리케이션(111)은, 상기 식별코드 이미지(I)에 대한 적용 임계값을 기준으로 소정의 밝기만큼 증가 또는 감소한 임계값을 가지면서 해당 식별코드 이미지(I)에 대하여 추가적으로 산출되는 적어도 하나의 적용 임계값을 상기 추가 기준 임계치로서 설정할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 설정된 추가 기준 임계치를 기초로 해당 식별코드 이미지(I)를 이진화하여 이진화 이미지(BI)를 생성할 수 있고, 상기 생성된 이진화 이미지(BI) 내 소정의 고정 패턴을 검출하여 2차원 식별코드를 감지할 수 있다.
따라서, 애플리케이션(111)은, 보다 다각화된 방식으로 해당 식별코드 이미지(I)에 대한 적용 임계값을 동적 설정하여 이진화를 위한 최적의 적용 임계값의 적중률을 향상시킬 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 감지된 2차원 식별코드 정보를 제공할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 감지된 2차원 식별코드를 인식하여 상기 2차원 식별코드에 저장된 정보(예컨대, 소정의 웹 사이트 주소, 가상객체 및/또는 인증 정보 등)를 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 위와 같이 획득된 2차원 식별코드 정보를 소정의 방식(예컨대, 디스플레이 출력, 데이터 통신 및/또는 애플리케이션 서비스 등)에 따라서 다양한 방법으로 제공할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 제공된 2차원 식별코드 정보에 기초한 애플리케이션 서비스를 수행할 수 있다.
그리고 실시예에서 애플리케이션(111)은, 상기 제공된 2차원 식별코드 정보에 기초하여 실행되는 다양한 애플리케이션 서비스를 수행할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 단말 상에서 동작하는 타 애플리케이션 및/또는 외부의 컴퓨팅 디바이스(예컨대, 소정의 타 단말 및/또는 서버 등) 상에서 동작하는 외부 애플리케이션과 연동하여, 상기 2차원 식별코드 정보에 기초한 다양한 애플리케이션 서비스를 수행할 수 있다.
실시예로, 애플리케이션(111)은, 상기 2차원 식별코드 정보를 상기 타 애플리케이션 및/또는 외부 애플리케이션으로 제공할 수 있다.
이때, 실시예로 상기 2차원 식별코드 정보를 제공받은 타 애플리케이션 및/또는 외부 애플리케이션은, 상기 수신된 2차원 식별코드 정보를 기초로 이미지 기반의 2차원 식별코드 인식 및/또는 처리 서비스(예컨대, 2차원 식별코드 정보 내 웹 사이트 주소에 접속하거나, 가상객체를 증강 표시하거나, 인증 프로세스를 실행하는 등의 서비스) 등을 포함하는 다양한 애플리케이션 서비스를 위한 일련의 기능 동작을 수행할 수 있다.
그리하여 애플리케이션(111)은, 상기 타 애플리케이션 및/또는 외부 애플리케이션과의 연동을 통해 상기 2차원 식별코드 정보에 기초한 각종 애플리케이션 서비스를 수행할 수 있다.
그리하여 애플리케이션(111)은, 보다 정확하게 감지된 2차원 식별코드에 기초해 더 높은 품질의 다양한 애플리케이션 서비스가 구현되도록 지원할 수 있다.
이상에서는, 효과적인 설명을 위하여 실시예들을 상술된 바와 같이 구분하여 설명하였으나, 실시예에 따라서 상기 실시예들 중 적어도 일부가 상호 유기적으로 결합하여 동작할 수도 있는 등 다양한 실시예 또한 가능할 수 있다.
이상, 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템은, 이미지 내 밝기값을 기초로 2차원 식별코드 검출을 위한 이진화 기준 임계치(BT)를 동적으로 결정함으로써, 상기 이미지를 촬영하는 환경적 요인(예컨대, 조명 조건 등)의 변화에 따라서 해당 이미지 내 밝기가 유동적으로 변화하거나 소정의 노이즈(예컨대, 국소적인 밝기값 등)가 발생하더라도 이에 관계없이 해당 이미지 내 2차원 식별코드를 정확하게 구분시키는 이진화(Binary thresholding)를 지원하는 기준 임계치를 결정할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템은, 상기 동적으로 결정되는 이진화 기준 임계치(BT)(즉, 적응적 임계값(adaptive threshold))을 복수 개 산출함으로써, 상기 복수의 적응적 임계값을 토대로 다각화된 이진화 이미지(BI)를 획득할 수 있고, 이들 중 가장 높은 검출률을 가지는 이진화 이미지(BI)를 기초로 2차원 식별코드 감지를 수행하여 상기 이미지 내 국소적인 밝기 차이가 현저한 상황 등과 같이 2차원 식별코드 검출을 방해하는 노이즈가 존재할 시에도 2차원 식별코드 감지 정확도 및 성능을 향상시킬 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템은, 상기 산출된 복수의 적응적 임계값에 우선순위를 부여하고, 부여된 우선순위에 따라서 순차적으로 임계값 적용을 수행함으로써, 상기 복수의 적응적 임계값들에 기초한 체계적이고 합리적인 프로세스에 따라서 상기 이미지 내 2차원 식별코드를 감지해 그 정확성 및 신뢰성을 향상시킬 수 있는 효과가 있다.
한편, 이상에서 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.
Claims (10)
- 단말의 적어도 하나의 프로세서에 의하여 실행되는 임계치 설정 애플리케이션이 2차원 식별코드 검출을 위한 동적 영상 임계치를 설정하는 방법으로서,
2차원 식별코드를 촬영한 식별코드 이미지를 획득하는 단계;
상기 획득된 식별코드 이미지를 이진화 이미지로 변환하는 단계;
상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하는 단계; 및
상기 감지된 2차원 식별코드를 인식하여 획득된 정보에 따라서 소정의 작업을 수행하는 단계를 포함하고,
상기 식별코드 이미지를 이진화 이미지로 변환하는 단계는,
상기 식별코드 이미지를 복수의 영역으로 분할하는 단계와,
상기 복수의 분할영역 각각에 대한 이진화 기준 임계치를 산출하는 단계와,
상기 산출된 이진화 기준 임계치를 기초로 상기 복수의 분할영역 각각에 대한 이진화(Binary thresholding)를 수행하여 복수의 이진화 분할영역 이미지를 생성하는 단계와,
상기 생성된 복수의 이진화 분할영역 이미지를 결합하여 상기 이진화 이미지를 생성하는 단계를 포함하고,
상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하는 단계는,
상기 이진화 이미지 내 소정의 고정 패턴이 존재하는지 판단하는 단계를 포함하고,
상기 식별코드 이미지를 이진화 이미지로 변환하는 단계는,
상기 고정 패턴이 미존재하면 상기 복수의 분할영역별 이진화 기준 임계치를 기초로 상기 복수의 분할영역별 추가 기준 임계치를 산출하는 단계와,
상기 산출된 추가 기준 임계치를 기초로 상기 복수의 분할영역 각각에 대한 이진화를 수행하여 복수의 이진화 분할영역 추가 이미지를 생성하는 단계와,
상기 생성된 복수의 이진화 분할영역 추가 이미지 및 상기 복수의 이진화 분할영역 이미지를 소정의 방식에 따라서 결합하여 복수의 추정 이진화 이미지를 생성하는 단계를 더 포함하는
2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법. - 제1 항에 있어서,
상기 이진화 이미지는,
상기 이진화 기준 임계치보다 밝은 픽셀들은 모두 흰색으로, 그렇지 않은 픽셀들은 모두 검정색으로 변환하는 이진화가 수행된 이미지인
2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법. - 제1 항에 있어서,
상기 복수의 분할영역 각각에 대한 이진화 기준 임계치를 산출하는 단계는,
상기 복수의 분할영역 내 제1 분할영역이 포함하는 픽셀들의 밝기 평균값을 산출하는 단계와,
상기 산출된 밝기 평균값을 상기 제1 분할영역에 대한 이진화 기준 임계치로 결정하는 단계를 포함하는
2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법. - 삭제
- 제3 항에 있어서,
상기 추가 기준 임계치는,
상기 복수의 분할영역 내 제1 분할영역에 대한 이진화 기준 임계치를 기준으로 소정의 수치만큼 증가 또는 감소한 임계값을 가지면서 상기 제1 분할영역에 대하여 추가적으로 산출되는 적어도 하나의 이진화 기준 임계치인
2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법. - 삭제
- 제1 항에 있어서,
상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하는 단계는,
상기 생성된 복수의 추정 이진화 이미지 내 소정의 고정 패턴이 존재하는지 판단하는 단계와,
상기 고정 패턴이 존재하는 추정 이진화 이미지를 기초로 상기 2차원 식별코드를 감지하는 단계를 더 포함하는
2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법. - 삭제
- 삭제
- 2차원 식별코드를 출력하는 적어도 하나 이상의 디스플레이;
적어도 하나 이상의 메모리; 및
적어도 하나 이상의 프로세서; 를 포함하고,
상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 2차원 식별코드 검출을 위한 동적 영상 임계치를 설정하는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은,
상기 2차원 식별코드를 촬영한 식별코드 이미지를 획득하고,
상기 획득된 식별코드 이미지를 이진화 이미지로 변환하고,
상기 변환된 이진화 이미지 내 2차원 식별코드를 감지하고,
상기 감지된 2차원 식별코드에 기초한 정보 및 서비스 중 적어도 하나를 제공하며,
상기 식별코드 이미지를 복수의 영역으로 분할하고,
상기 복수의 분할영역 각각에 대한 이진화 기준 임계치를 산출하고,
상기 산출된 이진화 기준 임계치를 기초로 상기 복수의 분할영역 각각에 대한 이진화(Binary thresholding)를 수행하여 복수의 이진화 분할영역 이미지를 생성하고,
상기 생성된 복수의 이진화 분할영역 이미지를 결합하여 상기 이진화 이미지를 생성하고,
상기 적어도 하나의 애플리케이션은,
상기 이진화 이미지 내 소정의 고정 패턴이 존재하는지 판단하고,
상기 고정 패턴이 미존재하면 상기 복수의 분할영역별 이진화 기준 임계치를 기초로 상기 복수의 분할영역별 추가 기준 임계치를 산출하고,
상기 산출된 추가 기준 임계치를 기초로 상기 복수의 분할영역 각각에 대한 이진화를 수행하여 복수의 이진화 분할영역 추가 이미지를 생성하고,
상기 생성된 복수의 이진화 분할영역 추가 이미지 및 상기 복수의 이진화 분할영역 이미지를 소정의 방식에 따라서 결합하여 복수의 추정 이진화 이미지를 생성하는
2차원 식별코드 검출을 위한 동적 영상 임계치 설정 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/993,645 US20230161989A1 (en) | 2021-11-23 | 2022-11-23 | Method and system for setting dynamic image threshold for two-dimensional identification code detection |
EP22209064.9A EP4184381A1 (en) | 2021-11-23 | 2022-11-23 | Method and system for setting dynamic image threshold for two-dimensional identification code detection |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210161958 | 2021-11-23 | ||
KR1020210161958 | 2021-11-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102467036B1 true KR102467036B1 (ko) | 2022-11-14 |
Family
ID=84043157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210189341A KR102467036B1 (ko) | 2021-11-23 | 2021-12-28 | 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102467036B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893457A (zh) * | 2024-03-18 | 2024-04-16 | 深圳市塔联科技有限公司 | Pcb板智能检测方法、装置和计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100341601B1 (ko) | 2000-12-01 | 2002-06-22 | 김지영 | 2차원 바코드 정보 인식방법 |
KR101517181B1 (ko) * | 2014-02-28 | 2015-05-04 | 주식회사 코아로직 | 차선 이탈 경보 시스템 및 방법 |
KR20170041179A (ko) * | 2017-04-03 | 2017-04-14 | (주)인스타페이 | 이미지 코드를 이용한 정보 제공 방법과 시스템 및 기록매체 |
KR20190055479A (ko) * | 2017-11-15 | 2019-05-23 | 주식회사 아이피엘 | 마커 인식 시스템 및 방법 |
-
2021
- 2021-12-28 KR KR1020210189341A patent/KR102467036B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100341601B1 (ko) | 2000-12-01 | 2002-06-22 | 김지영 | 2차원 바코드 정보 인식방법 |
KR101517181B1 (ko) * | 2014-02-28 | 2015-05-04 | 주식회사 코아로직 | 차선 이탈 경보 시스템 및 방법 |
KR20170041179A (ko) * | 2017-04-03 | 2017-04-14 | (주)인스타페이 | 이미지 코드를 이용한 정보 제공 방법과 시스템 및 기록매체 |
KR20190055479A (ko) * | 2017-11-15 | 2019-05-23 | 주식회사 아이피엘 | 마커 인식 시스템 및 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893457A (zh) * | 2024-03-18 | 2024-04-16 | 深圳市塔联科技有限公司 | Pcb板智能检测方法、装置和计算机设备 |
CN117893457B (zh) * | 2024-03-18 | 2024-05-14 | 深圳市塔联科技有限公司 | Pcb板智能检测方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9727775B2 (en) | Method and system of curved object recognition using image matching for image processing | |
CN107633526B (zh) | 一种图像跟踪点获取方法及设备、存储介质 | |
CN105283905B (zh) | 使用点和线特征的稳健跟踪 | |
EP3271867B1 (en) | Local change detection in video | |
US9478037B2 (en) | Techniques for efficient stereo block matching for gesture recognition | |
CN111435438A (zh) | 适于增强现实、虚拟现实和机器人的图形基准标记识别 | |
US8908911B2 (en) | Redundant detection filtering | |
US8879829B2 (en) | Fast correlation search for stereo algorithm | |
CN106560840B (zh) | 一种图像信息识别处理方法及装置 | |
US20140233800A1 (en) | Method of tracking object and electronic device supporting the same | |
US20140270362A1 (en) | Fast edge-based object relocalization and detection using contextual filtering | |
US20160077711A1 (en) | Method and electronic device for providing information | |
US9195872B2 (en) | Object tracking method and apparatus | |
US9424651B2 (en) | Method of tracking marker and electronic device thereof | |
US9491402B2 (en) | Electronic device and method of processing image in electronic device | |
WO2018184255A1 (zh) | 图像校正的方法和装置 | |
EP2950273A2 (en) | Image processing method and electronic device implementing the same | |
WO2017056312A1 (ja) | 画像処理プログラムおよび画像処理装置 | |
CN111767750A (zh) | 图像处理方法和装置 | |
KR102467036B1 (ko) | 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템 | |
US20230161989A1 (en) | Method and system for setting dynamic image threshold for two-dimensional identification code detection | |
CN107357422B (zh) | 摄像机-投影交互触控方法、装置及计算机可读存储介质 | |
CN114119964A (zh) | 一种网络训练的方法及装置、目标检测的方法及装置 | |
CN108353210A (zh) | 处理方法与终端 | |
CN110827254A (zh) | 图像清晰度的确定方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |