KR102343439B1 - 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치 - Google Patents

바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치 Download PDF

Info

Publication number
KR102343439B1
KR102343439B1 KR1020210082378A KR20210082378A KR102343439B1 KR 102343439 B1 KR102343439 B1 KR 102343439B1 KR 1020210082378 A KR1020210082378 A KR 1020210082378A KR 20210082378 A KR20210082378 A KR 20210082378A KR 102343439 B1 KR102343439 B1 KR 102343439B1
Authority
KR
South Korea
Prior art keywords
barcode
image
barcode image
area
recognition device
Prior art date
Application number
KR1020210082378A
Other languages
English (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 KR1020210082378A priority Critical patent/KR102343439B1/ko
Priority to KR1020210178744A priority patent/KR102616938B1/ko
Application granted granted Critical
Publication of KR102343439B1 publication Critical patent/KR102343439B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치에 관한 것이다. 바코드 영역 검출 방법은 바코드 인식 장치가 바코드 이미지를 수신하는 단계, 바코드 인식 장치가 바코드 이미지에 대한 이미지 전처리를 수행하여 전처리 바코드 이미지를 생성하는 단계와 바코드 인식 장치가 전처리 바코드 이미지를 기반으로 바코드 영역을 결정하는 단계를 포함할 수 있다.

Description

바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치{Method for detecting barcode area and device for performing the method}
본 발명은 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치에 관한 것이다. 바코드 이미지 전처리와 연결 요소 레이블링을 기반으로 빠르고 정확하게 바코드 영역을 검출하고 바코드 객체를 인식하기 위한 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치에 관한 것이다.
바코드는 물품의 정보를 표시하는 라벨로써 안정적으로 정보를 담고 이를 빠르게 읽을 수 있는 장점 때문에 현재까지도 광범위하게 사용되고 있다. 무엇보다 바코드는 생산되는 제품에 정해진 코드를 부여함으로서, 저렴한 가격으로 효율적인 상품 관리를 가능하게 한다. 바코드는 전세계적으로 사용되고 있고, 소비자는 바코드를 이용해 상품의 정보를 손쉽게 얻을 수 있다.
바코드는 일반적으로 레이저 스캐너를 통해 인식되는데 레이저 스캐너를 바코드에 가까이 접촉하는 과정이 필요하다. 이러한 문제를 해결하기 위해 영상 속에서 바코드를 검출하는 기술이 꾸준히 연구되고 있다.
예를 들면, 스켈레토나이징(skeletonizing)으로 알려진 모포로지컬(morphological) 처리를 통해 영상에서 바코드의 위치를 검출하는 방법이 있다. 하지만 이 방법은 바코드가 기울어져 있을 경우 바코드의 주파수 성질이 변해 검출할 수 없는 한계점을 가지고 있다.
또한, 허프 변환(Hough Transform, HT)을 이용해 영상 내 바코드의 기울어진 각도를 계산하고, 이를 회전시켜 바코드를 검출하는 방법이 있다. 허프 변환은 영상 속에서 특정 모양을 투표 방식으로 검출하는 알고리즘이다. 예를 들어 입력한 영상이 M개의 에지 픽셀을 가지고 있다면, M개의 픽셀들의 수만큼 2차원 파라미터 공간에 투표 결과를 저장한다. 즉, 입력 영상의 해상도가 커질수록 많은 연산량과 높은 메모리를 요구한다. 그러므로, 이 방법은 모든 경계선 값의 투표를 통해 직선을 검출하기 때문에 다른 직선 형태의 노이즈가 있을 경우 안정적으로 동작하지 않는다.
또한, 확률적 허프 변환(Probabilistic Hough Transfom, PHT)을 사용해 조밀하게 분포하는 평행선들을 찾아 바코드를 검출하는 방법이 있다. 확률적 허프 변환은 투표에 참여 가능한 자격 조건을 두고, 조건에 부합하는 픽셀들만 투표에 참여시킴으로써 입력 영상의 해상도가 커지더라도 많은 연상량과 높은 메모리를 요구하지 않으며, 자격 조건을 통해 사용자가 원하는 모양을 검출할 수 있다. 하지만, 확률적 허프 변환만을 이용해 바코드를 검출하면, 직선 형태의 노이즈가 포함된 경우, 바코드 검출 정확도가 낮은 단점이 있다.
따라서, 기존의 바코드 검출의 문제점을 해결하기 위한 방범에 대한 연구가 필요하다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은, 이미지 전처리와 연결 요소 레이블링을 기반으로 바코드 이미지 상에서 바코드 객체를 정확하고 빠르게 추출하는 것을 목적으로 한다.
또한, 본 발명은, 이미지 전처리 과정을 거치고, 워스트 케이스(Worst-case)를 염두에 둔 알고리즘을 기반으로 데이터가 부정확한 이미지에서도 바코드 영역을 빠르고 정확하게 검출하는 것을 목적으로 한다.
또한, 본 발명은, 이미지 전처리 과정을 통해 조명 조건이나 촬영 장비 조율 상태가 열악한 경우에도 유효한 데이터를 획득하여 영역을 검출하여 컴퓨터 비전 기술을 실제 적용할 때 장비 설치 비용이나 시간을 절감시키고, 최적화된 전처리 과정과 단순한 연산 과정을 통해 바코드 영역을 짧은 시간 안에 찾아내는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 실시예에 따르면, 바코드 영역 검출 방법은 바코드 인식 장치가 바코드 이미지를 수신하는 단계, 상기 바코드 인식 장치가 상기 바코드 이미지에 대한 이미지 전처리를 수행하여 전처리 바코드 이미지를 생성하는 단계와 상기 바코드 인식 장치가 상기 전처리 바코드 이미지를 기반으로 바코드 영역을 결정하는 단계를 포함할 수 있다.
한편, 상기 전처리 바코드 이미지를 생성하는 단계는 상기 바코드 인식 장치가 상기 바코드 이미지를 축소하여 바코드 이미지(축소)를 생성하는 단계, 상기 바코드 인식 장치가 상기 바코드 이미지(축소)에 대한 정규화를 수행하여 바코드 이미지(정규화)를 생성하는 단계, 상기 바코드 인식 장치가 상기 바코드 이미지(정규화)에 대한 모폴로지 연산을 처리를 수행하여 바코드 이미지(블랙햇)을 생성하는 단계, 상기 바코드 인식 장치가 상기 바코드 이미지(블랙햇)에 대해 가우시안 컨벌루션 연산을 수행하여 바코드 이미지(가우시안 컨벌루션)을 생성하는 단계와 상기 바코드 인식 장치가 상기 바코드 이미지(가우시안 컨벌루션)에 적응형 이진화를 수행하여 상기 전처리 바코드 이미지를 생성하는 단계를 포함할 수 있다.
또한, 상기 바코드 영역을 결정하는 단계는 상기 바코드 인식 장치가 연결 요소 레이블링을 기반으로 상기 전처리 바코드 이미지 내의 직사각형을 탐지하는 단계, 상기 바코드 인식 장치가 상기 직사각형 중 바코드 객체의 속성을 가지는 객체를 필터링하는 단계, 상기 바코드 인식 장치가 각도를 기반으로 한 1차 클러스터링을 통해 1차 후보 바코드 영역을 결정하는 단계, 상기 바코드 인식 장치가 직교 직선을 기반으로 한 2차 클러스터링을 통해 2차 후보 바코드 영역을 결정하는 단계와 상기 바코드 인식 장치가 상기 2차 후보 바코드 영역에 대한 영역 재조정을 통해 상기 바코드 영역을 결정하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 바코드 영역을 검출하는 바코드 인식 장치는 바코드 이미지를 수신하고, 상기 바코드 이미지에 대한 이미지 전처리를 수행하여 전처리 바코드 이미지를 생성하도록 구현된 바코드 이미지 전처리부와 상기 전처리 바코드 이미지를 기반으로 바코드 영역을 결정하도록 구현된 바코드 검출부를 포함할 수 있다.
한편, 상기 바코드 이미지 전처리부는 상기 바코드 이미지를 축소하여 바코드 이미지(축소)를 생성하고, 상기 바코드 이미지(축소)에 대한 정규화를 수행하여 바코드 이미지(정규화)를 생성하고, 상기 바코드 이미지(정규화)에 대한 모폴로지 연산을 처리를 수행하여 바코드 이미지(블랙햇)을 생성하고, 상기 바코드 이미지(블랙햇)에 대해 가우시안 컨벌루션 연산을 수행하여 바코드 이미지(가우시안 컨벌루션)을 생성하고, 상기 바코드 이미지(가우시안 컨벌루션)에 적응형 이진화를 수행하여 상기 전처리 바코드 이미지를 생성하도록 구현될 수 있다.
또한, 상기 바코드 검출부는 연결 요소 레이블링을 기반으로 상기 전처리 바코드 이미지 내의 직사각형을 탐지하고 상기 직사각형 중 바코드 객체의 속성을 가지는 객체를 필터링하고, 각도를 기반으로 한 1차 클러스터링을 통해 1차 후보 바코드 영역을 결정하고, 직교 직선을 기반으로 한 2차 클러스터링을 통해 2차 후보 바코드 영역을 결정하고, 상기 2차 후보 바코드 영역에 대한 영역 재조정을 통해 상기 바코드 영역을 결정하도록 구현될 수 있다.
본 발명에 의하면, 이미지 전처리와 연결 요소 레이블링을 기반으로 바코드 이미지 상에서 바코드 객체가 정확하고 빠르게 추출될 수 있다.
또한, 본 발명에 의하면, 이미지 전처리 과정을 거치고, 워스트 케이스(Worst-case)를 염두에 둔 알고리즘을 기반으로 데이터가 부정확한 이미지에서도 바코드 영역이 빠르고 정확하게 검출될 수 있다.
또한, 본 발명에 의하면, 이미지 전처리 과정을 통해 조명 조건이나 촬영 장비 조율 상태가 열악한 경우에도 유효한 데이터를 획득하여 영역을 검출하여 컴퓨터 비전 기술을 실제 적용할 때 장비 설치 비용이나 시간이 절감되고, 최적화된 전처리 과정과 단순한 연산 과정을 통해 바코드 영역이 짧은 시간 안에 찾아질 수 있다.
도 1은 본 발명의 실시예에 따른 바코드 인식 장치를 나타낸 개념도이다.
도 2는 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 3은 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 7은 본 발명의 실시예에 따른 바코드 영역 검출 방법을 나타낸 개념도이다.
도 8은 본 발명의 실시예에 따른 바코드 영역 검출 방법을 나타낸 개념도이다.
도 9는 본 발명의 실시예에 따른 바코드 영역 검출 방법을 나타낸 개념도이다.
도 10 내지 도 12는 본 발명의 실시예에 따른 바코드 영역 검출 방법을 나타낸 개념도이다.
도 13은 본 발명의 실시예에 따른 바코드 영역 추출 방법을 나타낸 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여 지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
바코드 이미지 내에서 바코드 영역을 검출시 이미지 촬영시 조명 여건이 열악하거나, 바코드가 손상되었을 때 영역을 정확하게 검출하지 못하고, 하나의 이미지에 여러 바코드가 존재할 경우, 검출 정확성이 떨어진다는 문제점이 있다. 또한, 기존 바코드 영역 검출 기술을 사용시 불필요한 정보를 포함하는 직선이 다수 발생하여, 모든 직선을 탐색하면서 바코드 영역을 검출하려면 비용이 증가하고 성능이 떨어진다.
본 발명은 이미지 내에서 1D(dimension) 바코드 혹은 그와 유사한 형태의 객체가 위치한 사변형의 영역을 정확하고 빠르게 검출할 수 있는 바코드 인식 방법이 개시된다.
도 1은 본 발명의 실시예에 따른 바코드 인식 장치를 나타낸 개념도이다.
도 1을 참조하면, 바코드 인식 장치는 바코드 이미지 입력부(100), 바코드 이미지 전처리부(120), 바코드 검출부(140), 바코드 처리부(160) 및 프로세서(180)를 포함할 수 있다.
바코드 이미지 입력부(100)는 바코드 이미지를 입력받기 위해 구현될 수 있다. 바코드 이미지 입력부(100)는 스캐너를 통해 스캐닝된 바코드 이미지를 입력받을 수 있다.
바코드 이미지 전처리부(120)는 바코드 이미지 입력부(100)에 의해 입력된 바코드 이미지를 전처리하여 전처리 바코드 이미지를 생성하기 위해 구현될 수 있다. 바코드 이미지 전처리부(120)는 하위 구성부로서 축소부(120-1), 정규화부(120-2), 모폴로지 연산부(120-3), 가우시안 컨벌루션부(120-4), 적응형 이진화부(120-5)를 포함할 수 있다.
축소부(120-1)는 바코드 이미지를 축소하여 바코드 이미지(축소)를 생성하기 위해 구현될 수 있다.
정규화부(120-2)는 축소부(120-1)에 의해 축소된 바코드 이미지(축소)에 대한 정규화를 수행하여 바코드 이미지(정규화)를 생성하기 위해 구현될 수 있다.
모폴로지 연산부(120-3)는 바코드 이미지(정규화)에 대한 모폴로지 연산을 처리를 수행하여 바코드 이미지(블랙햇)을 생성하기 위해 구현될 수 있다.
가우시안 컨벌루션부(120-4)는 바코드 이미지(블랙햇)에 대해 가우시안 컨벌루션 연산을 수행하여 바코드 이미지(가우시안 컨벌루션)을 생성하기 위해 구현될 수 있다.
적응형 이진화부(120-5)는 바코드 이미지(가우시안 컨벌루션)에 적응형 이진화를 수행하여 바코드 이미지(적응적 이진화)(또는 전처리 바코드 이미지)를 생성하기 위해 구현될 수 있다.
축소부(120-1), 정규화부(120-2), 모폴로지 연산부(120-3), 가우시안 컨벌루션부(120-4), 적응형 이진화부(120-5)의 동작은 구체적으로 후술된다.
바코드 검출부(140)는 전처리 바코드 이미지 상에서 연결 요소 레이블링을 수행하여 바코드 영역을 검출하고, 바코드 영역 내의 바코드 객체를 추출하기 위해 구현될 수 있다.
바코드 검출부(140)는 하위 구성부로서 연결 요소 레이블링부(140-1), 필터링부(140-2), 1차 클러스터링부(140-3), 2차 클러스터링부(140-4), 영역 재조정부(140-5)를 포함할 수 있다.
연결 요소 레이블링부(140-1)는 이미지 내에서 주변 환경과 속성(화소 값)이 상이한 화소 군집들에 대한 속성을 기반으로 연결된 화소 군집에 외접하는 직사각형을 탐지하기 위해 구현될 수 있다.
필터링부(140-2)는 연결 요소 레이블링을 통해 탐지된 직사각형 중 바코드 객체에 해당하는 속성을 가지는 객체들만 필터링하여 정보를 획득하기 위해 구현될 수 있다.
1차 클러스터링부(140-3)는 필터링된 바코드 객체에 대해 각도에 따른 클러스터링을 수행하기 위해 구현될 수 있다. 1차 클러스터링을 통해 1차적으로 바코드 영역에 대한 인식을 수행하여 1차 후보 바코드 영역이 결정될 수 있다.
2차 클러스터링부(140-4)는 직교 직선을 기반으로 1차적으로 클러스터링된 바코드 영역에 대해 2차적으로 클러스터링을 수행하여 2차 후보 바코드 영역이 결정될 수 있다.
영역 재조정부(140-5)는 클러스터링을 통해 인식된 2차 후보 바코드 영역에 대해 재조정을 통해 바코드 영역을 결정하기 위해 구현될 수 있다.
바코드 처리부(160)는 검출된 바코드 객체를 기반으로 바코드 정보를 처리하기 위해 구현될 수 있다.
프로세서(180)는 바코드 이미지 입력부(100), 바코드 이미지 전처리부(120), 바코드 검출부(140), 바코드 처리부(160)의 동작을 제어하기 위해 구현될 수 있다.
이하, 바코드 이미지 전처리부(120), 바코드 검출부(140)의 구체적인 동작이 개시된다.
도 2는 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 2에서는 바코드 이미지 전처리 중 바코드 이미지 축소가 개시된다. 바코드 이미지 축소는 바코드 이미지 전처리부 중 축소부에 의해 수행될 수 있다.
도 2를 참조하면, 바코드 이미지 축소는 축소 비율 r(200)에 따라 원본 바코드 이미지의 크기를 축소하는 절차이다. 바코드 이미지 입력부를 통해 입력된 입력 바코드 이미지의 크기를 기반으로 바코드 이미지 축소를 위한 축소 비율 r(200)이 결정될 수 있다.
본 발명에서는 바코드 객체 검출에 필요한 정보가 부족해지는 경우를 방지하기 위해 축소 비율(200)을 결정시 아래의 수학식 1과 같이 가중치가 부여될 수 있다.
<수학식 1>
Figure 112021073048087-pat00001
여기서, s는 이미지 높이, 너비 중 큰 값이고, w는 가중치이다. 가중치 w는 바코드 객체 정보가 유효하다고 판단할 수 있는 이미지의 최소 높이, 혹은 너비 값이다.
축소 비율 r(200)의 결정 이후, 쌍삼차 스플라인 보간법(Bicubic spline interpolation)(220)을 통해 바코드 이미지 축소가 수행될 수 있다. 쌍삼차 스플라인 보간법(220)은 삼차 스플라인 보간법을 x축과 y축에 모두 적용하는 보간법이다. 삼차 스플라인 보간법은 축소, 확대 또는 회전으로 인해 변화된 이미지의 화소값을 산출시 인접 화소들의 화소값으로 3차 방정식을 유도하고, 3차 방정식에 변화되는 화소의 위치값을 대입하여 산출하는 방법이다. 삼차 스플라인 보간법은 이미지를 축소시 불필요한 노이즈나 화소값의 극단적인 값 차이가 발생하는 것을 방지할 수 있다.
본 발명의 실시예에 따른 바코드 이미지 축소를 통해 처리해야 하는 이미지의 픽셀수는 r2 배로 감소된다. 따라서, 이후에 이어질 바코드 이미지 처리를 위한 모든 연산에 대한 비용이 r2 배로 감소하여 동일 비율만큼 처리 효율이 증대되는 효과가 있다.
이하, 바코드 이미지 축소가 수행된 바코드 이미지는 바코드 이미지(축소)(240)라는 용어로 표현될 수 있다.
도 3은 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 3에서는 바코드 이미지 전처리 중 바코드 이미지 정규화가 개시된다. 바코드 이미지 축소 이후, 바코드 이미지 정규화가 수행될 수 있다. 바코드 이미지 정규화는 바코드 이미지 전처리부의 정규화부에 의해 수행될 수 있다.
도 3을 참조하면, 바코드 이미지 정규화를 위해 이미지 내 화소값 중 최소값이 m, 최대값이 M인 경우, 모든 화소 p에 대해서 아래의 수학식2을 통해 변화된 화소값 p'이 산출될 수 있다.
<수학식 2>
Figure 112021073048087-pat00002
수학식2를 기반으로 정규화된 값을 다시 정수형으로 변환하기 위해 바코드 이미지의 형식에 맞춰 화소가 가질 수 있는 최소값, 최대값으로 스케일이 맞추어질 수 있다. 예를 들어, 8bit(0~255) 이미지의 화소값은 정규화된 값에 8bit 최대값인 255를 곱한 후, 반올림하여 정수로 변환될 수 있다. 정수화가 수행되는 경우, 이미지 내에서 흑과 백의 화소값 차이가 더욱 커지고, 바코드 이미지의 명암 대비가 확실해질 수 있다.
바코드 이미지 정규화가 적용되는 경우, 바코드의 검고 흰 부분의 경계면이 더욱 선명해진다. 또한, 조명이 전체적으로 어둡거나 밝은 상태에서 촬상된 바코드 이미지 상에서도 인식을 위해 필요한 정보가 보다 더 정확하게 획득할 수 있다.
이하, 바코드 이미지(축소)에서 정규화가 추가적으로 수행된 바코드 이미지는 바코드 이미지(정규화)(300)라는 용어로 표현될 수 있다.
도 4는 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 4에서는 바코드 이미지 전처리 중 바코드 이미지 모폴로지 블랙햇 연산이 개시된다. 바코드 이미지 전처리부 중 모폴로지 연산부에 의해 바코드 이미지 정규화 이후, 바코드 이미지(정규화)에 대해 바코드 이미지 모폴로지 블랙햇 연산이 수행될 수 있다.
도4를 참조하면, 본 발명에서 사용되는 모폴로지 블랙햇 연산은 팽창 모폴로지(dilate morphology)(또는 팽창 연산(410)) 이후 침식 모폴로지(erode morphology)(또는 침식 연산(420))를 적용한 닫기 모폴로지(close morphology)를 적용한 이미지에서 모폴로지를 적용하기 전 이미지를 빼기 연산하여 수행될 수 있다. 본 발명에서 사용되는 모폴로지 블랙햇 연산은 바코드 이미지에 존재하는 노이즈를 제거하기 위해 사용될 수 있다.
바코드 이미지(팽창)(415)은 바코드 이미지(정규화)에 대한 팽창 연산을 통해 생성될 수 있다. 팽창 연산(410)은 영상 속 객체의 주변을 덧붙여서 영역을 확장하는 연산이다. 팽창 연산(410)을 통해 검은색 바코드 이미지가 주변의 하얀색 배경에 의해 확장될 수 있다.
바코드 이미지(침식)(425)은 바코드 이미지(팽창)(415)에 대해 침식 연산(420)을 통해 생성될 수 있다. 침식 연산(420)은 원래 있던 객체의 영역을 깎아 내는 연산이다. 침식 연산(420)은 큰 객체에 대해서 주변을 깎아서 작게 만들지만 작은 객체는 아예 사라지게 만들 수 있어 아주 작은 노이즈를 제거하거나 원래는 따로 떨어진 물체인데 겹쳐서 하나로 보일 때 서로를 떼어내는 데 효과적이다.
본 발명에서는 팽창 연산(410)이 1차적으로 수행되고, 침식 연산(420)이 2차적으로 수행되는 닫힘 연산을 통해 바코드 이미지 상에서 주변보다 어두운 노이즈가 효과적으로 제거되고, 끊어져 보이는 개체가 연결되고, 구멍이 메워질 수 있다.
이후, 바코드 이미지(침식)(425)에 대해 블랙햇 연산(430)이 수행될 수 있다. 바코드 이미지(침식)(425)에 대해 블랙햇 연산(430)이 수행된 이미지는 바코드 이미지(블랙햇)(435)이라는 용어로 표현될 수 있다. 블랙햇 연산(430)은 닫힘 연산한 결과에서 원본 영상을 빼는 연산이다. 닫힘 연산 결과에서 원본을 빼면 어두운 부분이 강조될 수 있다.
모폴로지 블랙햇 연산을 위한 커널 사이즈는 바코드 이미지(정규화)의 크기에 비례하며, 바코드 이미지(정규화) 내에서 바코드 영역이 차지하는 비율에 따라 변화될 수 있다.
모폴로지 블랙햇 연산이 적용되는 경우, 바코드 이미지(정규화) 내에서 찾아야 하는 바코드 영역에 대한 정보만이 획득될 수 있다. 따라서, 불필요한 연산이 수행되지 않는 것과 동시에 훼손되거나 그림이 그려진 바코드에서 필요로 하지 않는 정보들이 제외되어 바코드 영역을 검출하는데 방해되는 요소가 제거될 수 있다.
도 5는 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 5에서는 바코드 이미지 전처리 중 바코드 이미지 가우시안 컨벌루션 연산이 개시된다. 바코드 이미지 모폴로지 블랙햇 연산 이후, 바코드 이미지(블랙햇)에 대해 가우시안 컨벌루션 연산이 수행될 수 있다. 가우시안 컨벌루션 연산은 바코드 이미지 전처리부의 가우시안 컨벌루션부에 의해 수행될 수 있다.
도 5를 참조하면, 가우시안 컨벌루션은 각 화소에 대응되는 커널 가중치와 곱셈 연산을 한 후 합을 구하고, 구한 합을 가우시안 컨벌루션 커널(500)의 가중치의 총합으로 나눈 값으로 결과값을 도출하는 것이다.
가우시안 컨벌루션이 적용되는 경우, 각 화소에 주변 화소의 특징이 반영되어 이미지가 흐려지지만 노이즈가 완화될 수 있다. 가우시안 컨벌루션 커널(500)의 크기가 커질수록 이미지가 흐려지는 정도가 심해질 수 있다. 본 발명에서는 예시적으로 잡음은 제거하고 이미지의 정보를 최대한 보존할 수 있도록 최소 크기의 3×3 가우시안 컨벌루션 커널이 사용될 수 있다.
가우시안 컨벌루션이 적용됨으로써 다음 단계에서 적응형 이진화가 적용되었을시 필요하지 않은 정보가 나타나는 것을 방지할 수 있다. 가우시안 컨벌루션을 통해 적응형 이진화 과정에서 정확도와 성능(속도)가 증가될 수 있다.
바코드 이미지(블랙햇)에 대해 가우시안 컨벌루션 연산이 수행되어 바코드 이미지(가우시안 컨벌루션)(520)이 생성될 수 있다.
도 6은 본 발명의 실시예에 따른 바코드 이미지 전처리 방법을 나타낸 개념도이다.
도 6에서는 바코드 이미지 전처리 중 바코드 이미지 적응형 이진화 연산이 개시된다. 바코드 이미지 가우시안 컨벌루션 연산 이후, 바코드 이미지(가우시안 컨벌루션)에 대해 적응형 이진화 연산이 수행될 수 있다. 적응형 이진화 연산은 바코드 이미지 전처리부의 적응형 이진화부 상에서 수행될 수 있다.
도 6을 참조하면, 적응형 이진화 연산 과정에서는 이진화 임계값(threshold)(600)이 존재한다. 화소값에 대하여 이진화 임계값(600)보다 큰 값과 작은 값을 서로 다른 2개의 값(예를 들어, 최소값, 최대값)으로 설정하여 이미지가 변환될 수 있다.
이진화 임계값(600)이 고정된 경우, 바코드 영역 내에서 대비가 상이한 이미지에서 필요한 정보를 획득하지 못한다. 따라서, 본 발명에서는 인접 화소들의 평균값을 이진화 임계값(600)으로 설정하여 이진화를 수행하는 적응형 이진화가 수행될 수 있다.
적응형 이진화 연산 과정에서 사용되는 커널은 크기가 커지면 인접한 개체와 연결이 되는 경향이 있어 최소 크기의 커널(3×3)을 사용하여 인접한 문자나 다른 바코드 영역과 동일한 영역으로 인식하지 않도록 한다.
이진화 임계값(600)은 노이즈나 배경이 객체로 인식되는 것을 최대한 방지하기 위해 적응형 이진화를 위한 이진화 임계값에 (1 ≤ ≤ 5)를 더한 값을 기준으로 이진화가 수행될 수 있다.
위와 같은 적응적 이진화를 거친 바코드 이미지는 바코드 이미지(적응적 이진화)(620)라는 용어로 표현되거나, 이미지 전처리 절차를 완료한 전처리 바코드 이미지(640)라는 용어로 표현될 수 있다.
이하, 본 발명의 실시예에서는 전처리 바코드 이미지(640)에 대한 바코드 영역 검출 방법이 개시된다.
도 7은 본 발명의 실시예에 따른 바코드 영역 검출 방법을 나타낸 개념도이다.
도 7에서는 전처리 바코드 이미지에 대해 연결 요소 레이블링을 적용하고 필터링을 수행하는 방법이 개시된다.
도 7을 참조하면, 연결 요소 레이블링 알고리즘을 통해 이미지 내에서 주변 환경과 속성(화소 값)이 상이한 화소 군집들에 대한 속성에 대한 정보가 획득될 수 있다. 본 발명에서는 전처리 바코드 이미지(700)에 대해 연결 요소 레이블링(720)을 통해 연결된 화소 군집에 외접하는 직사각형이 탐지될 수 있다.
연결 요소 레이블링(720)은 기본적으로 이미지 상 모든 객체에 대한 정보를 반환한다. 따라서, 반환된 결과 중 바코드 객체에 해당하는 속성을 가지는 객체들만 필터링하여 바코드 영역을 검출하기 위한 정보가 획득될 수 있다. 바코드 영역을 검출하는데 필요한 객체들은 긴 직사각형의 형태를 띄고 있다. 따라서, 필터링(740)을 통해 가로변과 세로변의 비율이 유사한 객체들은 제거되고, 전처리 바코드 이미지(700) 내 노이즈나 점 등을 제거하기 위해 변의 길이가 일정 수치 이하인 개체들도 제거되는 방식으로 필터링(740)이 수행될 수 있다.
도 8은 본 발명의 실시예에 따른 바코드 영역 검출 방법을 나타낸 개념도이다.
도 8에서는 전처리 바코드 이미지에 대해 연결 요소 레이블링을 적용한 이후, 1차 클러스터링을 수행하는 방법이 개시된다.
도 8을 참조하면, 필터링된 바코드 객체들에 대하여 1차적으로 각도에 따른 1차 클러스터링(810)이 수행되어 1차 후보 바코드 영역(820)이 결정될 수 있다.
1차 클러스터링(810)은 외접하는 직사각형의 긴 변의 각도를 기준으로 한다. 이를 통해 서로 다른 방향으로 배치된 바코드가 인접해 있을 경우, 잘못된 검출 결과가 생기는 것이 방지될 수 있다.
직사각형의 긴 변의 각도를 기준으로 1차 클러스터링된 객체들(이하, 각도 클러스터)를 기반으로 1차 후보 바코드 영역(820)이 결정될 수 있다. 직사각형의 긴 변의 각도를 기준으로 1차 클러스터링된 객체들(이하, 각도 클러스터)을 탐색함에 있어, 기준이 되는 기준 각도가 결정될 수 있다. 이미지에 왜곡이 있는 경우에도 영역 검출이 가능하도록 기준 각도는 일정 공차(tolerance) 범위 내에서 적응적으로 변화될 수 있다. 기준 각도를 점진적으로 변화시키기 위해 기준 각도에 가중치가 부여되고 기준 각도는 비교 대상 객체 각도와의 가중 평균으로 변화될 수 있다. 기준 각도의 초기값은 탐색 간 첫번째 객체의 각도이고, 기준 각도는 기준 각도 A, 변화된 기준 각도 A'과 비교 대상 각도 a, 공차 t, 가중치 w를 기준으로 수학식 3을 통해 변화될 수 있다.
<수학식 3>
Figure 112021073048087-pat00003
전처리 바코드 이미지 상에 서로 다른 각도를 갖는 바코드와 왜곡된 바코드 이미지가 있을 경우, 기준 각도 및 변화된 기준 각도를 적용한 각도별 클러스터링 객체 데이터가 추출되어 1차 후보 바코드 영역(820)이 결정될 수 있다.
각도별 클러스터링 객체 데이터(또는 각도 클러스터)는 바코드 객체들이 1차 클러스터링(810)된 결과이고 바코드 클러스터링 이미지의 좌측 상단 바코드(주황색)는 왜곡으로 인해 객체들의 각도에 미세한 차이가 있어도 동일 각도군으로 분류된 것을 확인할 수 있다
도 9는 본 발명의 실시예에 따른 바코드 영역 검출 방법을 나타낸 개념도이다.
도 9에서는 2차 후보 바코드 영역 검출을 수행하기 위한 2차 클러스터링 방법이 개시된다.
도 9를 참조하면, 1차 클러스터링을 통해 결정된 각도 클러스터 별로 바코드 객체들이 전부 정렬되고, 바코드 객체에 순차성(또는 순서 정보)이 부여될 수 있다. 이 때, 1차 클러스터링의 기준이 된 기준 각도에 따라서 정렬의 기준이 되는 축이 다르게 설정될 수 있다. 정방향에서 촬영되어 생성된 전처리 바코드 이미지는 x축 기준으로 정렬하면 바코드를 읽는 방향대로 정렬된다. 하지만, 전처리 바코드 이미지가 90도 회전되거나 그와 유사한 경우에는 x축 상으로는 비슷한 위치에 있어 순서대로 정렬이 되지 않을 수 있다.
따라서, 본 발명에서는 x축이 0°라고 하면, 바코드 객체의 긴 변의 각도가 45°~135°일 경우에는 x좌표를 기준으로 객체가 정렬되고, 그 외의 경우에는 바코드 객체가 y좌표를 기준으로 정렬될 수 있다.
구체적으로 바코드 객체의 각도에 따라 기준점과 비교할 좌표의 축이 상이하다. 각도 범위별 기준점으로서 제1 포인트가 첫번째 바코드 객체의 기준점이고, 제2 포인트가 마지막 바코드 객체의 기준점이다. 그리고 기준점에서 비교하는 좌표는 기준 각도 a가 45° ~ 135°일 경우에는 점의 x좌표를 기준으로 하고, 그 외의 경우에는 y좌표를 기준으로 한다
1차 클러스터링을 통해 결정된 각도 클러스터 내의 바코드 객체들이 정렬된 후, 각도 클러스터 내를 탐색하며 각도 클러스터 내 바코드 객체가 한번 더 2차 클러스터링(910)될 수 있다. 2차 클러스터링(910)은 객체에 대한 직교 직선을 기준으로 진행되며, 정렬된 각도 클러스터 객체들 중 가장 첫 번째 바코드 객체의 긴 변 두 개의 중점을 지나는 직선(이하, 직교 직선)을 추출하는 것으로 시작된다. 바코드 객체들 중 직교 직선과 긴 변 두개가 교차하는 바코드 객체들이 한번 더 2차 클러스터링(910)될 수 있다.
직교 직선을 기준으로 2차 클러스터링(910)은 왜곡된 이미지를 고려하여 각도 클러스터링과 유사한 방법으로 진행될 수 있다. 직교 직선을 추출한 바코드 객체의 각도가 직교 기준 각도가 되고, 직교 기준 각도와 비교할 바코드 객체의 각도와의 차이가 공차 범위 내에 있으면서 3°~5° 이상 차이가 날 때 직교 기준 각도가 조정될 수 있다. 또한, 직교 기준 각도가 조정되면서 직교 직선도 함께 조정될 수 있다. 정방향의 바코드에서 탐지된 바코드 객체들 기준으로 보았을 때, 직교 직선은 직교 직선을 결정한 기준 바코드 객체의 좌측변의 중점과, 직교 직선을 변화시키기 위한 비교 바코드 객체의 우측변의 중점을 지나는 직선으로 조정될 수 있다.
또한, 각 바코드 객체의 높이, 너비에 대해서도 유사한 방법이 적용될 수 있다. 구체적으로 2차 클러스터링(910)되는 바코드 객체의 크기 변화가 급격할 때, 바코드 객체는 다른 인접한 바코드의 객체이거나 바코드가 아닌 다른 객체일 가능성이 높기 때문에 해당 객체는 동일한 2차 클러스터로 분류되지 않는다.
직교 직선을 기준으로 2차 클러스터링(910)된 객체들을 기반으로 2차 후보 바코드 영역(920)이 결정될 수 있다. 2차 후보 바코드 영역(920)은 직교 직선을 기반으로 2차 클러스터링(910)된 객체들 중, 가장 첫번째 바코드 객체와 가장 마지막 바코드 객체에 외접하는 사변형으로 설정될 수 있다. 첫번째 바코드 객체와 마지막 바코드 객체를 판단하는 기준은 사변형의 기준점과 그 점의 좌표이다.
도 10 내지 도 12는 본 발명의 실시예에 따른 바코드 영역 검출 방법을 나타낸 개념도이다.
도 10 내지 도 12에서는 2차 후보 바코드 영역을 재조정하여 바코드 영역을 검출하는 방법이 개시된다.
도 10을 참조하면, 생성된 2차 후보 바코드 영역에 대해서는 특정 연산 과정을 거쳐 재조정한 영역에 대한 정보가 획득될 수 있다. 후보 영역 재조정은 2차 후보 바코드 영역 내의 바코드 객체들 중, 가장 긴 바코드 객체를 기준으로 2차 후보 바코드 영역 생성 간 사용된 첫번째 바코드 객체과 마지막 바코드 객체의 외곽 변 길이를 조정하여 수행될 수 있다.
재조정된 2차 후보 바코드 영역들을 대상으로는 동일 각도 클러스터 내에서 생성된 모든 2차 후보 바코드 영역들에 대해 겹치는 영역이 있는지 탐색할 수 있다. 하나의 영역을 기준 영역(1000)으로 설정한 상태에서 나머지 영역을 비교 영역(1020)으로 설정하여 탐색하는 작업이 반복될 수 있다. 기준 영역(1000)과 비교 영역(1020)이 겹치는 경우, 기준 영역(1000)이 두 영역에 외접하는 사변형으로 확장될 수 있다. 그리고 확장된 영역과 겹치는 영역이 발생되면 다시 확장되고 반복된다. 도 11을 참조하면, 해당 동작을 통해 넓이가 가장 넓은 영역인 η번 영역(1110)을 기준으로 ②(1120), ③(1130), ④(1140)번 영역을 순차적으로 탐색하며 영역을 확장하여 겹치는 모든 영역에 대해 확장하고, 최종 영역이 바코드 영역(1050)으로서 검출될 수 있다.
2차 후보 바코드 영역들 중, 훼손 부위가 없어 다른 후보 영역과의 겹치는 부분이 없는 영역은 영역 재조정을 하지 않은 본래의 영역이 검출된 바코드 영역(1050)으로 결정될 수 있다. 그리고 검출된 바코드 영역(1050)은 축소된 이미지에서 측정한 결과이기 때문에, 결과 영역에 해당하는 사변형의 각 점 좌표 x, y값에 축소 비율의 역수를 곱해 원본 이미지에 맞게 복원하면 바코드 영역 검출이 완료된다.
도 12를 참조하면, 훼손된 바코드의 영역이 확장된 경우 한 곳을 기준으로 전체 데이터를 읽을 수 없다. 따라서, N개의 라인(line)에 대해 흑/백(black/white) 영역의 너비(width)를 계산하여 유효한 크기만 취합하여 하나의 바코드 값으로 만든다. k번째 라인(line)에서 유효하지 않은 흑/백 너비(black/white width)가 나왔다면 나머지 라인(line)에서 유효한 흑/백 너비가 있는지 검사 후 해당 값으로 대체한다. 유효한 영역이 여러 라인에 분포되어있을 때 해당 영역의 시작점의 이전 위치의 너비부터 검사를 하여야 정확한 바코드 값을 읽어올 수 있다.
도 13은 본 발명의 실시예에 따른 바코드 영역 추출 방법을 나타낸 순서도이다.
도 13을 참조하면, 바코드 이미지를 수신한다(단계 S1300).
바코드 이미지는 스캐너를 통해 수신할 수 있다.
바코드 이미지 전처리를 수행한다(단계 S1305).
바코드 이미지 전처리는 하위 단계로서 축소 단계, 정규화 단계, 모폴로지 연산 단계, 가우시안 컨벌루션 연산 단계, 적응형 이진화 단계를 포함할 수 있다.
전술한 바와 같이 축소 단계에서는 바코드 이미지를 축소하여 바코드 이미지(축소)가 생성될 수 있다.
정규화 단계에서는 축소 단계를 통해 축소된 바코드 이미지(축소)에 대한 정규화를 수행하여 바코드 이미지(정규화)가 생성될 수 있다.
모폴로지 연산 단계에서는 바코드 이미지(정규화)에 대한 모폴로지 연산을 처리를 수행하여 바코드 이미지(블랙햇)이 생성될 수 있다.
가우시안 컨벌루션 연산 단계에서는 바코드 이미지(블랙햇)에 대해 가우시안 컨벌루션 연산을 수행하여 바코드 이미지(가우시안 컨벌루션)이 생성될 수 있다.
적응형 이진화 단계에서는 바코드 이미지(가우시안 컨벌루션)에 적응형 이진화를 수행하여 바코드 이미지(적응적 이진화)(또는 전처리 바코드 이미지)가 생성될 수 있다.
연결 요소 레이블링이 수행될 수 있다(단계 S1310).
연결 요소 레이블링은 전처리 바코드 이미지 내에서 주변 환경과 속성(화소 값)이 상이한 화소 군집들에 대한 속성을 기반으로 연결된 화소 군집에 외접하는 직사각형을 탐지할 수 있다.
필터링이 수행될 수 있다(단계 S1315).
연결 요소 레이블링은 통해 탐지된 직사각형 중 바코드 객체에 해당하는 속성을 가지는 객체들만 필터링할 수 있다.
1차 클러스터링이 수행될 수 있다(단계 S1320).
필터링된 바코드 객체에 대해 각도에 따른 1차 클러스터링을 통해 1차적으로 바코드 영역에 대한 인식을 수행하여 1차 후보 바코드 영역이 결정될 수 있다.
1차 클러스터인 각도 클러스터에 대한 순차 탐색(단계 S1323)을 기반으로 2차 클러스터링이 수행될 수 있다(단계 S1325).
직교 직선을 기반으로 1차적으로 클러스터링된 바코드 영역에 대해 2차 클러스터링을 수행하여 2차 후보 바코드 영역이 결정될 수 있다.
영역 재조정이 수행될 수 있다(단계 S1330).
클러스터링을 통해 인식된 2차 후보 바코드 영역에 대해 영역 재조정을 통해 바코드 영역이 결정될 수 있다.
영역 재조정을 위해 2차 후보 바코드 영역에 대한 순차 탐색을 통해 기준 영역이 설정되고(단계 S1335), 기준 영역과 겹치는 후보 영역이 있는지 여부에 대한 판단이 수행될 수 있다(단계 S1340).
이때 기준 영역과 겹치는 후보 영역이 존재하는 경우, 기준 영역을 확장하여(단계 S1345), 다시 기준 영역과 겹치는 후보 영역이 있는지 여부에 대한 판단이 수행될 수 있다(단계 S1350).
재조정된 2차 후보 바코드 영역들을 대상으로는 동일 각도 클러스터 내에서 생성된 모든 2차 후보 바코드 영역들에 대해 겹치는 영역이 있는지 탐색할 수 있다. 하나의 영역을 기준 영역으로 설정한 상태에서 나머지 영역을 비교 영역으로 설정하여 탐색하는 작업이 반복될 수 있다
다시 기준 영역과 겹치는 후보 영역이 없는 경우, 바코드 영역으로 결정을 하고(단계 S1355), 모두 후보 영역에 대한 판단이 완료되었는지 여부를 판단할 수 있다(단계 S1360).
모든 후보 영역에 대한 판단이 완료되지 않은 경우, 다시 2차 후보 바코드 영역에 대한 순차 탐색을 통해 기준 영역이 설정될 수 있다(단계 S1335).
모든 후보 영역에 대한 판단이 완료된 경우, 모든 각도 클러스터에 대한 탐색이 완료되었는지 여부에 대한 판단이 수행될 수 있다(단계 S1340).
모든 각도 클러스터에 대한 탐색의 완료되지 않은 경우, 다시 1차 클러스터인 각도 클러스터에 대한 순차 탐색(단계 S1323)이 수행될 수 있다.
모든 각도 클러스터에 대한 탐색의 완료되지 않은 경우, 모든 절차가 종료될 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (6)

  1. 바코드 영역 검출 방법은,
    바코드 인식 장치가 바코드 이미지를 수신하는 단계;
    상기 바코드 인식 장치가 상기 바코드 이미지에 대한 이미지 전처리를 수행하여 전처리 바코드 이미지를 생성하는 단계; 및
    상기 바코드 인식 장치가 상기 전처리 바코드 이미지를 기반으로 바코드 영역을 결정하는 단계를 포함하되,
    상기 바코드 영역을 결정하는 단계는,
    상기 바코드 인식 장치가 연결 요소 레이블링을 기반으로 상기 전처리 바코드 이미지 내의 직사각형을 탐지하는 단계;
    상기 바코드 인식 장치가 상기 직사각형 중 바코드 객체의 속성을 가지는 객체를 필터링하는 단계;
    상기 바코드 인식 장치가 각도를 기반으로 한 1차 클러스터링을 통해 1차 후보 바코드 영역을 결정하는 단계;
    상기 바코드 인식 장치가 직교 직선을 기반으로 한 2차 클러스터링을 통해 2차 후보 바코드 영역을 결정하는 단계; 및
    상기 바코드 인식 장치가 상기 2차 후보 바코드 영역에 대한 영역 재조정을 통해 상기 바코드 영역을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 전처리 바코드 이미지를 생성하는 단계는,
    상기 바코드 인식 장치가 상기 바코드 이미지를 축소하여 바코드 이미지(축소)를 생성하는 단계;
    상기 바코드 인식 장치가 상기 바코드 이미지(축소)에 대한 정규화를 수행하여 바코드 이미지(정규화)를 생성하는 단계;
    상기 바코드 인식 장치가 상기 바코드 이미지(정규화)에 대한 모폴로지 연산을 처리를 수행하여 바코드 이미지(블랙햇)을 생성하는 단계;
    상기 바코드 인식 장치가 상기 바코드 이미지(블랙햇)에 대해 가우시안 컨벌루션 연산을 수행하여 바코드 이미지(가우시안 컨벌루션)을 생성하는 단계; 및
    상기 바코드 인식 장치가 상기 바코드 이미지(가우시안 컨벌루션)에 적응형 이진화를 수행하여 상기 전처리 바코드 이미지를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 삭제
  4. 바코드 영역을 검출하는 바코드 인식 장치는,
    바코드 이미지를 수신하고, 상기 바코드 이미지에 대한 이미지 전처리를 수행하여 전처리 바코드 이미지를 생성하도록 구현된 바코드 이미지 전처리부; 및
    상기 전처리 바코드 이미지를 기반으로 바코드 영역을 결정하도록 구현된 바코드 검출부를 포함하되,
    상기 바코드 검출부는 연결 요소 레이블링을 기반으로 상기 전처리 바코드 이미지 내의 직사각형을 탐지하고,
    상기 직사각형 중 바코드 객체의 속성을 가지는 객체를 필터링하고,
    각도를 기반으로 한 1차 클러스터링을 통해 1차 후보 바코드 영역을 결정하고,
    직교 직선을 기반으로 한 2차 클러스터링을 통해 2차 후보 바코드 영역을 결정하고,
    상기 2차 후보 바코드 영역에 대한 영역 재조정을 통해 상기 바코드 영역을 결정하도록 구현되는 것을 특징으로 하는 바코드 인식 장치.
  5. 제4항에 있어서,
    상기 바코드 이미지 전처리부는 상기 바코드 이미지를 축소하여 바코드 이미지(축소)를 생성하고,
    상기 바코드 이미지(축소)에 대한 정규화를 수행하여 바코드 이미지(정규화)를 생성하고,
    상기 바코드 이미지(정규화)에 대한 모폴로지 연산을 처리를 수행하여 바코드 이미지(블랙햇)을 생성하고,
    상기 바코드 이미지(블랙햇)에 대해 가우시안 컨벌루션 연산을 수행하여 바코드 이미지(가우시안 컨벌루션)을 생성하고,
    상기 바코드 이미지(가우시안 컨벌루션)에 적응형 이진화를 수행하여 상기 전처리 바코드 이미지를 생성하도록 구현되는 것을 특징으로 하는 바코드 인식 장치.
  6. 삭제
KR1020210082378A 2021-06-24 2021-06-24 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치 KR102343439B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210082378A KR102343439B1 (ko) 2021-06-24 2021-06-24 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치
KR1020210178744A KR102616938B1 (ko) 2021-06-24 2021-12-14 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210082378A KR102343439B1 (ko) 2021-06-24 2021-06-24 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210178744A Division KR102616938B1 (ko) 2021-06-24 2021-12-14 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치

Publications (1)

Publication Number Publication Date
KR102343439B1 true KR102343439B1 (ko) 2021-12-27

Family

ID=79177031

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210082378A KR102343439B1 (ko) 2021-06-24 2021-06-24 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치
KR1020210178744A KR102616938B1 (ko) 2021-06-24 2021-12-14 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210178744A KR102616938B1 (ko) 2021-06-24 2021-12-14 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치

Country Status (1)

Country Link
KR (2) KR102343439B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180128182A (ko) * 2017-05-23 2018-12-03 연세대학교 산학협력단 영상의 객체 인식을 위한 객체 특징 정보 제공 방법, 장치 및 그를 이용하여 영상의 객체를 인식하기 위한 학습 방법, 장치
KR20190080275A (ko) * 2017-12-28 2019-07-08 한화에어로스페이스 주식회사 바코드 검출 장치 및 이를 이용한 바코드 검출 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030066486A (ko) * 2003-06-16 2003-08-09 양훈기 2차원 cmos 촬상 소자를 이용한 바코드 판독 시스템
JP6455832B2 (ja) * 2014-12-02 2019-01-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation バーコード検出方法、バーコード検出システムおよびそのためのプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180128182A (ko) * 2017-05-23 2018-12-03 연세대학교 산학협력단 영상의 객체 인식을 위한 객체 특징 정보 제공 방법, 장치 및 그를 이용하여 영상의 객체를 인식하기 위한 학습 방법, 장치
KR20190080275A (ko) * 2017-12-28 2019-07-08 한화에어로스페이스 주식회사 바코드 검출 장치 및 이를 이용한 바코드 검출 방법

Also Published As

Publication number Publication date
KR20230000399A (ko) 2023-01-02
KR102616938B1 (ko) 2023-12-27

Similar Documents

Publication Publication Date Title
US5410611A (en) Method for identifying word bounding boxes in text
US5539841A (en) Method for comparing image sections to determine similarity therebetween
KR100745753B1 (ko) 영상의 문자 영역 검출장치 및 방법
EP2783328B1 (en) Text detection using multi-layer connected components with histograms
JP6106641B2 (ja) 文字のストロークを保護しながら、文書画像中の下線およびテーブルラインを除去する方法
JP2002208007A (ja) スキャンした文書の自動式検出
Gatos et al. Text detection in indoor/outdoor scene images
JP2002133426A (ja) 多値画像から罫線を抽出する罫線抽出装置
CN109409356B (zh) 一种基于swt的多方向中文印刷体文字检测方法
CN111027544B (zh) 一种基于视觉显著性检测的mser车牌定位方法及系统
CN112102203A (zh) 一种图像校正方法、装置及设备
KR102343439B1 (ko) 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치
EP1193642B1 (en) System and method for object recognition
Deshmukh et al. The divide-and-conquer based algorithm to detect and correct the skew angle in the old age historical handwritten Modi Lipi documents
Qiu et al. An optimized license plate recognition system for complex situations
CN112329572B (zh) 一种基于边框和闪光点的快速静态活体检测方法及装置
CN114882235A (zh) 基于图像数据特征的红外图像目标自动识别系统及方法
Koshy et al. Copy-move forgery detection and performance analysis of feature detectors
El Bahi et al. Document text detection in video frames acquired by a smartphone based on line segment detector and dbscan clustering
Soumya et al. Enhancement and segmentation of historical records
JPH05174182A (ja) 文書傾き角検出方法および文書傾き角検出装置
KR101437286B1 (ko) 디지털 컨텐츠 식별 방법 및 장치
Banerjee et al. Rectification of Camera Captured Document Images using Component Analysis
JPH05342412A (ja) グラディエントベクトルの抽出方式及び文字認識用特徴抽出方式
Priya et al. A wavelet based method for text segmentation in color images

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant