KR101267216B1 - 이차원 코드 리더 및 프로그램 - Google Patents

이차원 코드 리더 및 프로그램 Download PDF

Info

Publication number
KR101267216B1
KR101267216B1 KR1020137002514A KR20137002514A KR101267216B1 KR 101267216 B1 KR101267216 B1 KR 101267216B1 KR 1020137002514 A KR1020137002514 A KR 1020137002514A KR 20137002514 A KR20137002514 A KR 20137002514A KR 101267216 B1 KR101267216 B1 KR 101267216B1
Authority
KR
South Korea
Prior art keywords
area
color
region
dimensional code
cell
Prior art date
Application number
KR1020137002514A
Other languages
English (en)
Other versions
KR20130019020A (ko
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 시프트 코. 엘티디.
Publication of KR20130019020A publication Critical patent/KR20130019020A/ko
Application granted granted Critical
Publication of KR101267216B1 publication Critical patent/KR101267216B1/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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • 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/12Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using a selected wavelength, e.g. to sense red marks and ignore blue marks
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • 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/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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
    • G06K2019/06215Aspects not covered by other subgroups
    • G06K2019/06225Aspects not covered by other subgroups using wavelength selection, e.g. colour code

Landscapes

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

Abstract

화상에 포함되는 복수의 이차원 코드 각각을 특정함과 함께, 특정된 이차원 코드 각각의 각 셀의 영역의 색의 판정 처리에 걸리는 시간을 저감하기 위한 기술을 제공하는 것이다. 취득된 화상(원화상)으로부터 생성된 에지 화상에 기초하여, 이 에지 화상 중에서의 후보 영역의 추출, 이 추출한 후보 영역에 대응하는 원화상 중의 대응 영역 각각에 특징적인 패턴이 포함되어 있는지의 여부의 판정을 거쳐, 원화상 중에서 이차원 코드의 영역을 검출한다. 또한, 검출한 이차원 코드의 영역에 대하여 각 픽셀의 색의 판정 처리를 행할 때에, 그 영역의 각 행을 구성하는 픽셀군마다 판정 처리를 행함과 함께, 각 픽셀에 대하여 그 배열순으로 색의 판정 처리를 순차적으로 행하고, 각 셀의 영역에 대응하는 각 행에 있어서 일정수 이상의 픽셀이 색의 판정 영역 내에 포함된다고 판정된 경우에, 그 행의 나머지 픽셀에 대해서는 색의 판정 처리를 생략한다.

Description

이차원 코드 리더 및 프로그램{TWO-DIMENSIONAL CODE READER AND PROGRAM}
본 발명은 1 이상의 이차원 코드를 포함하는 영역이 촬영되어 이루어지는 화상으로부터 이차원 코드를 판독하여 인식하는 이차원 코드 리더에 관한 것이다.
종래부터 이차원 코드를 나타내는 화상으로부터 이차원 코드의 영역을 특정하고, 그 이차원 코드로 코드화된 정보를 식별하는 기술이 이용되고 있다(특허문헌 1 참조).
이차원 코드가, 복수의 셀이 배열되고, 각 셀에 색을 부여함으로써 상기 색 또는 색의 조합에 따른 1 이상의 정보 각각을 코드화한 구성인 경우에, 정보의 식별을 행하기 위해서는 각 셀의 색의 판정을 행할 필요가 있다. 색의 판정은, 이차원 코드에서 사용되는 색에 대하여, 각 셀의 영역의 모든 픽셀의 색을 판정하고 그 판정 결과에 기초하여 행한다.
일본 특허 공개 제2001-195536호 공보
그러나, 상기 특허문헌 1의 기술에 있어서는, 정보를 식별할 때에 취득되는 화상이, 1개의 이차원 코드가 화상 영역의 대부분에 걸쳐 수용되어 있는 화상을 사용하도록 구성되어 있기 때문에, 복수의 이차원 코드가 영역 내에 수용되어 있는 화상으로부터, 이 화상에 포함되는 이차원 코드 각각을 특정할 수 없었다.
또한, 이차원 코드의 면적이 큰 경우, 각 셀의 면적이 큰 경우, 셀의 면적이 크면서 수가 많은 경우 등에, 각 셀을 구성하는 모든 픽셀에 대하여 색의 판정 처리를 행하면, 색의 판정 처리에 필요로 하는 시간이 극히 장시간 필요하게 된다.
본 발명은 이와 같은 과제를 해결하기 위하여 이루어진 것이며, 그 목적은 화상에 포함되는 복수의 이차원 코드 각각을 특정함과 함께, 특정된 이차원 코드 각각의 각 셀의 영역의 색의 판정 처리에 걸리는 시간을 저감하기 위한 기술을 제공하는 것이다.
[제1 구성]
상기 과제를 해결하기 위하여, 본 발명에 관한 제1 구성의 이차원 코드 리더는, 복수의 셀이 배열되고, 상기 복수의 셀에 색이 상이한 복수 종류의 셀이 포함되도록 각 셀에 색을 부여함으로써 상기 색 또는 색의 조합에 따른 1 이상의 정보 각각을 코드화한 구성의 복수의 이차원 코드의 영역을 포함하는 영역이 촬영되어 이루어지는 화상을 취득하는 화상 취득부와, 상기 화상 취득부에 의해 취득된 화상을, 상기 화상에 포함되는 에지 성분의 분포를 나타내는 에지 화상으로 변환하는 성분 변환부와, 상기 성분 변환부에 의해 변환된 에지 화상으로부터, 미리 정해진 규칙에 따라 형성되어 있는 영역을 상기 이차원 코드의 영역으로 이루어지는 후보 영역으로서 추출하는 영역 추출부와, 상기 화상 취득부에 의해 취득된 화상에서의, 상기 영역 추출부에 의해 추출된 후보 영역에 대응하는 대응 영역 각각에 대하여, 상기 대응 영역을 형성하는 요소에, 상기 이차원 코드의 영역을 규정하는 특징적인 패턴이 포함되어 있는지의 여부를 판정하는 패턴 판정부와, 상기 패턴 판정부에 의해 특징적인 패턴이 포함되어 있다고 판정된 대응 영역을, 상기 이차원 코드의 영역으로서 검출함으로써, 상기 화상에 포함되는 복수의 이차원 코드의 영역을 검출 가능한 영역 검출부와, 상기 영역 검출부에 의해 검출된 이차원 코드의 영역 각각에 대하여, 상기 이차원 코드의 영역에서의 각 셀의 영역에 부여되어 있는 색을 판정하는 색 판정부와, 상기 이차원 코드의 영역에서의 각 셀의 영역에, 상기 셀의 영역에 대하여 상기 색 판정부가 판정한 색이 부여되어 있는 것으로서, 각 셀의 영역에 부여된 색 또는 색의 조합에 기초하여 상기 코드화된 정보를 식별하는 정보 식별부를 구비하고 있다.
그리고, 상기 색 판정부는, 상기 이차원 코드의 영역에서의 각 셀의 영역에 대하여 픽셀마다 순차적으로 색을 판정하고, 소정수의 유효한 색의 판정 결과를 얻었을 때에, 색의 판정 처리가 미처리된 나머지 픽셀에 대하여 색의 판정 처리를 생략하고, 상기 소정수의 유효한 색의 판정 결과에 기초하여 각 셀의 영역에 부여된 색을 판정한다.
이 구성에서는 취득된 화상(원화상)으로부터 생성된 에지 화상에 기초하여, 이 에지 화상 중에서의 후보 영역의 추출, 이 추출한 후보 영역에 대응하는 원화상 중의 대응 영역 각각에 특징적인 패턴이 포함되어 있는지의 여부의 판정을 거쳐 원화상 중에서 이차원 코드의 영역을 검출할 수 있다.
이와 같이 원화상의 영역에 있어서, 에지 화상의 후보 영역에 대응하는 대응 영역 중, 특징적인 패턴이 포함되는 대응 영역을 원화상 중에서의 이차원 코드의 영역으로서 검출함으로써, 원화상에 포함되는 복수의 이차원 코드의 영역 각각을 특정할 수 있게 된다.
또한, 상기 구성에서는 에지 화상에 기초하여 검출된 각 이차원 코드의 영역에 대하여, 이 이차원 코드의 영역에서의 각 셀의 영역에 부여된 색에 기초하여 코드화된 정보를 식별할 수 있다.
또한, 상기 구성에서는 취득된 화상으로부터 이차원 코드의 영역의 후보가 되는 후보 영역을 추출한 후, 이 영역으로부터 이차원 코드의 영역을 검출하여 정보의 식별을 행할 수 있다. 그로 인해, 후보 영역을 추출하지 않고 이차원 코드의 영역을 검출하고자 하는 경우에 비하여, 추출한 후보 영역이라고 하는 한정적인 범위에서 이차원 코드의 영역의 검출을 행할 수 있다. 이에 의해, 이차원 코드의 영역으로부터 정보의 식별을 행할 때까지 필요로 하는 처리 부하 및 처리 시간을 억제할 수 있다.
또한, 상기 구성에서는 이차원 코드의 영역에서의 각 셀의 영역에 대하여 픽셀마다 순차적으로 색을 판정하고, 소정수의 유효한 색의 판정 결과를 얻었을 때에, 색 판정이 미처리된 나머지 픽셀에 대해서는 색 판정 처리를 생략하고, 소정수의 유효한 색의 판정 결과에 기초하여 각 셀의 영역에 부여된 색을 판정할 수 있다.
이에 의해, 각 셀의 영역을 구성하는 복수의 픽셀에 있어서 소정수의 유효한 색의 판정 결과를 얻은 경우에, 나머지 미처리된 픽셀에 대해서는 색의 판정 처리가 행해지지 않기 때문에, 그만큼 각 셀의 영역의 색의 판정에 걸리는 처리 시간을 단축할 수 있다.
이 구성에 있어서, 원화상으로부터 변환되는 에지 화상은, 원화상에 포함되는 에지 성분의 분포를 나타내는 것이면 되며, 예를 들어 원화상에서의 휘도, 명도 등 특정한 성분만을 분포시킨 화상에서의 소정의 임계값 이상의 성분만을 추출(구체적으로는 임계값으로 2치화)한 화상이나, 이 화상에 대하여 윤곽선을 추출한 화상 등의 것이다.
또한, 에지 화상으로부터 후보 영역을 추출할 때의 「미리 정해진 규칙」이란, 이차원 코드의 영역으로 이루어지는 후보 영역을 규정하는 것이면 되며, 예를 들어 이차원 코드의 영역의 외형 형상, 외형 형상이 다각형인 경우에 있어서의 각 변의 길이나 각 변으로 형성되는 각도, 외형 형상이 다각형인 경우에 있어서의 각 변의 길이의 비율, 에지 화상에 이차원 코드의 영역이 포함되어 있는 경우에 있어서의 에지 성분의 분포 패턴(에지 성분의 분포 상태, 분포되어 있는 에지 성분의 배치 등) 등을 규정해 두면 된다.
또한, 원화상으로부터 이차원 코드의 영역을 검출할 때에 참조되는 「특징적인 패턴」이란, 이차원 코드에 대하여 정해진 특징적인 패턴을 직접적 또는 간접적으로 나타내는 정보이면 되며, 예를 들어 이차원 코드에 있어서 코드화의 심볼이 되는 셀의 배치 패턴이나, 이차원 코드인 것을 식별하기 위하여 배치된 특정 심볼의 배치 패턴이나, 이차원 코드인 것을 식별하기 위하여 배치된 마크의 패턴을 직접적 또는 간접적으로 나타내는 정보 등이다.
또한, 「소정수의 유효한 색의 판정 결과」란, 각 셀의 영역의 색을 정확하게 판정 가능한 정밀도를 가진 유효한 색의 판정 결과의 수이며, 처리 속도의 관점에서는 보다 소수인 쪽이 바람직하다.
또한, 「유효한 색」이란, 예를 들어 색의 판정 대상이 복수인 경우에는 판정 결과가 가장 다수가 되는 색이나, 미리 각 셀의 영역에 부여하는 색을 알고 있는 경우 또는 색의 배열 등으로부터 추정할 수 있는 경우에는, 각 셀의 영역에 대응하는 색 등이 해당된다.
[제2 구성]
또한, 제2 구성의 이차원 코드 리더는, 상기 제1 구성에 있어서, 상기 복수의 셀은 미리 정해진 색이 부여된 세퍼레이터에 의해 나누어져 있으며, 상기 미리 정해진 색에 기초하여 상기 이차원 코드의 영역에서의 각 픽셀의 색의 판정 처리를 행함으로써, 상기 이차원 코드의 영역에서의 상기 세퍼레이터의 영역의 위치를 특정하는 세퍼레이터 영역 특정부와, 상기 세퍼레이터 영역 특정부에서 특정된 세퍼레이터의 영역의 위치에 기초하여, 상기 이차원 코드의 영역에서의 각 셀의 영역의 위치를 특정하는 셀 영역 특정부를 구비하고 있다.
이 구성에서는 미리 정해진 색이 부여된 세퍼레이터에 의해 각 셀이 나누어져 있으며, 이차원 코드의 영역에서의 각 픽셀에 대하여, 미리 정해진 색에 기초하여 색의 판정 처리를 행함으로써, 세퍼레이터의 영역의 위치를 특정할 수 있다. 또한, 특정한 세퍼레이터의 영역의 위치에 기초하여 각 셀의 영역의 위치를 특정할 수 있다.
이에 의해, 세퍼레이터의 영역의 위치로부터 각 셀의 영역의 위치를 파악할 수 있으므로, 각 셀의 영역에 있어서 소정수의 유효한 색의 판정 결과를 얻은 후에, 간이하게 각 셀의 영역에서의 나머지 픽셀에 대하여 색의 판정 처리를 생략하여, 다음 셀의 영역의 색의 판정 처리로 이행할 수 있다.
이 구성에 있어서, 「미리 정해진 색」은 셀에 부여되는 색 이외의 색인 것이 바람직하지만, 예를 들어 이차원 코드의 영역의 위치나 방향을 특정하는 셀 등의 특별한 셀을 포함하는 경우에는, 그 색과 동일한 색으로 하는 경우도 있다.
[제3 구성]
또한, 제3 구성의 이차원 코드 리더는, 상기 제2 구성에 있어서, 상기 색 판정부는, 상기 이차원 코드의 영역에 있어서, 행 또는 열을 형성하는 픽셀군마다 각 픽셀의 색의 판정을 순차적으로 행하여, 각 행 또는 각 열의 각 셀의 영역에 대응하는 부분에 있어서 소정수의 유효한 색의 판정 결과를 얻었을 때에, 다음 셀의 영역을 나타내는 픽셀 앞의 픽셀까지, 그 행 또는 열에서의 색의 판정 처리가 미처리된 나머지 픽셀에 대하여 색의 판정 처리를 생략하고, 각 셀의 영역에 대한 각 행 또는 각 열의 상기 색의 판정 결과에 기초하여 각 셀의 영역에 부여된 색을 판정한다.
이 구성에서는 이차원 코드의 영역의 전체에 대하여, 그 행 또는 열을 형성하는 픽셀군마다 각 픽셀의 색의 판정 처리를 순차적으로 행할 수 있다. 그리고, 각 셀의 영역의 부분에 있어서, 각 행 또는 각 열에 대하여 소정수의 유효한 색의 판정 결과가 얻어졌을 때에, 그 셀의 영역의 각 행 또는 각 열의 나머지 픽셀에 대하여 색의 판정 처리를 생략할 수 있다.
이에 의해, 각 셀의 영역의 각 행 또는 각 열에 있어서, 소정수의 유효한 색의 판정 결과가 얻어진 경우에, 나머지 미처리된 픽셀에 대해서는 색의 판정 처리가 행해지지 않기 때문에, 그만큼 각 셀의 영역의 색의 판정 처리에 걸리는 처리 시간을 단축할 수 있다.
[제4 구성]
또한, 제4 구성의 이차원 코드 리더는, 상기 제2 구성에 있어서, 상기 색 판정부는, 상기 이차원 코드의 영역에서의 각 셀의 영역에 있어서, 행 또는 열을 형성하는 픽셀군마다 각 픽셀의 색의 판정을 순차적으로 행하여, 각 셀의 영역에 대응하는 각 행 또는 각 열에 있어서 소정수의 유효한 색의 판정 결과를 얻었을 때에, 다음 셀의 영역을 나타내는 픽셀 앞의 픽셀까지, 그 행 또는 열에서의 색의 판정 처리가 미처리된 나머지 픽셀에 대하여 색의 판정 처리를 생략하고, 각 행 또는 각 열의 상기 색의 판정 결과에 기초하여 각 셀의 영역에 부여된 색을 판정한다.
이 구성에서는 이차원 코드의 영역에서의 각 셀의 영역마다, 그 행 또는 열을 형성하는 픽셀군에 대하여 상기 픽셀군마다 각 픽셀의 색의 판정 처리를 순차적으로 행할 수 있다. 그리고, 각 셀의 영역에 있어서, 각 행 또는 각 열에 대하여 소정수의 유효한 색의 판정 결과가 얻어졌을 때에, 그 셀의 영역의 각 행 또는 각 열의 나머지 픽셀에 대하여 색의 판정 처리를 생략할 수 있다.
이에 의해, 각 셀의 영역의 각 행 또는 각 열에 있어서, 소정수의 유효한 색의 판정 결과가 얻어진 경우에, 나머지 미처리된 픽셀에 대해서는 색의 판정 처리가 행해지지 않기 때문에, 그만큼 각 셀의 영역의 색의 판정 처리에 걸리는 처리 시간을 단축할 수 있다.
또한, 셀마다 각 픽셀의 색의 판정 처리를 행하기 때문에, 다음 셀의 영역에 대하여 각 픽셀의 색의 판정 처리를 행하기 전에, 판정 처리가 끝난 셀의 영역에 부여된 색의 판정을 행하는 것이 가능하게 된다. 따라서, 다음 셀의 색 판정 처리를 행하기 전에 셀의 색의 배열 순서 등을 알고자 하는 경우에 유효하다.
[제5 구성]
또한, 제5 구성의 이차원 코드 리더는, 상기 제1 내지 제4 구성 중 어느 하나에 있어서, 상기 성분 변환부에 의한 화상의 에지 화상으로의 변환을, 상이한 1종류 이상의 변환 조건의 각각에 대하여 순서대로 실시시킴과 함께, 각 변환 조건에 대하여 변환된 에지 화상 각각에 대하여, 상기 영역 추출부에 의한 후보 영역의 추출, 상기 패턴 판정부에 의한 특징적인 패턴의 판정, 및 상기 영역 검출부에 의한 이차원 코드의 영역의 검출을 반복하여 실시시키는 반복 실시부와, 특정한 상기 에지 화상에 대하여, 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에 대하여 상기 영역 추출부가 추출한 후보 영역(이후 「추출 완료 후보 영역」이라고 함)과 일치하는지의 여부를, 양쪽의 후보 영역에 기초하여 판정하는 일치 판정부를 구비하고 있다.
그리고, 상기 반복 실시부는, 상기 패턴 판정부에 의한 특징적인 패턴을 갖고 있는지의 여부의 판정, 및 상기 영역 검출부에 의한 이차원 코드의 영역의 검출을, 상기 영역 추출부에 의해 추출된 후보 영역 중, 상기 일치 판정부에 의해 상기 추출 완료 후보 영역과 일치하지 않는다고 판정된 후보 영역에 대해서만 실시시킨다.
이 구성에서는 원화상에 기초하여 생성되는 복수 종류의 에지 화상 각각에 대하여, 후보 영역의 추출, 이 추출한 위치 정보에 대응하는 대응 영역에 특징적인 패턴이 포함되어 있는지의 여부의 판정 및 이차원 코드의 영역의 검출을 반복하여 실시하고 있다.
이에 의해, 특정한 에지 화상에 기초하여 이차원 코드의 영역을 검출할 수 없었다고 하여도, 다른 에지 화상에 기초하여 검출되는 것을 기대할 수 있고, 그 결과 원화상에서의 이차원 코드의 영역의 검출 정밀도를 높일 수 있다.
또한, 이 반복 과정에서는 특정한 에지 화상에 대하여 새롭게 추출된 후보 영역이, 앞서 참조된 에지 화상에 대하여 추출된 추출 완료 후보 영역과, 원화상의 영역에 있어서 일치하고 있는 경우도 상정된다. 그런데, 상기 구성에서는 이렇게 일치하는 추출 완료 후보 영역에 대하여, 추출한 후보 영역에 특징적인 패턴이 포함되어 있는지의 여부의 판정 및 이차원 코드의 영역의 검출을 실시하지 않는다.
그로 인해, 복수의 에지 화상 각각에 기초하여 검출된 각 이차원 코드의 영역에 대하여, 이 이차원 코드의 영역으로 나타내어지는 정보를 식별할 때, 원래 동일한 것인 이차원 코드의 영역을 반복하여 식별해 버리는 등의 쓸데없는 처리 부담을 없앨 수 있다.
[제6 구성]
또한, 제6 구성의 이차원 코드 리더는, 상기 제1 내지 제5 구성 중 어느 하나에 있어서, 상기 이차원 코드는, 상기 복수의 셀 각각에 부여되는 색이, 복수 종류의 색 중, 상기 셀로 코드화해야 할 정보, 및 상기 셀과 인접하는 셀에 부여된 색에 따른 착색 규칙에 따라 정해져 있으며, 또한, 상기 영역 검출부에 의해 검출된 이차원 코드의 영역 각각에 대하여, 상기 이차원 코드의 영역에서의 각 셀의 영역 중, 상기 셀의 영역에 대하여 상기 착색 규칙에 따라 부여되어야 할 색, 및 상기 이차원 코드에 있어서 사용되어야 할 색, 이외의 색이 부여되어 있는 셀의 영역에 대하여, 상기 셀의 영역에 원래 부여되어야 할 색을 상기 착색 규칙에 따라 추정하는 색 추정부를 구비하고 있고, 상기 정보 식별부는, 상기 이차원 코드의 영역에서의 각 셀의 영역 중, 상기 색 추정부에 의해 색이 추정된 셀의 영역에 상기 추정된 색이 부여되어 있는 것으로서, 각 셀의 영역에 부여된 색 또는 색의 조합에 기초하여 정보를 식별한다.
여기서, 상기 제5 구성에서는 이차원 코드 전체가 정상적으로 화상으로서 생성되어 있으면 문제는 없지만, 화상의 생성(구체적으로는 촬영) 상태에 따라서는, 일부의 셀에 대응하는 영역이 결여되어 버리는 등 정상적으로 화상으로서 생성되어 있지 않은 경우도 생각할 수 있으며, 이 경우, 정보의 식별 그 자체가 불가능하게 되어 버린다.
이러한 문제에 대해서는 일부의 셀에 대응하는 영역이 결여되어 버리는 경우라도, 이것을 보상하여 적절한 정보의 식별을 실현할 수 있도록 해 두는 것이 바람직하다.
상기 제6 구성이면, 이차원 코드에서의 각 셀 중 일부의 셀에 대응하는 영역이 결여되어 버렸다고 하여도, 그 셀에 원래 부여되어야 할 색을 착색 규칙에 따라 추정하고, 그 색에 기초하여 정보를 식별할 수 있기 때문에, 정보의 식별 그 자체가 불가능하게 되어 버리는 것을 방지할 수 있다.
또한, 이 구성에 있어서, 착색 규칙에 따라 추정되는 셀의 색으로서 복수의 색이 추정되는 경우에는, 그 중 어느 하나의 색을, 예를 들어 추정 결과의 정확도 등과 같은 파라미터에 기초하여 선택하고, 그렇게 하여 선택한 색이 부여되어 있다고 추정하는 것으로 하면 된다. 또한, 복수의 색이 추정되는 경우, 복수의 색이 부여되어 있는 패턴 각각에 대하여 정보를 식별하고, 그렇게 하여 식별한 정보 중에서 어느 하나의 정보를 유저에게 선택시키도록 하여도 된다.
[제7 구성]
또한, 제7 구성의 이차원 코드 리더는, 상기 제1 내지 제6 구성 중 어느 하나에 있어서, 상기 색 판정부는, 상기 이차원 코드의 영역에서의 각 셀의 영역에 부여되어 있는 색을, 상기 이차원 코드에 있어서 사용되는 복수의 색 각각을 중심으로 넓어지는 색 공간 상의 판정 영역 중 어디에 포함되어 있는지에 의해 판정한다.
이 구성이면 이차원 코드에서의 각 셀의 영역에 부여되어 있는 색을, 색 공간에서의 어느 판정 영역에 포함되어 있는지에 의해 판정할 수 있다.
[제8 구성]
또한, 제8 구성의 이차원 코드 리더는, 상기 제7 구성에 있어서, 상기 색 판정부는, 복수의 색 각각에 대응하는 상기 판정 영역 중 어디에도 포함되어 있지 않다고 판정된 셀의 영역이 일정수 이상 존재하는 이차원 코드의 영역에 대하여, 상기 판정 영역을 일정 영역만큼 넓힌 후에, 다시 각 셀의 영역에 부여되어 있는 색을 판정한다.
상기 제7 구성에 있어서는, 화상의 생성 조건에 따라서는 많은 셀의 영역에 부여된 색이 어느 판정 영역에도 포함되지 않는 경우도 생각할 수 있으며, 이 경우, 정보의 식별 그 자체가 불가능하게 되어 버린다.
이러한 문제에 대해서는 많은 셀의 영역에 부여된 색이 어느 판정 영역에도 포함되지 않는 경우라도, 이것을 보상하여 적절한 정보의 식별을 실현할 수 있도록 해 두는 것이 바람직하다.
상기 제8 구성이면 화상의 생성 조건이 나빠 적절하게 색의 판정이 불가능한 경우라도, 판정 영역을 넓힘으로써 판정의 감도를 높여 다시 색을 판정함으로써 색의 판정 확률을 높일 수 있다.
이 구성에 있어서, 판정 영역을 넓힐 때의 확장 폭은, 다른 판정 영역과 간섭하지 않는 범위를 상한으로 하여 넓히는 것으로 하면 되며, 판정 영역 중 어디에도 포함되어 있지 않다고 판정된 셀이 일정수 미만이 될 때까지 판정 영역을 서서히 넓혀 다시 판정을 반복하는 것으로 하여도 된다.
[제9 구성]
또한, 제9 구성의 이차원 코드 리더는, 상기 제7 구성에 있어서, 상기 색 판정부는, 복수의 색 각각에 대응하는 상기 판정 영역 중 어디에도 포함되어 있지 않다고 판정된 셀의 영역이 일정수 이상 존재하는 이차원 코드의 영역에 대하여, 상기 이차원 코드의 영역에서의 색의 분포에 따라 상기 판정 영역을 색 공간 상에서 변이시킨 후, 다시 각 셀의 영역에 부여되어 있는 색을 판정한다.
이 구성이면 화상의 생성 조건이 나빠 적절하게 색의 판정이 불가능한 경우라도, 판정 영역을 색의 분포에 따른 적절한 위치까지 변이시켜 다시 색을 판정함으로써 색의 판정 확률을 높일 수 있다.
이 구성에 있어서, 판정 영역은 이차원 코드의 영역에서의 색 성분의 치우침을 상쇄할 수 있는 색 공간 상의 위치로 변이시키는 것으로 하면 된다. 보다 구체적으로는, 이차원 코드의 영역에 있어서 특정한 색 성분이 전체적으로 크게 되어 있는 경우에, 이 색 성분을 작게 하는 방향으로 판정 영역을 변이시키는 것을 생각할 수 있다.
또한, 상기 제8, 제9 구성에 있어서, 「판정 영역 중 어디에도 포함되어 있지 않다고 판정된 셀이 일정수 이상 존재한다」에서의 「일정수」에 대해서는, 모든 셀에서 차지하는 해당 셀의 비율이어도 되고, 해당 셀의 절대수이어도 된다. 또한, 이차원 코드에 있어서 해당 셀이 특정 패턴으로 배치되어 있는 수이어도 된다.
[제10 구성]
또한, 제10 구성의 이차원 코드 리더는, 상기 제5 내지 제9 구성 중 어느 하나에 있어서, 상기 일치 판정부는, 특정한 상기 에지 화상에 대하여, 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에서의 상기 추출 완료 후보 영역과 일치하는지의 여부를, 양쪽의 후보 영역에서의 중복 정도에 따라 판정한다.
이 구성에 있어서, 상기 일치 판정부는, 특정한 상기 에지 화상에 대하여 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에서의 상기 추출 완료 후보 영역과 일치하는지의 여부를 양쪽의 후보 영역에서의 중복 정도에 따라 판정한다.
이 구성이면 특정한 에지 화상으로부터 추출된 후보 영역과, 다른 에지 화상에서의 추출 완료 후보 영역의 중복 정도에 따라, 그 중복 정도가 일정 이상인 것을 갖고 양쪽 후보 영역이 일치한다고 판정할 수 있다.
[제11 구성]
또한, 제11 구성의 이차원 코드 리더는, 상기 제5 내지 제10 구성 중 어느 하나에 있어서, 상기 일치 판정부는, 특정한 상기 에지 화상에 대하여, 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에서의 상기 추출 완료 후보 영역과 일치하는지의 여부를, 양쪽의 후보 영역 중 한쪽의 후보 영역이 다른쪽의 후보 영역에 포섭되어 있는지의 여부에 따라 판정한다.
이 구성이면 특정한 에지 화상으로부터 추출된 후보 영역 및 다른 에지 화상에서의 추출 완료 후보 영역 중, 한쪽의 후보 영역이 다른쪽의 후보 영역에 포섭되어 있는 것을 갖고 양쪽 후보 영역이 일치한다고 판정할 수 있다.
[제12 구성]
또한, 제12 구성의 이차원 코드 리더는, 상기 제5 내지 제11 구성 중 어느 하나에 있어서, 상기 이차원 코드의 영역이 다각형인 경우에 있어서,
상기 일치 판정부는, 특정한 상기 에지 화상에 있어서 상기 영역 추출부에 의해 추출된 후보 영역 각각에 대하여, 상기 후보 영역으로서 형성된 다각형에서의 1 이상의 정점이, 상기 추출 완료 후보 영역으로서 형성된 다각형에서의 어느 하나의 정점으로부터 일정 범위 내에 위치하고 있는지의 여부에 따라, 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에서의 상기 추출 완료 후보 영역과 일치하는지의 여부를 판정한다.
이 구성이면 특정한 에지 화상으로부터 추출된 후보 영역에서의 1 이상의 정점이, 추출 완료 후보 영역에서의 어느 하나의 정점으로부터 일정 범위 내에 위치하고 있는 것을 갖고 양쪽 후보 영역이 일치한다고 판정할 수 있다.
여기에서 말하는 「어느 하나의 정점으로부터 일정 범위 내」란, 특정한 에지 화상으로부터 추출된 후보 영역과, 다른 에지 화상에서의 추출 완료 후보 영역이 일치하는 경우에 있어서의 양자의 위치 관계로 정해지는 범위 내로 하면 된다.
또한, 양쪽 후보 영역이 일치한다고 판정하는 조건으로서는, 특정한 에지 화상으로부터 추출된 후보 영역에서의 적어도 하나의 정점이, 다른 에지 화상에서의 추출 완료 후보 영역에서의 어느 하나의 정점으로부터 일정 범위 내에 위치하고 있으면 된다. 또한, 양쪽 후보 영역이 일치한다고 판정할 때에는, 몇개의 정점이 일정 범위 내에 위치하고 있는 것을 조건으로 하여도 되며, 이차원 코드의 영역을 검출할 때까지의 처리 부담이나 처리 속도 등에 따라 적절하게 변경하는 것을 생각할 수 있다.
[제13 구성]
또한, 제13 구성의 이차원 코드 리더는, 상기 제1 내지 제12 구성 중 어느 하나에 있어서, 상기 영역 추출부는, 상기 이차원 코드의 영역의 형성에 관한 규칙을 규정하는 템플릿에 기초하여, 상기 성분 변환부에 의해 변환된 에지 화상으로부터, 그 템플릿으로 정해진 규칙에 따라 형성되어 있는 영역의 위치 정보를 후보 영역의 위치 정보로서 추출한다.
이렇게 구성하면, 템플릿으로 규정되는 규칙에 따라 후보 영역을 추출할 수 있기 때문에, 이 템플릿과 함께 규칙을 변경함으로써, 임의의 규칙에 따라 형성된 영역을 후보 영역으로서 검출할 수 있도록 할 수 있다.
또한, 상술한 이차원 코드 리더는 단체의 장치에 의해 구성하여도 되고, 복수의 장치가 협조하여 동작하는 시스템으로서 구성하여도 된다.
[제14 구성]
또한, 상기 과제를 해결하기 위한 제14 구성으로서는, 상기 제1 내지 제13 중 어느 하나의 구성에서의 모든 구성부로서 기능시키기 위한 각종 처리 수순을 컴퓨터 시스템에 실행시키기 위한 프로그램으로 하여도 된다.
이러한 프로그램에 의해 제어되는 컴퓨터 시스템은, 상기 각 구성에 관한 이차원 코드 리더의 일부를 구성할 수 있다.
또한, 상술한 각 프로그램은 컴퓨터 시스템에 의한 처리에 적합한 명령의 순서가 부여된 열로 이루어지는 것이며, 각종 기록 매체나 통신 회선을 통하여 이차원 코드 리더나, 이것을 이용하는 유저에게 제공되는 것이다.
도 1은 이차원 코드 리더(1)의 구성예를 도시하는 블록도이다.
도 2는 이차원 코드(100)의 구성예를 도시하는 도면이다.
도 3은 코드 이용 물품 검출 처리의 처리 수순의 일례를 나타내는 흐름도이다.
도 4는 에지 화상으로부터 추출된 후보 영역 각각이 추출 완료 후보 영역과 일치하는지의 여부를 판정하기 위한 다른 방법을 도시하는 도면이다.
도 5의 (a)는 변수 Y의 값과 화상 종류 및 임계값의 대응 관계의 일례를 나타내는 도면이고, (b)는 에지 화상 생성 처리의 처리 수순의 일례를 나타내는 흐름도이다.
도 6은 유효 영역 판정 처리의 처리 수순을 나타내는 흐름도이다.
도 7의 (a)는 이상적인 후보 영역의 형상예를 도시하는 도면이고, (b) 내지 (e)는 오차 범위 외의 형상예를 도시하는 도면이고, (f) 내지 (g)는 오차 범위 내의 형상예를 도시하는 도면이다.
도 8은 색 판정 처리의 처리 수순의 일례를 나타내는 흐름도이다.
도 9는 물품 검출 처리의 처리 수순의 일례를 나타내는 흐름도이다.
도 10은 데이터베이스에 등록된 식별 정보 및 물품 정보의 일례를 나타내는 도면이다.
도 11의 (a)는 물품 검출 모드의 검출 대상 화상예를 도시하는 도면이고, (b)는 검출 결과의 표시예를 도시하는 도면이다.
도 12의 (a)는 기한 관리 모드의 검출 대상 화상예를 도시하는 도면이고, (b)는 검출 결과의 표시예를 도시하는 도면이고, (c)는 카메라(76)의 배치 위치의 일례를 도시하는 도면이다.
도 13은 검출 모드 설정 처리의 처리 수순의 일례를 나타내는 흐름도이다.
이하에 본 발명의 실시 형태를 도면에 기초하여 설명한다.
(1) 이차원 코드 리더(1)의 구성
우선, 도 1에 기초하여 이차원 코드 리더(1)의 구성을 설명한다. 도 1은 이차원 코드 리더(1)의 구성예를 도시하는 블록도이다.
이차원 코드 리더(1)는, 도 1에 도시한 바와 같이 CPU(Central Processing Unit)(60), RAM(Random Access Memory)(62), ROM(Read Only Memory)(64), 입출력 인터페이스(I/F)(66), 버스(68)를 포함하여 구성되는 컴퓨터 시스템을 구비하고 있다. CPU(60), RAM(62), ROM(64) 및 I/F(66)는 버스(68)에 접속되어 있고, 버스(68)를 통하여 이들 접속 디바이스간의 데이터의 송수신을 가능하게 하고 있다.
이차원 코드 리더(1)는, 또한 I/F(66)를 통하여 기억 장치(70), 표시 장치(72), 입력 장치(74), 카메라(76), NIC(Network Interface Card)(78)에 접속되어 있다.
CPU(60)는 ROM(64) 또는 기억 장치(70)에 미리 기억된 각종 전용의 컴퓨터 프로그램을 RAM(62)에 읽어들이고, RAM(62)에 읽어들여진 프로그램에 기술된 명령에 따라, 각종 리소스를 구사하여, 후술하는 이차원 코드를 이용한 물품 검출 처리(이하, 코드 이용 물품 검출 처리라고 칭함)를 실행한다.
기억 장치(70)는 각종 전용의 컴퓨터 프로그램, 프로그램의 실행에 있어서 사용되는 데이터 등의 상기 코드 이용 물품 검출 처리에 필요한 데이터를 기억한다.
구체적으로, 기억 장치(70)는 이차원 코드를 특징짓는 정보를 규정한 템플릿, 카메라(76)에 의해 촬영하여 얻어지는 화상 데이터를 기억한다.
또한, 기억 장치(70)는, 각 이차원 코드에 있어서 독특한 셀군 각각의 색 또는 색의 조합과, 각 이차원 코드에 대하여 유니크한 정보를 포함하는 정보의 대응 관계가 등록된 데이터 테이블을 기억한다.
또한, 기억 장치(70)는 이차원 코드가 부여된 물품에 관한 정보(이하, 물품 정보라고 칭함)와, 각 이차원 코드가 갖는 유니크한 정보(식별 정보)를 대응지어 이루어지는 정보를 등록한 데이터베이스를 기억한다. 이 데이터베이스는, 구체적으로 물품의 식별 정보(품명, 일련 번호 등), 개수 정보, 입고 시기 등의 보관 개시 시기 정보, 출하 기한, 소비 기한 등의 기한 정보 등을, 각 이차원 코드가 갖는 유니크한 정보와 대응지어 등록된 것이 된다.
여기서, 기억 장치(70)는 FD 드라이브, HD 드라이브 등의 자기 기억형 기억 장치, CD 드라이브, DVD 드라이브, BRD 드라이브 등의 광학적 판독/기입 방식 기억 장치, MO 드라이브 등의 자기 기억형/광학적 판독 방식 기억 장치 등의 컴퓨터로 기억 데이터를 판독 가능한 기억 장치이면 무엇이라도 좋다.
표시 장치(72)는 CRT 디스플레이, 액정 디스플레이 등의 주지의 표시 장치이며, CPU(60)로부터의 명령에 따라 카메라(76)로 촬영된 화상, 상기 화상을 가공한 가공 화상 등의 화상(동화상을 포함함)의 표시를 행한다.
입력 장치(74)는 키보드, 마우스, 조작 버튼, 터치식의 입력 디바이스(터치 패널 등) 등의 휴먼 인터페이스 디바이스이며, 유저의 조작에 따른 입력을 접수한다.
카메라(76)는 디지털 카메라 등의 주지의 카메라이며, 소정의 촬영 영역을 촬영하여 얻어진 화상을 나타내는 화상 데이터를 생성하여 순차적으로 I/F(66)를 통하여 RAM(62) 또는 기억 장치(70)에 송신하여, RAM(62) 또는 기억 장치(70)에 화상 데이터를 저장한다.
NIC(78)는 LAN, WAN, 인터넷 등의 네트워크 상의 외부 장치와 통신하기 위한 디바이스이며, 일반적으로 LAN 카드 등으로 불리는 주지의 네트워크 어댑터이다. NIC(78)는 네트워크 케이블(L)을 통하여 라우터나 허브 등에 접속되고, 이들을 통하여 이차원 코드 리더(1)를 네트워크에 접속한다. 또한, 주지의 무선 LAN 등의 무선에 의해 무선 LAN용의 액세스 포인트를 통하여 네트워크에 접속하는 구성이어도 된다.
이에 의해, 본 실시 형태에서는 네트워크에 접속된 외부 카메라로부터 NIC(78)를 통하여 소정의 촬영 영역의 촬영 화상을 나타내는 화상 데이터를 취득하거나, 네트워크에 접속된 데이터 서버로부터 각종 데이터를 취득하거나 하는 것도 가능하다.
또한, 이 이차원 코드 리더(1)는, 예를 들어 휴대 전화 단말기, 휴대 정보 단말기, 주지의 퍼스널 컴퓨터 등에 실장되는 것으로서 구성된다.
그리고, 본 실시 형태에서의 이차원 코드 리더(1)는, 복수의 물품과 상기 물품에 각각 부여된 1 이상의 이차원 코드가 포함된 화상을 나타내는 화상 데이터에 기초하여, 그 화상 중의 이차원 코드를 검출하는 처리와, 검출한 이차원 코드에 의해 나타내어지는 정보를 식별하여 취득하는 처리를 행하는 장치로서 구성되어 있다. 또한, 취득한 식별 정보에 대응하는 물품 중에 검출 대상으로서 지정된 물품이 존재하는지의 여부를 판정하여, 검출 대상의 물품이 존재하는 경우에, 이 물품에 대응하는 이차원 코드의 영역을 강조 표시하는 가공을 원화상에 실시하고, 상기 가공 후의 화상을 표시하는 처리를 행하는 장치로서 구성되어 있다.
또한, 본 실시 형태에 있어서, 상기 각 처리는 입력 장치(74)를 통한 유저의 조작 입력(지시 정보)을 트리거로 하여 행해지는 일련의 처리가 된다.
(2) 이차원 코드(100)의 구성
이어서, 도 2에 기초하여 이차원 코드 리더(1)에 의해 판독하는 이차원 코드(100)에 대하여 설명한다. 도 2는 이차원 코드(100)의 구성예를 도시하는 도면이다.
본 실시 형태에서의 이차원 코드(100)는, 도 2에 도시한 바와 같이, 흑색의 세퍼레이터(110) 상에 복수의 셀 C11 내지 Cpq(2≤p, 2≤q)이 일정 간격으로 배열되고, 소정의 정보가 각 셀의 색 및 색의 조합에 의해 코드화된 것이다. 즉, 이 이차원 코드는 셀 각각 또는 조합에 관한 셀군 각각이, 그것에 부여된 복수의 색(다색) 또는 색의 조합 패턴에 의해 숫자나 문자 등 복수 종류의 값(다치)을 표현 가능하게 되어 있다. 예를 들어, 복수의 이차원 코드에 대하여 각각 색의 조합이나 색의 배열 패턴을 바꿈으로써, 각 이차원 코드에 고유한 유니크한 정보를 부여하는 것이 가능하다.
여기서, 이 이차원 코드를 구성하는 1행째(도 2에서의 최상부의 행)의 셀 C11 내지 C1q는, 이차원 코드의 각 셀 C에 부여될 수 있는 마크의 색에 의해 순서대로 마크가 부여된(셀 C가 빈틈없이 칠해진) 헤더 영역으로 되어 있다.
본 실시 형태에 있어서는, 셀 C에 부여될 수 있는 마크의 색으로서 흑색(k)을 제외한 1색 이상의 색이, 흑색(k)으로 마크가 부여된 셀 C와 세트로 배열되어 있다.
또한, 각 행의 셀 C 중 선두(도 2에서의 좌측 단의 열))에 위치하는 셀 C11 내지 Cp1(본 실시 형태에서는 흑색(k)이 부여된 셀)은, 이차원 코드의 위치를 특정하기 위한 특정 셀로서 배치된 것이다.
그리고, 2행째 이후의 셀 C11 내지 Cpq(선두의 셀 C11 내지 Cp1을 제외함)는 행마다 각각 1 이상의 셀 C로 이루어지는 셀군으로 나누어져 있으며, 그 셀군으로 나타내어야 할 단위 정보(1 이상의 문자)의 대응지어진 색 또는 색의 조합으로 마크가 부여된다. 이렇게 하여 각 셀 각각 또는 1 이상의 조합에 관한 셀군 각각이, 복수 종류의 문자 중 어느 하나나 다진수의 숫자로 나타내어지는 어느 하나의 값으로 이루어지는 정보를 가질 수 있게 되어 있다.
또한, 이들 셀 C에 각각 부여된 마크의 색은, 시안(c), 마젠타(m), 옐로우(y)의 분포를 나타낸 삼차원 공간 내에 있어서, 각각 삼차원 영역으로서 구형으로 넓어지는 복수의 성분 영역(후술하는 판정 영역)을, 이들 성분 영역끼리 서로 간섭하지 않는 크기 및 위치 관계로 배치한 성분 모델에 의해 결정된다. 구체적으로, 이 성분 모델에 배치된 성분 영역 내에서의 중심 좌표로 표시되는 성분 각각이, 정보색의 성분 또는 조합색에서의 각 색의 성분으로서 셀군에 마크가 부여되어 있다.
여기에서 말하는 「성분 영역끼리 서로 간섭하지 않는」이란, 각 성분 영역이 중복되지 않도록, 각 성분 영역끼리의 간격을 두고 배치하거나, 각 성분 영역의 경계를 인접시켜 배치하거나 하는 것이다.
또한, 성분 영역의 크기는, 화상의 촬영 환경에 따라 발생할 수 있는 오차의 범위를 충분히 포섭할 수 있는 공간으로서 규정한 것이며, 본 실시 형태에서는 특정 좌표에서의 색을 일반적인 촬영 환경 하의 색으로 하고, 이 색으로부터 촬영 환경에 따라 발생할 수 있는 오차의 범위를 포함하는 영역을 성분 영역으로서 규정하고 있다.
또한, 이차원 코드(100)에서의 특정 셀에 부여된 마크의 색 및 세퍼레이터(110)의 색에는, 셀 C에 부여하는 마크의 색에 사용되고 있지 않은 성분 영역에서의 중심 좌표의 색(본 실시 형태에서는 흑색 계통의 색)이 사용되고 있다.
(3) CPU(60)에 의한 처리
이하에, CPU(60)가 ROM(64) 또는 기억 장치(70)에 기억된 전용의 컴퓨터 프로그램에 따라 실행하는 각종 처리의 수순에 대하여 순차적으로 설명한다.
(3-1) 코드 이용 물품 검출 처리
우선, 이차원 코드 리더(1)가 카메라(76)로부터의 화상 데이터를 수신 중에 있어서, 입력 장치(74)를 통한 유저로부터의 지시 입력에 따라 개시되는 코드 이용 물품 검출 처리의 처리 수순을 도 3에 기초하여 설명한다.
여기서, 도 3은 코드 이용 물품 검출 처리의 처리 수순의 일례를 나타내는 흐름도이다.
코드 이용 물품 검출 처리가 개시되면, 우선, 카메라(76)로 촬영된 촬영 화상 데이터로부터의 에지 화상 데이터의 생성, 에지 화상 데이터로부터의 후보 영역의 추출, 후보 영역이 유효한지의 여부의 판정, 원화상에서의 유효한 후보 영역에 대응하는 영역이 특징 패턴을 포함하는지의 여부의 판정과 같은 수순을 거쳐 이차원 코드의 영역을 검출한다.
이어서, 검출된 이차원 코드의 영역에 대하여, 세퍼레이터(110)의 검출, 셀 영역을 분할, 각 셀 영역의 색의 판정(보정, 재판정 등을 포함함), 각 셀 영역의 색의 판정 결과의 대조와 같은 수순을 거쳐 검출한 이차원 코드의 정보를 식별한다.
또한, 미리 설정된 검출 모드에 따라 검출 대상의 물품에 대응하는 이차원 코드의 특정, 원화상의 가공 및 가공한 화상의 표시와 같은 수순을 거쳐 원화상 중의 검출 물품의 위치가 명시된 화상을 표시한다. 구체적으로, 화상의 가공은, 원화상(복사 화상도 가능)에 대하여, 원화상 중에서의 특정한 이차원 코드의 화상 부분의 강조(예를 들어, 마킹, 색의 변경 등), 검출 모드에 따른 물품에 관한 정보 화상(예를 들어, 문자 화상)의 추가 등을 행하는 처리가 된다. 따라서, 원화상에 대하여, 검출 대상의 물품의 위치를 명시하는 화상(또는 효과) 및 상기 물품에 관한 모드에 따른 정보 화상이 더해진 화상이 표시 장치(72)에 표시되게 된다.
본 실시 형태에 있어서, 설정 가능한 상기 검출 모드에는, 원화상 중에 포함되는 이차원 코드가 부여된 물품 중에서 지정된 물품을 검출하는 물품 검출 모드와, 출하 기한이나 소비 기한이 끝난 물품을 검출하는 기한 관리 모드가 있다.
코드 이용 물품 검출 처리는 CPU(60)에 의해 전용의 컴퓨터 프로그램을 실행함으로써 기동되는 처리이며, 프로그램이 실행되면, 도 3에 나타낸 바와 같이, 우선 스텝 S100으로 이행한다.
스텝 S100에서는 입력 장치(74)를 통하여 유저로부터의 지시 입력이 있었는지의 여부를 판정하여, 지시 입력이 있었다고 판정한 경우("예")에는 스텝 S102로 이행하고, 그렇지 않은 경우("아니오")에는 입력될 때까지 판정 처리를 속행한다.
여기서, 물품 검출 모드가 설정되어 있는 경우에는, 지시 입력을 행하기 전에, 예를 들어 물품의 일련 번호, 품명 등의 검출 대상의 물품의 식별 정보를 설정 할 필요가 있다. 이 설정은 입력 장치(74)를 통하여 유저가 검출 대상의 상품을 식별하는 정보를 수동 입력하여도 되고, 물품 리스트 등을 표시하여 유저가 그 중에서 물품명 등의 식별 정보를 선택하도록 하여도 된다.
한편, 기한 관리 모드가 설정되어 있는 경우에는, 물품 검출 모드와 마찬가지로 식별 정보를 설정하여도 되지만, 예를 들어 창고에 산적된 출하 대기의 물품(상품)이나, 점내의 상품 진열장에 배열된 물품 등과 같이 모두를 관리 대상으로 하고자 하는 경우에는, 이 설정은 불필요로 하여도 된다. 본 실시 형태에서는 기한 관리 모드에 있어서 물품의 식별 정보를 설정하는 처리를 행하지 않는 것으로 한다.
또한, 본 실시 형태에 있어서, 지시 입력은 표시 장치(72)에 표시된 카메라(76)의 촬영 화상을 보면서 유저가 입력 장치(74)를 통하여 행하는 처리가 되며, 검출 대상의 물품은 지시 입력의 입력 시에 표시되어 있었던 촬영 화상 중에서 검색되게 된다.
스텝 S102로 이행한 경우("예")에는, RAM(62) 또는 기억 장치(70)로부터 지시 입력이 있었던 타이밍에 표시되어 있었던 화상 데이터 또는 상기 화상 데이터 외에 복수 프레임분의 화상 데이터를 취득하여 스텝 S104로 이행한다.
구체적으로, 설정된 모드나 사양에 따라, 지시 입력이 행해진 타이밍의 1매의 화상 또는 지시 입력의 타이밍을 기점으로 하여 미리 설정된 복수 프레임의 화상을 취득한다. 그리고, 이들 화상 데이터에 대하여 이후의 처리가 실행된다. 단, 설명의 편의상, 본 실시 형태에서는 1매의 화상을 취득하고, 취득한 1매의 화상에 대하여 처리를 행하는 것으로 한다.
스텝 S104에서는, 이차원 코드를 특징짓는 정보를 규정한 템플릿을 기억 장치(70)로부터 판독하여 스텝 S106으로 이행한다.
여기에서 말하는 템플릿은 이차원 코드로 이루어지는 영역을 규정하는 영역 규칙, 이차원 코드에서의 특징적인 패턴, 이차원 코드에 마크로서 부여되는 색(색의 수, 색의 종류)의 착색 규칙 등을 나타내는 정보이다.
이들 중 「영역 규칙」이란, 에지 화상으로부터 후보 영역을 추출(좌표를 특정)할 때에는, 예를 들어 이차원 코드의 외형 형상에 따라 진원형의 영역, 타원형의 영역 등의 원형의 영역, 직사각형의 영역, 삼각형의 영역 등의 다각형의 영역 또는 이들과 유사한 형상의 영역 등을 규정해 두면 된다. 유사한 형상으로서는, 예를 들어 이차원 코드의 외형 형상이 직사각형 형상이면, 사다리꼴의 영역 등의 직사각형 형상을 각도를 바꾸어 본(촬영한) 경우의 형상 등이 되며, 이차원 코드의 외형 형상이 진원형이면, 육각형이나 팔각형의 영역 등의 촬영 환경이나 원화상의 화질 등에 의해 원형이 무너진 경우의 형상 등이 해당된다. 또한, 예를 들어 형상 등은 무시하고, 폐쇄 영역이면 무엇이든지 후보 영역으로서 추출한다고 한 규정이어도 되고, 에지 성분의 분포 패턴(에지 성분의 분포 상태, 분포되어 있는 에지 성분의 배치 등)이 특정한 패턴의 영역을 추출한다고 한 규정이어도 된다.
또한, 추출한 후보 영역이 유효한지의 여부를 판정할 때에는, 예를 들어 추출한 후보 영역의 외형 형상이 원형인 경우에 있어서의 편평률이나, 외형 형상이 다각형인 경우에 있어서의 각 변의 길이나 각 변으로 형성되는 각도, 외형 형상이 다각형인 경우에 있어서의 각 변의 길이의 비율 등을 규정해 두면 된다.
단, 「영역 규칙」은 이후의 처리에 필요한 처리 부담을 경감하기 위해서는, 복수의 항목을 선택하여 규정한 것으로 하는 것이 바람직하며, 이 경우, 후보 영역으로서의 추출수가 적어지는 결과, 처리 부담의 경감에 따라 처리 시간의 단축이 실현되게 된다.
또한, 「특징적인 패턴」이란, 예를 들어 이차원 코드에 있어서 코드화의 심볼이 되는 셀의 배치 패턴이나, 이차원 코드인 것을 식별하기 위하여 배치된 특정 심볼의 배치 패턴이나, 이차원 코드인 것을 식별하기 위하여 배치된 마크의 패턴 등이다.
예를 들어, 도 2에 예시한 이차원 코드(100)이면, 상기 특정 셀 C11 내지 Cp1에 부여된 색과, 상기 헤더 영역 C11 내지 C1q의 각 셀에 부여된 복수의 색의 양쪽 또는 한쪽에 의해, 이차원 코드의 영역을 나타내는 특징적인 패턴이 형성되어 있다.
또한, 이 특징적인 패턴으로서는 세퍼레이터(110)의 영역도 패턴에 포함시키는 구성이나, 헤더 영역이나 특정 셀 등을 형성하지 않고, 정보를 나타내는 영역(도 2의 예에서는 특정 셀 C11 내지 Cp1을 제외한 2행째 이후의 영역)의 각 셀에 부여된 복수의 색이나 그 조합 패턴, 상기 복수의 색이 부여된 셀의 배치순 등이 특징적인 패턴을 형성하는 구성 등, 다른 구성에 의해 실현되는 것으로 하여도 된다.
또한, 「착색 규칙」이란, 이차원 코드에서의 복수의 셀 각각에 부여되어야 할 색의 규칙이며, 해당 셀로 코드화해야 할 정보 및 해당 셀과 인접하는 셀에 부여된 색에 따라 결정되는 것이다.
스텝 S106에서는, 이후의 처리에서 참조하는 변수 X, Y를 초기화(0→X, 1→Y)하여 스텝 S108로 이행한다.
스텝 S108에서는, 스텝 S102에서 취득한 화상 데이터에 대하여 에지 화상의 생성 처리를 실행하여 에지 화상 데이터를 생성하고, 스텝 S110으로 이행한다. 또한, 이 에지 화상 생성 처리에서의 구체적인 처리 수순에 대해서는 후술한다.
스텝 S110에서는, 스텝 S108에 있어서 생성된 에지 화상 데이터에 기초하여, 이 에지 화상으로부터 이차원 코드로 이루어지는 후보 영역 각각의 위치를 특정하여 스텝 S112로 이행한다. 여기에서는 스텝 S104에서 판독된 템플릿에서의 「영역 규칙」에 기초하여, 제Y번째의 에지 화상으로부터 이차원 코드로 이루어지는 후보 영역을 규정하는 화상 중의 좌표 각각이 특정된다.
본 실시 형태에서는 이차원 코드(100)가 도 2에 도시하는 외형 형상(직사각형 형상)이기 때문에, 「영역 규칙에 따른 영역」으로서 선형화된 윤곽부에 의해 폐쇄 영역이 되는 직사각형 형상의 영역을 후보 영역으로서 모두 특정한다. 또한, 이 「영역 규칙에 따른 영역」에는 영역 규칙에 따른 영역뿐만 아니라, 그 영역으로서 허용되는 오차 범위의 파라미터로 형성된 영역도 포함된다. 예를 들어, 오차 범위 내이면, 직사각형 형상뿐만 아니라 사다리꼴 형상, 평행사변형 형상, 마름모형 형상 등도 포함된다.
스텝 S112에서는, 스텝 S110에 있어서 후보 영역이 특정되었는지의 여부를 판정하여, 특정되었다고 판정한 경우("예")에는 스텝 S114로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S140으로 이행한다.
스텝 S114로 이행한 경우에는, 스텝 S110에 있어서 특정된 후보 영역(좌표 정보) 각각을 리스트에 등록하여 스텝 S116으로 이행한다.
스텝 S116에서는, 스텝 S114에 있어서 리스트에 등록된 후보 영역 중, 이후의 처리에서 처리 대상으로 되어 있지 않은 (미처리된) 후보 영역이 있는지의 여부를 판정하여, 있다고 판정한 경우("예")에는 스텝 S118로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S138로 이행한다. 여기에서는 리스트에 후보 영역이 등록되어 있지 않은 경우에도, 미처리된 후보 영역이 없다고 판정된다.
스텝 S118로 이행한 경우에는, 리스트에 등록되어 있는 미처리된 후보 영역 중 어느 하나의 후보 영역을 선택하여 스텝 S120으로 이행한다.
스텝 S120에서는, 스텝 S118에 있어서 선택된 후보 영역이 유효한지의 여부를 판정하는 유효 영역 판정 처리를 실행하여 스텝 S122로 이행한다. 또한, 이 유효 영역 판정 처리에서의 구체적인 처리 수순에 대해서는 후술한다.
스텝 S122에서는, 스텝 S120의 판정 결과에 기초하여 스텝 S118에서 선택한 후보 영역이 유효한지의 여부를 판정한다. 그리고, 유효한 것이라고 판정한 경우("예")에는 스텝 S124로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S116으로 이행하며, 이후 다른 후보 영역에 대하여 상기와 마찬가지의 처리를 행한다.
스텝 S124로 이행한 경우에는, 직전에 행해진 상기 스텝 S110에 있어서 특정된 후보 영역(신규 후보 영역)이, 과거에 행해진 상기 스텝 S110에 있어서 특정된 후보 영역(추출 완료 후보 영역)과 동일한지의 여부를 판정한다.
구체적으로, 신규 후보 영역이 추출 완료 후보 영역에 영역으로서 소정 비율이상 중복되어 있는 경우, 또는 신규 후보 영역 및 추출 완료 후보 영역의 한쪽이 다른쪽에 포섭되어 있는 경우에, 신규 후보 영역이 추출 완료 후보 영역과 동일하다고 판정된다.
본 실시 형태에서는 후보 영역이 다각형으로 되기 때문에, 에지 화상으로부터 추출된 후보 영역 각각이, 다른 에지 화상에서의 추출 완료 후보 영역과 일치하는지의 여부는, 후보 영역으로서 형성된 다각형에서의 1 이상의 정점 Pn이 추출 완료 후보 영역으로서 형성된 다각형에서의 어느 하나의 정점 Po로부터 일정 범위(예를 들어 일정한 반경 r 거리) 내에 위치하고 있는지의 여부에 따라 판정하는 것으로 하여도 된다(도 4 참조).
또한, 여기에서 말하는 「어느 하나의 정점으로부터 일정 범위 내」란, 특정한 에지 화상으로부터 추출된 후보 영역과, 다른 에지 화상에서의 추출 완료 후보 영역이 일치하는 경우에, 양쪽의 후보 영역이 위치할 수 있는 위치 관계로 정해지는 범위 내로 하면 되며, 상기 일정한 반경 r 거리 내에 한정되지 않는다.
그리고, 스텝 S124에 있어서 신규 후보 영역이 과거에 행해진 상기 스텝 S110에 있어서 특정되어 RAM(62) 또는 기억 장치(70)에 저장된 어느 하나의 추출 완료 후보 영역과 동일하다고 판정된 경우("예")에는 스텝 S116으로 이행하고, 이후 다른 후보 영역에 대하여 상기와 마찬가지의 처리를 행한다.
한편, 스텝 S124에 있어서 신규 후보 영역이 추출 완료 후보 영역과 동일하지 않다고 판정된 경우("아니오")에는 스텝 S126으로 이행한다.
스텝 S126으로 이행한 경우에는, 이 시점에서의 신규 후보 영역을 정보의 식별에 적합한 것이 되도록 보정하여 스텝 S128로 이행한다.
여기에서는 신규 후보 영역에서의 이차원 코드의 형상, 각도가 보정된다. 구체적으로는, 예를 들어 처리 대상의 영역이 비스듬하게 배치되어 있었던 경우나, 정사각형으로 되어 있지 않은 왜곡된 형상으로 되어 있는 경우에, 그러한 어긋남을 보정하기 위해 회전이나, 좌표축에 맞춘 연장ㆍ단축 등이 행해진다.
또한, 영역 그 자체를 보정하는 것이 아니라, 이 이후의 처리에서 이차원 코드인지의 여부의 판정 및 이제부터의 정보의 식별을 행할 때에 기준으로 하는 좌표축의 각도나 길이를 보정하는 것으로 하여도 된다.
또한, 이 스텝 S126에서는 신규 후보 영역에서의 이차원 코드의 색 성분이, 각 셀에서의 색의 식별성을 높이기 위해 보정된다.
구체적으로, 원화상 데이터가 RGB 색 공간 등의 CMYK 이외의 색 공간에서 색이 표현된 컬러 화상 데이터인 경우에, 각 픽셀값을 CMYK의 색 공간에서 색이 표현된 컬러 화상 데이터로 변환한다. 이에 의해, 이후의 색 판정 처리에 있어서, 예를 들어 RGB 색 공간에서는 인식하기 어려운 색(예를 들어, 녹색)의 인식 정밀도를 향상시킬 수 있다. 본 실시 형태에서는 CMYK 이외의 색 공간(본 실시 형태에서는 RGB 색 공간)의 값을 CMYK 색 공간의 값으로 변환하는 변환 테이블(색 변환용 LUT(Look Up Table))이 기억 장치(70)에 기억되어 있으며, 이 색 변환용 LUT를 사용하여 색 변환을 행한다.
또한, 보정의 필요가 없는 경우에는, 상기 어느 처리도 행하지 않고 스텝 S128로 이행한다.
스텝 S128에서는, 상기 스텝 S102에 있어서 취득된 화상 데이터로 나타내어지는 원화상 중, 상기 스텝 S126에 있어서 보정된 후보 영역에 대응하는 대응 영역에, 이차원 코드로서의 특징적인 패턴이 포함되어 있는지의 여부를 판정한다.
여기에서는 스텝 S126에 있어서 보정된 후보 영역을 단위 영역(1 이상의 도트로 이루어지는 영역)씩 주사해 가고, 그렇게 하여 특정된 셀(특히 헤더 영역 및 특정 셀)이나 마크의 패턴이, 상기 스텝 S104에 있어서 판독된 템플릿에서의 「특징적인 패턴」으로 규정된 셀의 배치 패턴이나 마크의 패턴과 일치하고 있는지의 여부를 판정한다. 그리고, 일치하고 있는 경우에는, 코드 영역에 이차원 코드로서의 특징적인 패턴이 포함되어 있다고 판정하고, 일치하고 있지 않은 경우에는, 코드 영역에 이차원 코드로서의 특징적인 패턴이 포함되어 있지 않다고 판정한다.
또한, 이 판정 처리에 있어서, 셀의 패턴을 특정할 때의 각 셀의 색의 판정을 행할 때에, 후술하는 색 판정 처리의 알고리즘을 적용하는 것이 가능하다.
또한, 도 2에 예시한 이차원 코드(100)는, 헤더 영역 및 특정 셀의 영역 등과 같이 데이터 영역과는 별도로 특별하게 형성된 영역을 갖고 있으며, 이 영역이 「특징적인 패턴」으로서 추출되어 판정이 행해지는 구성으로 되어 있지만, 이 구성에 한정되지 않는다.
예를 들어, 도 2에 도시하는 이차원 코드에 있어서, 헤더 영역 및 특정 셀의 영역을 제외한 데이터 영역만으로 구성된 이차원 코드 등 다른 구성으로 하여도 된다.
이 경우에도 이차원 코드(100)와 마찬가지로 데이터 영역에서의 복수 종류의 셀의 배치 패턴이나 마크의 패턴 등이 「특징적인 패턴」이 되고, 이 패턴과 템플릿에서의 특징적인 패턴을 비교하여 「특징적인 패턴」이 포함되어 있는지의 여부를 판정하게 된다. 단, 데이터 영역의 각 셀은 정보를 코드화하는 역할도 하고 있어, 이차원 코드(100)와 같이 전용의 셀로는 되지 않는다.
또한, 판정 시에, 특정한 셀에 부여되는 색에 어떠한 정보를 대응지어 두고, 이 정보를 사용한 계산 처리 등에 의해 특징적인 패턴이 포함되어 있는지의 여부를 판정하는 것도 가능하다. 즉, 각 셀의 배치 패턴이나 각 셀의 색 등이 올바른 패턴 및 색으로 되어 있는지를 계산 처리에 의해 확인할 수 있는 정보(예를 들어, 오류 검출 부호 등)를 대응짓는다.
이 경우에는, 예를 들어 계산 결과의 수치 등이 올바른 패턴을 나타내는 수치로 되어 있는지의 여부 등으로 판정을 행하게 된다. 그로 인해, 템플릿에서의 특징적인 패턴은 직접적인 패턴뿐만 아니라, 간접적으로 올바른 패턴을 나타내는 수치 등의 정보로서 설정되는 경우도 있다.
그리고, 스텝 S128에 있어서, 이차원 코드로서의 특징적인 패턴이 포함되어 있지 않다고 판정한 경우("아니오")에는 스텝 S116으로 이행하고, 이후 다른 코드 영역에 대하여 상기와 마찬가지의 처리를 행한다.
한편, 스텝 S128에 있어서, 이차원 코드로서의 특징적인 패턴이 포함되어 있다고 판정한 경우("예")에는 스텝 S130으로 이행한다.
스텝 S130으로 이행한 경우에는, 이 시점에서의 신규 후보 영역을 이차원 코드의 영역으로서 검출하여 스텝 S132로 이행한다.
이 검출 처리는, 신규 후보 영역의 좌표 정보에 기초하여 원화상으로부터 신규 후보 영역을 잘라내어(복제 화상을 생성하여) 기억 장치(70)에 기억하는 처리로 된다.
스텝 S132에서는, 상기 스텝 S130에 있어서 검출된 이차원 코드의 영역에 대하여, 그 이차원 코드에서의 셀 각각에 부여된 색을 특정하기 위한 색 판정 처리를 행하여 스텝 S134로 이행한다.
이 색 판정 처리는, 상기 스텝 S130에 있어서 검출된 이차원 코드의 영역을 인수로 하여 실행되고, 이 이차원 코드에서의 셀 각각에 부여된 색이 복귀값으로 된다. 또한, 이 색 판정 처리에서의 구체적인 처리 수순에 대해서는 후술한다.
스텝 S134에서는, 상기 스텝 S130에 있어서 검출된 이차원 코드의 영역에 대하여, 상기 스텝 S132에 있어서 특정된 색에 기초하여, 그 이차원 코드로 나타내어지는 정보를 셀 C 각각에 부여된 색 및 그 조합에 기초하여 식별하여 스텝 S136으로 이행한다.
스텝 S136에서는, 스텝 S134에 있어서 식별된 정보를 RAM(62) 또는 기억 장치(70)에 저장하여 스텝 S138로 이행한다.
스텝 S138에서는 변수 X를 인크리먼트(X+1→X)하여 스텝 S140으로 이행한다.
이제까지 나타낸 바와 같이, 상술한 스텝 S116 내지 S136까지가 행해지는 것은, 스텝 S110에 있어서 특정된 후보 영역이 이차원 코드의 형태를 이루고 있었던 것을 의미하고 있다. 그로 인해, 이 스텝 S138에서는, 이 변수 X를 인크리먼트함으로써, 이차원 코드의 영역으로서 검출 내지 식별된 후보 영역의 수를 적산하고 있게 된다.
스텝 S140에서는, 이 시점에서 변수 X가 소정수 이상으로 되어 있는지의 여부를 판정한다. 즉, 소정수 이상의 후보 영역이 이차원 코드의 형태를 이루고 있었는지의 여부를 판정한다.
그리고, 스텝 S140에 있어서, 변수 X가 소정수 이상으로 되어 있다고 판정한 경우("예")에는 스텝 S140으로 이행하고, 변수 X가 소정수 이상으로 되어 있지 않다고 판정한 경우("아니오")에는 스텝 S142로 이행한다.
즉, 상기 스텝 S116 내지 S140은, 이차원 코드로서 검출 내지 식별된 후보 영역의 수가 소정수 이상으로 되지 않는 한 리스트에 등록된 모든 코드 영역에 대하여 반복하여 행해진다.
그 후, 모든 후보 영역에 대하여 상기 스텝 S116 내지 S140이 행해지면, 상기 스텝 S116에 있어서 미처리된 후보 영역이 없다고 판정되어 스텝 S142로 이행하고, 이 시점에서의 변수 Y의 값이 변수 n의 값보다 작은 값(Y<n)으로 되어 있는지의 여부를 판정한다.
그리고, 스텝 S142에 있어서, 변수 Y의 값이 변수 n의 값보다 작은 값으로 되어 있다고 판정한 경우("예")에는 스텝 S144로 이행한다.
스텝 S144로 이행한 경우에는, 변수 Y를 인크리먼트(Y+1→Y)하여 스텝 S108로 이행하고, 상기 스텝 S108 내지 S144의 처리를 행한다.
이 이후는 다음의 에지 화상에 기초하여 상기 스텝 S110 내지 S144의 처리가 행해지며, 그 처리 중에서 변수 X가 소정수 이상이 되면, 상기 스텝 S140에서 「예」로 판정되어 스텝 S146으로 이행한다. 한편, 그 처리 중에서 변수 X가 소정수 이상으로 되지 않으면, 그 다음의 에지 화상에 대한 처리가 반복하여 행해지게 된다.
또한, 스텝 S142에 있어서, 변수 Y의 값이 변수 n의 값 이상의 값으로 되어 있다고 판정한 경우("아니오")에는, 변수 X의 값에 상관없이 스텝 S146으로 이행한다.
스텝 S146으로 이행한 경우에는, 식별된 이차원 코드의 정보에 기초하여 원화상 중에서의 지정 물품을 검출하는 물품 검출 처리를 실행하여 일련의 처리를 종료한다. 또한, 이 물품 검출 처리에서의 구체적인 처리 수순에 대해서는 후술한다.
(3-2) 에지 화상 생성 처리
계속해서, 도 3의 스텝 S108인 에지 화상 생성 처리의 처리 수순의 일례를 도 5에 기초하여 설명한다. 도 5의 (a)는 변수 Y의 값과 화상 종류 및 임계값의 대응 관계의 일례를 나타내는 도면이고, (b)는 에지 화상 생성 처리의 처리 수순의 일례를 나타내는 흐름도이다.
본 실시 형태에 있어서, 에지 화상은 상이한 복수 종류의 변환 조건에 기초하여 행한다.
구체적으로, 제1 내지 제i(1≤i)의 변환 조건에 대응하는 제1 내지 제i번째의 에지 화상까지가, 각각 상이한 임계값으로 원화상을 그레이 스케일화하여 이루어지는 그레이 스케일 화상을 2치화한 화상의 윤곽부를 선형화한 화상이 된다.
또한, 제(i+1) 내지 제(i+j)의 변환 조건에 대응하는 제(i+1) 내지 제(i+j)번째(1≤j)의 에지 화상까지가, j종류의 색 성분 각각을 원화상으로부터 추출한 색 성분 화상을 그레이 스케일화하고, 상기 그레이 스케일 화상을 미리 설정된 임계값으로 2치화한 2치화 화상의 윤곽부를 선형화한 화상이 된다.
특히, 각 색 성분 화상에 대하여, 미리 설정된 임계값으로서 k종류(1≤k)의 임계값을 사용하여 2치화를 행하는 경우에는, 제(i+1) 내지 제(i+j×k)의 변환 조건에 대응하는 제(i+1) 내지 제(i+j×k)번째의 에지 화상까지가, j종류의 색 성분 각각을 원화상으로부터 추출한 색 성분 화상을 그레이 스케일화하고, 상기 그레이 스케일 화상을 k종류의 임계값 각각으로 2치화한 2치화 화상의 윤곽부를 선형화한 화상이 된다.
따라서, 최대 「i+j×k」종류의 변환 조건에 기초하여 「i+j×k」종류의 에지 화상을 생성할 수 있다.
여기에서 말하는 「i」 및 「k」는 미리 준비된 임계값의 종류에 의해 값이 결정되고, 「j」는 원화상에 사용되고 있는 색 공간(표색계)의 종류에 의해 규정되는 색 성분수에 의해 값이 결정된다. 예를 들어, 임계값의 종류가 각각 3종류이며, 색 공간이 RGB 색 공간이면 「i」 및 「k」의 값은 3, 「j」의 값은 3이 된다.
본 실시 형태에서는, 도 5의 (a)에 나타낸 바와 같이, 변수 Y의 값에 대응하는 1 내지 6의 수치와, 변환 조건의 종류를 나타내는 에지 화상을 생성할 때에 사용하는 화상의 종류와 임계값이 대응지어져 데이터 테이블로서 기억 장치(70)에 기억되어 있다. 또한, 도 5의 (a)의 예는 「i」의 값이 3, 「j」의 값이 3, 「k」의 값이 1이 되는 예이다. 여기서, 변수 Y의 상한값은 변수 n에 세트되는 값에 의해 정해지지만, 본 실시 형태에서는 유저가, 요구하는 이차원 코드의 검출 정밀도에 따른 값을 임의로 세트 가능하게 구성되어 있다. 또한, 도 5의 (a)의 예에서는 변수 n의 최대값은 「6」이 된다.
에지 화상 생성 처리가 개시되면, 도 5의 (b)에 나타낸 바와 같이, 우선, 스텝 S200으로 이행하고, 변수 Y의 값이 3 이하로 되어 있는지의 여부를 판정한다.
그리고, 스텝 S200에 있어서, 변수 Y의 값이 3 이하로 되어 있다고 판정한 경우("예")에는 스텝 S202로 이행하고, 변수 Y의 값이 3보다도 크다고 판정한 경우("아니오")에는 스텝 S208로 이행한다.
스텝 S202로 이행한 경우에는, 상기 도 3의 스텝 S102에서 취득한 원화상의 데이터를 복제하고, 상기 복제한 원화상 데이터에 기초하여 그레이 스케일 화상을 생성하여 스텝 S204로 이행한다.
여기에서는 원화상의 데이터가 RGB의 각 색 8비트(0 내지 255)의 컬러 화상 데이터인 것으로 하여, 이 화상 데이터로부터 그레이 스케일 화상을 생성한다.
또한, 필수적이지는 않지만, 원화상 데이터의 픽셀수가 방대(예를 들어, 1200만 화소 등)한 경우에는, 처리 부하 및 처리 시간을 고려하여 검출 정밀도를 손상시키지 않을 정도로 해상도를 이보다도 저해상도로 변환하는 처리를 행하도록 하여도 된다.
또한, 그레이 스케일 화상의 생성 방법으로서는, 예를 들어 중간치법, 평균법 등의 주지의 생성 방법이 있다.
중간치법은 R, G, B의 3개의 색 성분의 값 중 최대값과 최소값의 2개를 더하여 2로 나눈 것을 이용하여 그레이 스케일화하는 방법이다.
평균법은 평균의 취득 방법에 따라 산술 평균(상가 평균)법, 기하 평균(상승 평균)법, 가중 평균법 등이 있다.
산술 평균법은 R, G, B의 3개의 색 성분의 값을 산술 평균(더하여 3으로 나눔)하여 평균값을 산출하고, 산출한 평균값을 이용하여 그레이 스케일화하는 방법이다.
기하 평균법은 R, G, B의 3개의 색 성분의 값을 기하 평균(각 색 성분의 값의 대수값을 산술 평균)하여 평균값을 산출하고, 산출한 평균값을 이용하여 그레이 스케일화하는 방법이다.
가중 평균법은 R, G, B의 3개의 색 성분의 값에 대하여 가중치 부여를 하여 3으로 나누고, 평균을 취하여 그레이 스케일화하는 방법이다. 이 가중치 부여의 계수의 내용에 의해 NTSC 가중 평균법, HDTV 가중 평균법 등이 있다. NTSC 가중 평균법은 일본이나 미국의 텔레비전 방송에서 이용되고 있는 휘도 신호(밝기)의 분리 방법의 것과 동일하다. 또한, HDTV 가중 평균법은 디지털 하이비전 방송을 상영할 때에 기준이 되는 HDTV 규격에 기초하여 가중 계수가 설정된 것이다.
그레이 스케일 화상의 생성 방법은 처리 속도(처리 시간)나 검출 정밀도 등을 고려하여 적절한 것을 사용하는 것이 바람직하다.
그리고, 상기 어느 하나의 방법을 이용한 경우에는 산출된 1개의 휘도값을 R, G, B의 3개의 색 성분의 값(R=G=B)으로 한다.
또한, 여기에서는 그레이 스케일 화상을 R, G, B의 각 요소의 값을 휘도값으로 변환함으로써 생성하는 예를 설명하였지만, 휘도 이외에 명도 등에 의해 그레이 스케일 화상을 생성하도록 하여도 된다.
이와 같이 하여 원화상 데이터의 각 픽셀값을 그레이 스케일값으로 변환함으로써, 그레이 스케일 화상 데이터가 생성된다.
스텝 S204에서는, 스텝 S202에서 생성된 그레이 스케일 화상 데이터를, 현 시점의 변수 Y의 값에 대응한 임계값에 의해 2치화하여 이루어지는 2치화 화상 데이터를 생성하여 스텝 S206으로 이행한다.
구체적으로, 그레이 스케일 화상 데이터의 각 색의 픽셀값이 8비트의 계조값으로 표현되어 있을 때에, 임계값과 그레이 스케일 화상의 각 픽셀값을 비교하여, 픽셀값이 임계값 이하일 때에 픽셀값을 「0」으로 변환하고, 픽셀값이 임계값보다 클 때에 픽셀값을 「255」로 변환함으로써 2치화를 행한다.
여기에서는 도 5의 (a)에 나타낸 바와 같이, 변수 Y의 값 1, 2, 3에 대하여 120, 150, 200의 3종류의 임계값이 각각 준비되어 있다. 이 2치화의 임계값은 이차원 코드의 「영역 규칙」 및 「특징적인 패턴」에 따라, 이후의 처리에 있어서 유효한 후보 영역을 추출하고, 적절하게 이차원 코드를 식별하기에 적합한 값으로서 정해진 것이다.
따라서, 변수 Y의 값이 1일 때에는 임계값 120을 사용하여 상기 스텝 S202에서 생성된 그레이 스케일 화상을 2치화하고, 변수 Y의 값이 2, 3일 때에는 임계값 150, 200을 각각 사용하여 상기 스텝 S202에서 생성된 그레이 스케일 화상을 2치화한다.
예를 들어, 임계값 120일 때에, 그레이 스케일 화상에서의 어느 픽셀값이 (80, 80, 80)인 경우에는, 2치화 후의 값은 흑색에 대응(0, 0, 0)하게 된다. 한편, 임계값 120일 때에, 그레이 스케일 화상에서의 어느 픽셀값이 (160, 160, 160)인 경우에는, 2치화 후의 값은 백색에 대응(255, 255, 255)하게 된다.
이와 같이 하여 상기 스텝 S202에서 생성된 그레이 스케일 화상 데이터의 각 픽셀값을 2치화한 것이 원화상 데이터에 대한 2치화 화상 데이터가 된다.
스텝 S206에서는, 2치화 화상 데이터에 대하여, 2치화 화상 중의 윤곽부를 선형화하여 이루어지는 에지 화상 데이터를 생성하여 일련의 처리를 종료하고, 원래의 처리로 복귀한다.
본 실시 형태에서는 공지의 브레센햄의 선분 묘화 알고리즘에 의해 2치화 화상 중에 존재하는 물체의 윤곽부를 선형화한다. 또한, 본 실시 형태에서는 선형화 후의 윤곽선을 형성하고 있지 않은 불필요한 픽셀은 제거(예를 들어, 픽셀값을 (0, 0, 0)으로 변환)한다.
여기서, 브레센햄의 선분 묘화 알고리즘은 제산 등을 이용하지 않고 모두를 정수 연산만으로 행할 수 있기 때문에, 고속으로 선분을 묘화할 수 있다.
이와 같이 하여 2치화 화상 중의 윤곽부를 선형화한 화상의 데이터가 에지 화상 데이터가 된다.
한편, 스텝 S200에 있어서 변수 Y의 값이 3보다도 커서 스텝 S208로 이행한 경우에는, 원화상의 데이터로부터 변수 Y의 값에 대응한 색 성분을 추출하여 스텝 S210으로 이행한다.
여기에서는, 도 5의 (a)에 나타낸 바와 같이, 변수 Y의 값 4, 5, 6에 대하여 적색, 녹색, 청색의 색 성분을 각각 추출한다.
예를 들어, 변수 Y의 값이 4이고, 원화상 데이터의 어느 픽셀값이 (120, 80, 45)인 경우에는 적색 성분값 (120, 0, 0)을 추출한다. 마찬가지로, 변수 Y의 값이 5이면 녹색 성분값 (0, 80, 0)을 추출하고, 변수 Y의 값이 6이면 청색 성분값 (0, 0, 45)를 추출한다.
이와 같이 하여 각 색 성분의 값을 추출하여 이루어지는 화상 데이터가 적색 성분 화상 데이터, 녹색 성분 화상 데이터, 청색 성분 화상 데이터가 된다.
스텝 S210에서는, 스텝 S208에서 생성된 색 성분 화상 데이터로부터 그레이 스케일 화상 데이터를 생성하여 스텝 S212로 이행한다.
그레이 스케일 화상 데이터의 생성은, 상기 스텝 S202와 마찬가지의 처리가 된다.
스텝 S212에서는, 스텝 S210에서 생성된 그레이 스케일 화상에 대하여, 미리 설정된 임계값으로 2치화를 행하여 2치화 화상 데이터를 생성하여 스텝 S206으로 이행한다.
여기에서는, 도 5의 (a)에 나타낸 바와 같이, 변수 Y의 값 4, 5, 6에 대하여 공통의 임계값 120이 준비되어 있다.
따라서, 상기 스텝 S210에서 생성된 그레이 스케일 화상 데이터에 대하여 임계값 120을 사용하여 2치화를 행하고, 스텝 S208에서 생성된 색 성분 화상 데이터에 대한 2치화 화상 데이터를 생성한다.
그리고, 스텝 S212에서 2치화 화상 데이터를 생성한 후에는, 스텝 S206으로 이행하여 2치화 화상 중의 물체의 윤곽부를 선형화하여 이루어지는 에지 화상 데이터를 생성하고, 일련의 처리를 종료하여 원래의 처리로 복귀한다.
또한, 도 5의 (a)에 나타내는 예에서는, 색 성분 화상에 대응하는 그레이 스케일 화상의 2치화에 사용하는 임계값의 종류를 1종류로 하였지만, 이 구성에 한정되지 않고, 제7 이후의 변환 조건을 설정하여 복수 종류의 임계값을 사용하여 2치화를 행하는 구성으로 하여도 된다.
또한, 도 5의 (a)에 나타내는 예에서는, 원화상에 대응하는 그레이 스케일 화상에 대하여 임계값을 작은 값부터 순서대로 사용하여 2치화를 행하고, 그 2치화 화상으로부터 에지 화상을 생성하는 처리를 행하는 구성으로 하였다. 또한, 원화상에 대응하는 그레이 스케일 화상을 사용한 에지 화상의 생성 처리 후에, 색 성분 화상에 대응하는 그레이 스케일 화상을 2치화하여 에지 화상을 생성하는 처리를 적색, 녹색, 청색의 색 성분 화상의 순으로 행하는 구성으로 하였지만, 이 구성에 한정되지 않는다.
예를 들어, 원화상에 대응하는 그레이 스케일 화상의 2치화에 사용하는 임계값을 다른 순서로 사용하는 구성, 색 성분 화상에 대응하는 그레이 스케일 화상의 2치화를 다른 색의 순서로 행하는 구성으로 하여도 된다.
또한, 예를 들어 색 성분 화상을 사용한 에지 화상의 생성 처리를 원화상을 사용한 생성 처리보다도 먼저 행하는 구성, 원화상과 색 성분 화상을 사용한 에지 화상의 생성 처리를 교대로 행하는 구성, 랜덤하게 행하는 구성 등, 다른 순서로 행하는 구성으로 하여도 된다.
또한, 색 성분 화상에 대응하는 그레이 스케일 화상의 2치화를 복수 종류의 임계값을 사용하여 행하는 경우에는, 그 임계값을 사용하는 순서도 작은 쪽부터 순서대로 행하는 구성만으로 한정되지 않고, 다른 순서로 하는 구성으로 하여도 된다. 또한, 색 성분 화상에 대응하는 그레이 스케일 화상의 2치화에 사용하는 임계값의 값은, 원화상에 대응하는 그레이 스케일 화상의 2치화에 사용하는 임계값과 동일한 값이어도 되고, 상이한 값이어도 된다.
또한, 도 5의 (a)에 나타내는 예에서는, 원화상에 대한 임계값을 3종류, 색 성분 화상에 대한 임계값을 1종류, 색 성분 화상수를 3종류로 하였지만, 이들 조합에 한정되지 않고, 상이한 종류수의 조합으로 하여도 된다.
또한, 도 5의 (a)에 나타내는 예에서는, 원화상 및 색 성분 화상의 양쪽을 사용하여 에지 화상의 생성을 행하는 것이 가능한 구성으로 하였지만, 이 구성에 한정되지 않고, 원화상만을 사용하여 에지 화상을 생성하는 구성이나, 색 성분 화상만을 사용하여 에지 화상을 생성하는 구성 등 다른 구성으로 하여도 된다.
또한, 도 5의 (a)에 나타내는 예에서는, 원화상에 대응하는 그레이 스케일 화상을 2치화할 때의 3종류의 임계값으로서 「120」, 「150」, 「200」을 사용하고 있지만, 이것에 한정되지 않고, 다른 값을 사용하는 구성으로 하여도 된다. 마찬가지로, 도 5의 (a)에 나타내는 예에서는 색 성분 화상에 대응하는 그레이 스케일 화상을 2치화할 때의 임계값으로서 「120」을 사용하고 있지만, 이것에 한정되지 않고, 다른 값을 사용하는 구성으로 하여도 된다.
(3-3) 유효 영역 판정 처리
계속해서, 도 3의 스텝 S120인 유효 영역 판정 처리의 처리 수순을 도 6 및 도 7에 기초하여 설명한다.
여기서, 도 6은 유효 영역 판정 처리의 처리 수순을 나타내는 흐름도이다. 또한, 도 7의 (a)는 이상적인 후보 영역의 형상예를 도시하는 도면이고, (b) 내지 (e)는 오차 범위 외의 형상예를 도시하는 도면이고, (f) 내지 (g)는 오차 범위 내의 형상예를 도시하는 도면이다.
후보 영역의 종횡비는, 도 7의 (a)에 도시한 바와 같이, 이상적인 영역 형상에서의 짧은 변의 길이 A와 긴 변의 길이 B의 비(A:B=A/B)로 되어 있는 것이 바람직하다. 또한, 후보 영역의 각 변간(네 코너)의 각도는, 도 7의 (a)에 도시한 바와 같이 이상적으로는 모두 90°인 것이 바람직하다.
그러나, 상기 스텝 S110의 후보 영역의 특정 처리에 있어서는, 직사각형 형상의 폐쇄 영역(직사각형 영역)이면 어느 것이라도 후보 영역으로서 특정하도록 되어 있기 때문에, 여러가지 외형 형상의 후보 영역이 특정되게 된다. 또한, 특정된 후보 영역이 이차원 코드의 것이라도 촬영 환경(촬영 각도 등)이나 촬영 화상의 화질 등에 의해 형상이 이상적인 형상으로 되지 않는 경우도 있다. 그로 인해, 엄밀한 판정을 행해 버리면, 이차원 코드의 영역에 해당하는 영역도 제외하게 되어 버린다. 따라서, 본 실시 형태에서는 판정 시의 종횡비 및 각도 등의 영역 규칙으로 정해진 정보에 오차 범위를 설정하고 있다.
여기에서는, 이차원 코드의 영역이, 도 2에 도시한 바와 같이 직사각형 형상인 것과, 처리 부하를 고려하여 종횡비와 각 변간의 각도로부터 유효 영역인지의 여부를 판정하는 예를 설명한다.
유효 영역 판정 처리가 개시되면, 도 6에 나타낸 바와 같이, 우선, 스텝 S300으로 이행하고, 선택된 후보 영역의 종횡비가 템플릿의 영역 규칙에 정해진 종횡비의 오차 범위 내인지의 여부를 판정한다.
예를 들어, 도 7의 (b), (c) 및 (f)에 도시하는 후보 영역과 같이, 짧은 변의 길이를 C, 긴 변의 길이를 D로 한 경우에, 종횡비는 「C:D=C/D」로 되고, 이상형과의 오차 dr은 「dr=A/B-C/D」로 된다. 그리고, 오차 범위를 「-dx 내지 +dx」로 하고, 본 실시 형태에서는 dr이 「-dx 내지 +dx」의 범위 내이면 오차 범위 내인 것으로 판정하고, 「-dx 내지 +dx」의 범위 외이면 오차 범위 외인 것으로 판정한다.
그리고, 스텝 S300에 있어서, 후보 영역의 종횡비가 오차 범위 외인 것으로 판정한 경우("아니오")에는 스텝 S302로 이행하고, 후보 영역의 종횡비가 오차 범위 내인 것으로 판정한 경우("예")에는 스텝 S304로 이행한다.
스텝 S302로 이행한 경우에는, 오차 범위 외라고 판정된 후보 영역을 무효한 후보 영역인 것으로 판정하여(판정 결과를 복귀값으로 하여), 일련의 처리를 종료하고, 원래의 처리로 복귀한다.
이에 의해, 예를 들어 도 7의 (b) 및 (c)에 도시한 바와 같이, 이상적인 종횡비 A:B에 대하여 극단적으로 종횡비가 상이한 형상을 배제할 수 있고, 이들 영역에 대하여 이후의 처리(도 3의 스텝 S124 이후의 처리)가 행해지는 것을 방지할 수 있다.
한편, 종횡비가 오차 범위 내인 것으로 판정되어 스텝 S304로 이행한 경우에는, 후보 영역의 각 변간으로 형성되는 각도가 템플릿의 영역 규칙에 정해진 각도의 오차 범위 내인지의 여부를 판정한다.
예를 들어, 도 7의 (d) 내지 (f)에 도시한 바와 같이, 각 변간(네 코너)의 각도를 β1 내지 β4로 한 경우에, 이상형의 각도와의 오차 dβ1 내지 dβ4는, 이상형의 각도 90°로부터 각도 β1 내지 β4를 각각 감한 것 「dβ1 내지 dβ4=90°-β1 내지 90°-β4」로 된다. 그리고, 오차 범위를 「-dy 내지 +dy」로 하고, 본 실시 형태에서는 dβ1 내지 dβ4가 모두 「-dy 내지 +dy」의 범위 내이면 오차 범위 내인 것으로 판정하고, 어느 하나라도 「-dy 내지 +dy」의 범위 외이면 오차 범위 외인 것으로 판정한다.
그리고, 스텝 S304에 있어서 후보 영역의 각 변간의 각도가 오차 범위 외인 것으로 판정한 경우("아니오")에는 스텝 S306으로 이행하고, 후보 영역의 각 변간의 각도가 오차 범위 내인 것으로 판정한 경우("예")에는 스텝 S308로 이행한다.
스텝 S306으로 이행한 경우에는, 오차 범위 외로 판정된 후보 영역을 무효한 후보 영역인 것으로 판정하여(판정 결과를 복귀값으로 하여), 일련의 처리를 종료하고, 원래의 처리로 복귀한다.
이에 의해, 예를 들어 도 7의 (d) 및 (e)에 도시한 바와 같이, 이상적인 각도에 대하여 각도 β1 내지 β4 중 적어도 하나가 오차 범위 외의 각도로 되어 있는 형상을 배제할 수 있고, 이들 영역에 대하여 이후의 처리(도 3의 스텝 S124 이후의 처리)가 행해지는 것을 방지할 수 있다.
한편, 각도가 오차 범위 내인 것으로 판정되어 스텝 S308로 이행한 경우에는, 오차 범위 내로 판정된 후보 영역을 유효한 후보 영역인 것으로 판정하여(판정 결과를 복귀값으로 하여), 일련의 처리를 종료하고, 원래의 처리로 복귀한다.
예를 들어, 도 7의 (f)에 도시하는 후보 영역과 같이, 각도 β1 내지 β4의 오차 dβ1 내지 dβ4가 모두 오차 범위 내(이 예에서는 모두 90°)이고, 종횡비의 오차 dr이 「-dx 내지 +dx」의 범위 내로 되는 정도로 종횡비만이 상이한 경우에, 이 후보 영역은 제외되지 않고 유효한 후보 영역으로 판정된다.
마찬가지로, 예를 들어 도 7의 (g)에 도시하는 후보 영역과 같이, 종횡비의 오차 dr이 「-dx 내지 +dx」의 범위 내이지만, 각도 β1 내지 β4가 모두 90°로 되지 않고 비스듬하게 왜곡되어 있어도 각도 β1 내지 β4의 오차 dβ1 내지 dβ4의 모두가 「-dy 내지 +dy」의 오차 범위 내로 되는 경우에는, 이 후보 영역은 제외되지 않고 유효한 후보 영역으로 판정된다.
즉, 본 실시 형태에서는 종횡비 및 각도의 양쪽이 오차 범위 내에 들어가 있는 후보 영역만을 유효한 후보 영역으로 판정한다.
(3-4) 색 판정 처리
계속해서, 도 3의 스텝 S132인 색 판정 처리의 처리 수순을 도 8에 기초하여 설명한다.
여기서, 도 8은 색 판정 처리의 처리 수순의 일례를 나타내는 흐름도이다.
색 판정 처리가 개시되면, 도 8에 나타낸 바와 같이, 우선, 스텝 S400으로 이행하여, 도 3의 스텝 S130에서 검출된 이차원 코드의 영역에서의 세퍼레이터(110)의 영역을 특정(좌표를 특정)하여 스텝 S402로 이행한다.
또한, 검출된 이차원 코드의 영역은, 예를 들어 도 2의 형상 자세에 있어서 좌측 상단의 픽셀의 좌표를 (0, 0)으로 하여 관리된다. 그리고, 세퍼레이터(110)의 특정은, 좌표 (0, 0)으로부터 행방향 및 열방향으로 픽셀을 주사(래스터 주사)하여, 각 픽셀의 값(색)이 세퍼레이터(110)의 색(본 실시 형태에서는 특정 셀에 사용되고 있는 흑색(k))의 판정 영역에 포함되어 있는지의 여부를 판정한다. 그리고, 픽셀의 색이 판정 영역에 포함되어 있다고 판정하였을 때에, 그 픽셀(좌표)을 세퍼레이터(110)로 판정한다. 그리고, 이 좌표 정보를 RAM(62) 또는 기억 장치(70)에 기억한다.
또한, 도 2에 예시한 구성의 이차원 코드(100)에 대해서는, 상기 도 3의 스텝 S128에 있어서, 이미 후보 영역으로부터 특징적인 패턴을 식별 완료하였으므로, 식별 완료의 영역(예를 들어, 헤더 영역 및 특정 셀을 포함하는 영역)을 분리한 나머지 부분만에 대하여 색 판정 처리를 행하도록 하여도 된다.
스텝 S402에서는, 세퍼레이터(110)의 좌표 정보에 기초하여 각 셀이 존재하는 영역을 분할하여 스텝 S404로 이행한다.
구체적으로, 흑색(k)의 픽셀이 소정수 이상 연속되는 영역이나, 세퍼레이터(110)에 주위(4변)를 둘러싸여진 영역의 좌표를 각 셀의 좌표로 하여, 그 좌표 정보를 RAM(62) 또는 기억 장치(70)에 기억한다.
스텝 S404에서는, 이후의 처리에서 참조하는 변수를 초기화(0→ap, 0→x, 0→y)하여 스텝 S406으로 이행한다.
스텝 S406에서는, 세퍼레이터(110)의 특정된 이차원 코드의 영역에서의 좌표 (x, y)의 픽셀을 선택하여 스텝 S408로 이행한다.
스텝 S408에서는, 변수 ap의 값이 미리 정해진 일정수 이상인지의 여부를 판정하여, 일정수 이상이 아니라고 판정한 경우("아니오")에는 스텝 S410으로 이행하고, 일정수 이상인 것으로 판정한 경우("예")에는 스텝 S422로 이행한다.
스텝 S410으로 이행한 경우에는, 선택한 픽셀의 값(색)이, 이차원 코드에 있어서 사용되는 복수의 색 각각을 중심 좌표로 하여 넓어지는 색 공간 상의 판정 영역 중 어느 하나의 판정 영역에 포함되어 있는지(어느 판정 영역 내에 위치하는지)의 여부를 판정한다.
그리고, 스텝 S410에 있어서, 선택한 픽셀이 어느 하나의 판정 영역 내에 포함되어 있다고 판정한 경우("예")에는 스텝 S412로 이행하고, 선택한 픽셀이 어느 판정 영역에도 포함되어 있지 않다고 판정한 경우("아니오")에는 스텝 S414로 이행한다.
스텝 S412로 이행한 경우에는, 변수 ap를 인크리먼트(ap+1→ap)하여 스텝 S414로 이행한다.
여기에서는 변수 ap를 인크리먼트함으로써, 판정 영역에 포함되어 있다고 판정된 픽셀의 수를 계수하고 있다. 이 판정 결과(판정 영역의 정보 및 계수 결과를 포함함)는, 각 셀에 대응지어 RAM(62) 또는 기억 장치(70)에 기억된다.
또한, 여기에서는 변수 ap에 의해 동일한 색의 판정 영역에 포함되는 픽셀의 수를 계수하는 것이 바람직하다. 그러나, 각 셀의 영역에 있어서, 각각 상이한 색의 판정 영역에 포함되는 픽셀이 있는 경우에, 상기 스텝 S412의 처리에서는 이들을 구별하지 않고 계수해 버린다. 즉, 동일한 셀의 영역에 있어서, 옐로우로 판정되어도 마젠타로 판정되어도 변수 ap는 인크리먼트되어 버린다. 따라서, 각각 상이한 색의 판정 영역에 포함되는 픽셀이 있는 것을 상정한 경우에, 다른 변수를 사용하여 각 영역에 포함되는 픽셀의 수를 계수하고, 상기 스텝 S412의 처리를, 현 시점에서 가장 수가 많은 판정 영역의 픽셀수를 변수 ap로 설정하는 처리로 대신하여도 된다.
그 후, 스텝 S414로 이행하여 변수 x의 값이 그 행의 가장 우측단의 x 좌표인 xE인지의 여부를 판정한다.
한편, 선택한 픽셀이 어느 판정 영역에도 포함되어 있지 않다고 판정된 경우에도, 스텝 S414로 이행하여 변수 x의 값이 xE인지의 여부를 판정한다.
그리고, 변수 x의 값이 xE가 아니라고 판정한 경우("아니오")에는 스텝 S416으로 이행하고, 변수 x의 값이 xE인 것으로 판정한 경우("예")에는 스텝 S422로 이행한다.
스텝 S416으로 이행한 경우에는, 변수 x를 인크리먼트(x+1→x)하여 스텝 S418로 이행한다.
즉, 변수 x의 값이 xE가 아닌 경우에, 변수 x를 인크리먼트함으로써 1개 우측 이웃의 픽셀로 좌표를 변경한다.
스텝 S418에서는, 현 시점의 좌표 (x, y)가 다음 셀에 대응하는 세퍼레이터 부분의 개시 좌표인지의 여부를 판정한다. 그리고, 다음 세퍼레이터의 개시 좌표인 것으로 판정한 경우("예")에는 스텝 S420으로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S406으로 이행한다.
스텝 S420으로 이행한 경우에는, 변수 ap를 초기화(0→ap)하여 스텝 S406으로 이행한다.
즉, 색 판정 영역에 포함되는 색의 픽셀이 일정수 이상으로 되지 않은 채로, x 좌표가 다음 셀에 대응하는 세퍼레이터의 개시 x 좌표에 도달한 경우에, 변수 ap를 초기화한다.
한편, 스텝 S414에 있어서 변수 x의 값이 xE인 것으로 판정되어 스텝 S422로 이행한 경우에는, 변수 y의 값이 열방향의 가장 하단의 y 좌표인 yE인지의 여부를 판정한다.
그리고, 변수 y의 값이 yE가 아니라고 판정한 경우("아니오")에는 스텝 S424로 이행하고, 변수 y의 값이 yE인 것으로 판정한 경우("예")에는 스텝 S438로 이행한다.
스텝 S424로 이행한 경우에는, 변수 ap 및 변수 x를 초기화(0→ap, 0→x)하고, 변수 y를 인크리먼트(y+1→y)하여 스텝 S406으로 이행한다.
즉, 변수 x를 초기화하고, 변수 y를 인크리먼트함으로써 1개 아래 이웃 행이면서 가장 좌측단의 픽셀로 좌표를 변경한다. 이때, 좌표 (x, y)가 다음 셀에 대응한 영역의 좌표로 되므로, 변수 ap도 초기화된다.
한편, 스텝 S408에 있어서, 변수 ap의 값이 일정수 이상이 아니라고 판정되어 스텝 S426으로 이행한 경우에는, 변수 x의 값이 xE인지의 여부를 판정한다.
그리고, 변수 x의 값이 xE가 아니라고 판정한 경우("아니오")에는 스텝 S428로 이행하고, 변수 x의 값이 xE인 것으로 판정한 경우("예")에는 스텝 S432로 이행한다.
스텝 S428로 이행한 경우에는, 변수 x를 인크리먼트(x+1→x)하여 스텝 S430으로 이행한다.
스텝 S430에서는, 현 시점의 좌표 (x, y)가 다음 셀에 대응하는 세퍼레이터의 개시 좌표인지의 여부를 판정한다. 그리고, 다음 세퍼레이터의 개시 좌표인 것으로 판정한 경우("예")에는 스텝 S432로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S426으로 이행한다.
스텝 S432로 이행한 경우에는, 변수 ap를 초기화(0→ap)하여 스텝 S406으로 이행한다.
즉, 변수 ap가 일정수 이상일 때에, 상기 스텝 S426 내지 S430의 처리를 반복하여 행함으로써, 각 셀 C에 대응하는 영역에 있어서 그 행의 나머지 픽셀에 대하여 상기 스텝 S410의 색 판정 처리를 생략하고 있다.
여기서, 상기 스텝 S408에서의 변수 ap의 비교 대상인 일정수는 색의 판정 정밀도를 고려하여 미리 설정되는 값이며, 각 행에서의 각 셀 C의 픽셀수 미만의 값으로 된다. 따라서, 각 행의 색의 판정에 충분한 일정수의 색의 판정이 이루어진 것에 따라, 나머지 픽셀에 대한 색 판정 처리를 생략하게 된다.
구체적으로, 예를 들어 일정수를 10으로 하였을 때에, 어느 셀의 영역에서의 어느 하나의 행에 있어서 옐로우를 중심 좌표로 한 판정 영역에 포함된다고 판정된 픽셀이 10 픽셀(ap=10)로 되었을 때에, 스텝 S408에 있어서, 변수 ap의 값이 일정수 이상인 것으로 판정되고, 해당 셀 C의 동일한 행의 나머지 픽셀에 대해서는 상기 스텝 S410의 색 판정 처리가 생략된다.
한편, 스텝 S426에 있어서, 변수 x의 값이 xE인 것으로 판정되어 스텝 S434로 이행한 경우에는, 현 시점에서의 변수 y의 값이 열방향의 가장 하단의 y 좌표인 yE인지의 여부를 판정한다.
그리고, 스텝 S434에 있어서, 변수 y의 값이 yE가 아니라고 판정한 경우("아니오")에는 스텝 S436으로 이행하고, 변수 y의 값이 yE인 것으로 판정한 경우("예")에는 스텝 S438로 이행한다.
스텝 S436으로 이행한 경우에는, 변수 ap 및 변수 x를 초기화(0→ap, 0→x)하고, 변수 y를 인크리먼트(y+1→y)하여 스텝 S406으로 이행한다.
한편, 이차원 코드의 영역에서의 모든 픽셀에 대하여 색 판정이 종료되어 스텝 S438로 이행한 경우에는, RAM(62) 또는 기억 장치(70)에 기억된 각 셀 C의 영역의 각 행의 픽셀의 색의 판정 결과에 기초하여, 각 셀 C의 색을 판정하여 스텝 S440으로 이행한다.
구체적으로, 각 셀 C의 영역에 대하여, 판정 영역 내에 포함되는 픽셀수가 일정수 이상으로 되어 있는 행이 소정수 이상일 때에, 각 셀 C의 색을 그 판정 영역의 중심 좌표의 색으로서 판정한다. 그리고, 각 셀 C와, 판정된 색이 대응지어져 RAM(62) 또는 기억 장치(70)의 데이터 테이블에 등록된다. 여기에서는 데이터 테이블에 등록 완료된 셀 C에 대하여 색이 판정된 경우, 이 셀 C에 대응하는 색으로 하여, 이렇게 하여 판정된 최신의 색으로 갱신된다. 또한, 판정 영역 내에 포함되는 픽셀수가 일정수 이상으로 되어 있는 행이 소정수 미만이고, 이차원 코드에 사용되는 복수색의 판정 영역 중 어디에도 포함되어 있지 않다고 판정된 경우에는, 해당 셀 C에 대하여 판정 영역 외의 색인 취지가 대응지어진다.
스텝 S440에서는, 스텝 S438에서 색이 판정된 셀 C 중에, 착색 규칙에 따르고 있지 않은 색이 부여된 셀 C가 일정수 이상 존재하고 있는지의 여부를 판정한다.
여기에서는, 이 시점에서 셀 C와 색이 대응지어 등록된 데이터 테이블 중에, 판정 영역 외의 색인 취지가 대응지어진 셀 C가 일정수(예를 들어 전체의 3할) 이상 존재하고 있는 것을 갖고, 착색 규칙에 따르고 있지 않은 색이 부여된 셀 C가 소정 비율 이상 존재하고 있다고 판정된다.
또한, 여기에서는 착색 규칙에 따르고 있지 않은 색이 부여된 셀 C가 일정수 이상 존재하고 있는지의 여부를, 이차원 코드의 셀 C에서 차지하는 상대적인 수(즉 비율)에 의해 판정하도록 구성하고 있지만, 이차원 코드의 셀 C에서 차지하는 절대수에 의해 판정하도록 구성하여도 되고, 착색 규칙에 따르고 있지 않은 셀 C가 특정한 패턴(예를 들어, 이 셀 C가 2개 이상 연속되어 있는 등)으로 배치되어 있는 경우에 있어서의 이 패턴의 수에 의해 판정하도록 구성하여도 된다.
이 스텝 S440에 있어서, 착색 규칙에 따르고 있지 않은 색이 부여된 셀 C가 일정수 이상 존재하고 있다고 판정한 경우("예")에는, 스텝 S442로 이행한다.
스텝 S442로 이행한 경우에는, 판정 영역을 변경하여 다시 색 판정이 가능한 상태인지의 여부를 판정한다.
여기에서는 스텝 S410에서의 색 판정에서 참조된 판정 영역이, 미리 정해진 상한까지 변경되어 있는 경우에, 다시 색 판정이 가능한 상태가 아니라고 판정된다.
이 「미리 정해진 상한」이란, 각 판정 영역이 다른 판정 영역과 간섭하지 않도록 변경할 수 있는 범위로서 정해진 것이며, 후술하는 바와 같이 판정 영역을 단순하게 넓혀 가는 경우이면, 각 판정 영역을 다른 영역과 간섭하는 정도까지 확장한 상태로 되어 있는 것을 갖고 「미리 정해진 상한까지 변경되어 있는」것으로 하면 된다. 또한, 판정 영역을 변이시켜 가는 경우이면, 판정 영역으로 규정되는 색이 다른 색 성분이 되기 직전의 위치(경계)까지 변이한 상태로 되어 있는 것을 갖고 「미리 정해진 상한까지 변경되어 있는」 것으로 하면 된다.
이 스텝 S442에 있어서, 다시 색 판정이 가능하다고 판정된 경우("예")에는 스텝 S444로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S446으로 이행한다.
스텝 S444로 이행한 경우에는, 상기 스텝 S410에서의 색 판정에서 참조된 판정 영역을 변경하여 스텝 S404로 이행한다. 여기에서는 각 판정 영역을 색 공간 상에서 일정 영역만 넓히거나, 또는 각 판정 영역을 색 공간 상에서 일정 거리만큼 변이시킴으로써 판정 영역 각각이 변경된다.
또한, 이 후자의 경우, 판정 영역은 이차원 코드의 화상 영역에서의 색 성분의 치우침을 상쇄할 수 있는 색 공간 상의 위치로 변이시키도록 구성하면 된다. 구체적으로는, 이차원 코드의 화상 영역에서의 색의 분포를 참조하고, 그 분포에 있어서 특정한 색 성분이 전체적으로 크게 되어 있는 경우에, 이 색 성분을 작게 하는 방향으로 각 판정 영역을 변이시킨다.
이렇게 하여 스텝 S444를 종료한 후, 스텝 S404로 이행하고, 다시 스텝 S402에서 분할된 각 셀 C의 영역에 대하여 색의 판정 처리가 행해진다.
이후, 다시 색이 판정된 셀 C 각각 중에, 착색 규칙에 따르고 있지 않은 색이 부여된 셀 C가 일정수 이상 존재하고 있지 않다고 판정될 때까지(스텝 S440의 「아니오」의 분지), 판정 영역의 변경 및 재차의 색 판정이 반복된다(스텝 S404 내지 S444).
한편, 스텝 S442에 있어서, 재차의 색 판정이 불가능한 것으로 판정되어 스텝 S446으로 이행한 경우에는, 에러 처리를 행하여 일련의 처리를 종료하고, 원래의 처리로 복귀한다.
이 에러 처리에서는 어느 셀 C의 색에 대해서도 판정할 수 없었던 것으로 하고, 데이터 테이블에 등록되어 있었던 모든 대응 관계가 소거되고, 이렇게 하여 빈 데이터 테이블이 복귀값으로서 원래의 처리로 복귀된다. 이 경우, 도 3의 코드 이용 물품 검출 처리에서는 스텝 S134, S136에서 아무런 처리도 행해지지 않고, S138 이후의 처리가 행해진다.
그리고, 상기 스텝 S438 내지 S444까지의 처리 중에, 상기 스텝 S440에 있어서, 착색 규칙에 따르고 있지 않은 색이 부여된 셀 C가 일정수 이상 존재하고 있지 않다고 판정된 경우("아니오")에는, 스텝 S448로 이행한다.
스텝 S448로 이행한 경우에는, 착색 규칙에 따르고 있지 않은 색이 부여된 셀 C가 존재하고 있는지의 여부를 판정한다.
이 스텝 S448에 있어서, 해당 셀 C가 존재하고 있다고 판정한 경우("예")에는 스텝 S450으로 이행하고, 해당 셀 C가 존재하고 있지 않다고 판정한 경우("아니오")에는 일련의 처리를 종료하고, 원래의 처리로 복귀한다.
스텝 S450으로 이행한 경우에는, 이차원 코드 중에서 해당 셀 C를 특정하여 스텝 S452로 이행한다.
여기에서는 이 시점에서 데이터 테이블에 등록되어 있는 셀 C 중, 착색 규칙에 따르고 있지 않은 색이 부여된 셀 C가 특정되고, 이 셀 C가 이차원 코드 중에서 특정된다.
스텝 S452에서는, 상기 스텝 S448에 있어서 특정된 셀 C 각각에 대하여, 착색 규칙에 따라 원래 부여되어야 할 색을 추정하여 스텝 S454로 이행한다.
여기에서는 상기 스텝 S448에 있어서 특정된 셀 C에 대하여, 착색 규칙에 따라 원래 부여되어야 할 색의 후보로서, 그 셀 C에 인접하는 셀 C에 부여된 색과의 관계에서 생각할 수 있는 색이 선출되고, 그 후보 중에서 가장 확실한 색이, 그 셀 C에 부여되어야 할 색인 것으로서 추정된다.
스텝 S454에서는, 상기 스텝 S448에 있어서 특정된 셀 C 각각에 대하여, 상기 셀 C의 색이, 상기 스텝 S452에 있어서 추정된 색인 것으로 판정하고, 일련의 처리를 종료하고, 원래의 처리로 복귀한다.
여기에서는, 상기 스텝 S448에 있어서 특정된 셀 C 각각에 대해서만 데이터 테이블에서의 색의 갱신이 이루어진다.
이 경우와, 스텝 S448에 있어서 해당 셀 C가 특정되지 않은 경우에는, 이 시점에서 셀 C와 색의 대응 관계가 등록된 데이터 테이블을 복귀값으로 하여 도 3의 코드 이용 물품 검출 처리로 복귀한다. 이 경우, 코드 이용 물품 검출 처리에서는 데이터 테이블에 기초하여 각 셀 C에 부여된 색을 인식한 후, 스텝 S134에 의한 정보의 식별을 행하게 된다.
또한, 상기 도 1의 스텝 S128에서의 특징적인 패턴을 포함하는지의 여부를 판정하는 처리를 행할 때에, 상기 스텝 S400 내지 S454에 나타내는 알고리즘, 또는 상기 스텝 S400 내지 S438에 나타내는 알고리즘을 적용하는 것이 가능하다.
또한, 데이터 영역밖에 갖지 않는 이차원 코드의 구성이면, 스텝 S128의 처리를 행하기 전에, 상기 스텝 S400 내지 S438의 색 판정 처리 또는 상기 스텝 S400 내지 S454의 색 판정 처리를 먼저 행하고, 그 판정 결과에 기초하여 특징적인 패턴을 포함하는지의 여부를 판정하는 처리를 행하는 구성으로 하는 것도 가능하다. 예를 들어, 상기 도 1의 스텝 S126의 처리에 이어서, 색 판정 처리(S132)를 행하는 구성으로 하고, 스텝 S128에서는 먼저 행해진 색 판정 처리의 결과에 기초하여 특징적인 패턴을 포함하는지의 여부의 판정을 행한다. 이 경우에는, 이후의 색 판정 처리를 불필요로 할 수 있다.
(3-5) 물품 검출 처리
계속해서, 도 3의 스텝 S146인 물품 검출 처리의 처리 수순을 도 9 내지 도 12에 기초하여 구체예를 나타내면서 설명한다.
여기서, 도 9는 물품 검출 처리의 처리 수순의 일례를 나타내는 흐름도이다. 또한, 도 10은 데이터베이스에 등록된 식별 정보 및 물품 정보의 일례를 나타내는 도면이다. 또한, 도 11의 (a)는 물품 검출 모드의 검출 대상 화상예를 도시하는 도면이고, (b)는 검출 결과의 표시예를 도시하는 도면이다. 또한, 도 12의 (a)는 기한 관리 모드의 검출 대상 화상예를 도시하는 도면이고, (b)는 검출 결과의 표시예를 도시하는 도면이고, (c)는 카메라(76)의 배치 위치의 일례를 도시하는 도면이다.
물품 검출 처리가 개시되면, 도 9에 나타낸 바와 같이, 우선, 스텝 S500으로 이행하여 설정되어 있는 검출 모드가 물품 검출 모드인지의 여부를 판정한다.
그리고, 설정되어 있는 검출 모드가 물품 검출 모드인 것으로 판정한 경우("예")에는 검출 대상으로서 지정된 물품(이하, 지정 물품이라고 칭함)의 정보를 취득하여 스텝 S502로 이행하고, 물품 검출 모드가 아니라고 판정한 경우("아니오")에는 스텝 S520으로 이행한다.
스텝 S502로 이행한 경우에는, 기억 장치(70)에 기억된 물품 정보에 기초하여, RAM(62) 또는 기억 장치(70)에 저장된 각 이차원 코드의 식별 정보에 대응하는 물품 정보에 대응하는 물품 중에 지정 물품이 있는지의 여부를 판정한다.
여기서, 물품 정보로서는, 예를 들어 도 10에 도시한 바와 같이, 상기 도 3의 스텝 S134에서 식별된 식별 정보에 대응지어 품명 코드, 품종, 개수, 보관 개시 시기, 출하 기한, 소비 기한이 등록되어 있다.
본 실시 형태에서는 골판지 등의 포장재에 곤포된 물품에 대하여, 각 포장재에 1개의 이차원 코드를 부여하고 있고, 품명 코드는 각 포장재에 곤포된 1 이상의 물품에 대하여 부여되는 것이다. 따라서, 개수 정보는 1개의 포장재에 곤포된 물품의 개수의 정보가 된다.
또한, 보관 개시 시기는, 예를 들어 창고에서 관리되는 물품이면, 입고일의 정보가 등록된다. 또한, 점내의 상품 선반에 진열되는 식품 등의 물품이면, 진열일의 정보 혹은 물품의 제조일의 정보가 등록된다. 또한, 식품이나 약품 등의 경과 일수에 따라 상태가 열화해 가는 물품인 경우에는, 소비 기한(유효 기한)의 정보가 등록된다. 또한, 창고에 보관하는 물품에 대하여 출하(보관) 기한이 있는 경우에는, 출하(보관) 기한의 정보가 등록된다.
따라서, 지정 물품의 유무의 판정은, 지정된 품명 코드에 대응하는 식별 정보가, 상기 도 3의 스텝 S134에서 식별된 식별 정보 중에 있는지의 여부를 판정함으로써 행해진다.
그리고, 스텝 S502에 있어서, 지정 물품이 있다고 판정한 경우("예")에는 스텝 S504로 이행하고, 지정 물품이 없다고 판정한 경우("아니오")에는 스텝 S518로 이행한다.
지정 물품이 있는 것으로 판정하여 스텝 S504로 이행한 경우에는, 기억 장치(70)의 물품 정보로부터 지정 물품의 정보를 취득하여 스텝 S506으로 이행한다.
스텝 S506에서는, RAM(62) 또는 기억 장치(70)로부터 원화상의 화상 데이터와, 지정 물품의 식별 정보에 대응하는 이차원 코드의 원화상에서의 좌표 정보를 취득하여 스텝 S508로 이행한다.
여기서, 원화상의 데이터로서, 도 11의 (a)에 도시한 바와 같이, 골판지 상자에 곤포된 상태의 복수의 물품(200)이 적재되고, 골판지 상자의 정면측의 면에, 이차원 코드(100)가 부여된 화상을 나타내는 화상 데이터가 취득된 것으로 한다. 도 11의 (a)의 화상예에서는 물품이 구획판에 의해 8상자마다 구획되어 있으며, 전부 8상자×12=96상자의 물품이 적재된 상태로 되어 있다. 이들 중 지정 물품의 검출의 대상이 되는 영역은, 이차원 코드가 정면측에 표시되어 있는(화상 내에 포함되어 있는) 48상자가 된다.
스텝 S508에서는, 스텝 S506에 있어서 취득한 원화상의 데이터에 대하여, 지정 물품의 이차원 코드의 화상 영역을 강조 표시하기 위한 가공 처리를 행하여 스텝 S510으로 이행한다.
여기서, 상기 「강조 표시하기 위한 가공 처리」는, 예를 들어 원화상 중의 이차원 코드의 화상 영역의 주위를 적색 등의 눈에 띄는 색의 선으로 둘러싸거나, 이차원 코드의 화상 영역을 눈에 띄는 색으로 빈틈없이 칠하거나, 이차원 코드의 화상 영역의 윤곽부를 강조(윤곽선을 굵게 하거나, 윤곽선을 적색 등의 눈에 띄는색으로 변경하거나, 이들 양쪽 등)하거나 하는 처리가 된다. 그 밖에도 점멸 표시나 애니메이션 표시되도록 가공 처리를 실시하여도 된다.
즉, 「강조 표시하기 위한 가공 처리」는, 원화상 중의 검출 대상의 지정 물품에 대응하는 이차원 코드의 화상이 시각적으로 눈에 띄도록 마킹 등의 강조 표시 가공을 행하는 처리가 된다.
스텝 S510에서는, 지정 물품에 대응하는 이차원 코드가 복수 있는지의 여부를 판정하여, 복수 있다고 판정한 경우("예")에는 스텝 S512로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S514로 이행한다.
스텝 S512로 이행한 경우에는, 보관 개시 시기의 정보에 기초하여, 원화상에 대하여 지정 물품에 대응하는 각 이차원 코드의 근방에 보관 개시순으로 번호 화상을 추가하는 가공을 행하여 스텝 S514로 이행한다.
스텝 S514에서는, 원화상에 지정 물품의 보관 개시 시기, 출하 기한, 소비 기한 등의 화상 정보를 추가하는 가공 처리를 행하여 스텝 S516으로 이행한다.
이들 물품에 관한 정보는, 화상 중의 물품(200)의 표시되어 있지 않은 부분 등에 표시되도록 가공 처리가 행해진다. 또한, 표시 영역을 확보할 수 없는 경우에는, 이들 정보의 표시 영역을 생성하는 가공 처리를 행하여도 된다.
또한, 지정 물품에 대응하는 이차원 코드가 복수인 경우에는, 각 번호에 대응지어 물품에 관한 정보를 표시한다.
또한, 스텝 S514의 물품(200)에 관한 정보의 표시 처리는, 행하지 않도록 하거나, 또는 행하지 않는 설정으로 할 수 있도록 하여도 되며, 행하지 않는 경우에는 스텝 S512의 처리로부터 스텝 S516의 처리로 이행한다.
이 경우에는, 스텝 S516에 있어서, 스텝 S508, S512 및 S514에서 가공된 화상을 표시 장치(72)에 표시하는 처리를 행하여, 상기 일련의 물품 검출 처리를 종료하고, 원래의 처리로 복귀한다.
여기서, 도 11의 (b)의 화상예는, 도 11의 (a)의 원화상으로부터 3개의 지정 물품이 검출된 경우의 예이며, 각 물품에 대응하는 이차원 코드를 사각 프레임으로 둘러싸는 마킹이 실시되어 있다. 이에 의해, 유저는 지정 물품이 원화상 중의 어느 물품(200)인지를 시각적으로 순시에 파악할 수 있다.
또한, 도 11의 (b)에 도시한 바와 같이, 지정 물품의 각 이차원 코드의 근방(우측 밑)에는 입고일이 오래된 순서대로 번호 (1) 내지 (3)이 부여된다(표시된다). 이에 의해, 유저는 번호 화상으로부터 물품이 입고된 순서를 시각적으로 순시에 파악할 수 있고, 간이하게 입고일이 오래된 순서대로 출하 작업을 행하는 것이 가능하게 된다. 특히, 물품에 소비 기한이 있는 경우에, 소비 기한에 먼저 도달하는 물품부터 순서대로 출하를 행할 수 있다.
또한, 도 11의 (b)에 도시한 바와 같이, 화면 우측 위에는 입고순에 대응하는 번호와 함께 품명 코드, 입고일, 출하 기한 및 소비 기한의 문자 화상이 표시된다. 이에 의해, 유저는 검출된 물품이 지정 물품이 틀림없는지의 여부의 판단을 용이하게 행할 수 있고, 또한 정확한 입고일, 출하 기한 및 소비 기한을 용이하게 알 수 있다. 도 11의 (b)의 예에서는 물품은 약품이며, 각 물품의 출하 기한이나 소비 기한을 확인할 수 있다.
한편, 스텝 S502에 있어서 지정 물품이 없다고 판정되어 스텝 S518로 이행한 경우에는, RAM(62) 또는 기억 장치(70)로부터 원화상의 화상 데이터를 취득하고, 취득한 화상 데이터에 기초하여 표시 장치(72)에 원화상을 표시한다. 그리고, 일련의 처리를 종료하여 원래의 처리로 복귀한다.
즉, 촬영한 화상 중에 지정 물품이 포함되어 있지 않은 경우에, 강조 표시 가공이나 추가 표시 가공 등이 실시되어 있지 않은 원화상을 표시한다. 이에 의해, 유저는 지정 물품이 없는 것을 시각적으로 순시에 파악할 수 있다. 또한, 지정 물품이 없는 취지를 나타내는 메시지 등의 화상을 원화상 중에 표시하도록 하여도 된다.
또한, 스텝 S500에 있어서, 설정된 검출 모드가 물품 검출 모드가 아니어서 스텝 S520으로 이행한 경우에는, 설정된 검출 모드가 기한 관리 모드인지의 여부를 판정한다.
그리고, 설정된 검출 모드가 기한 관리 모드인 것으로 판정한 경우("예")에는 스텝 S522로 이행하고, 기한 관리 모드가 아니라고 판정한 경우("아니오")에는 스텝 S532로 이행한다.
스텝 S522로 이행한 경우에는, 기억 장치(70)에 기억된 데이터베이스로부터, 도 3의 스텝 S134에 있어서 식별하여 얻어진 식별 정보에 대응하는 출하 기한 및 소비 기한의 정보를 취득하여 스텝 S524로 이행한다.
스텝 S524에서는, 컴퓨터 시스템이 갖는 도시하지 않은 RTC(Real Time Clock)로부터 취득한 현재(현 시점)의 연월일 시각의 정보와, 취득한 출하 기한 및 소비 기한을 비교하여 기한을 경과한 물품이 있는지의 여부를 판정한다.
그리고, 스텝 S524에 있어서, 기한을 경과한 물품(이하, 경과 물품이라고 칭함)이 있다고 판정한 경우("예")에는 스텝 S526으로 이행하고, 경과 물품이 없다고 판정한 경우("아니오")에는 스텝 S530으로 이행한다.
여기서, 스텝 S524에 있어서, 기한이 경과한 물품이 아니라, 예를 들어 기한까지의 일수가 소정 일수 이하로 된 물품을 검출하도록 하여도 된다. 즉, 스텝 S524에 있어서, 취득한 출하 기한 및 소비 기한으로부터 소정 기간을 감한 기한과, 현 시점의 연월일 시각의 정보를 비교하여 판정을 행하여도 된다.
스텝 S526으로 이행한 경우에는, RAM(62) 또는 기억 장치(70)로부터 원화상의 화상 데이터와, 경과 물품에 대응하는 이차원 코드의 영역의 좌표 정보를 취득하여 스텝 S528로 이행한다.
여기서, 원화상의 데이터로서, 예를 들어 도 12의 (a)에 도시하는 상품 진열장에 복수의 물품(300)이 적재되고, 각 물품(300)의 정면측에 이차원 코드(100)가 부여된 피사체의 촬영 화상을 나타내는 화상 데이터가 취득된 것으로 한다. 또한, 도 12의 예에서는, 도 12의 (b)에 도시한 바와 같이, 이차원 코드 리더(1)가 휴대형의 정보 단말기로 구성되어 있고, 이 정보 단말기의 이면측 상부에는, 도 12의 (c)에 도시한 바와 같이 카메라(76)의 렌즈 부분이 배치되어 있다. 이에 의해, 유저는, 도 12의 (b)에 도시되어 있는 표시 화면을 보면서 이면 화상의 카메라(76)로 상품 진열장을 촬영할 수 있다. 그리고, 원화상의 데이터는, 도 12의 (b)에 도시한 바와 같이, 촬영 범위 PR의 촬영 화상의 데이터로 된다. 즉, 여기에서는 유저가 이차원 코드 리더(1)를 휴대하고, 상품 진열장의 상품을 촬영하면서 경과 물품의 검출 결과를 확인할 수 있는 실시 형태를 예시하고 있다.
스텝 S528에서는, 스텝 S526에 있어서 취득한 원화상의 데이터에 대하여, 경과 물품의 이차원 코드의 화상 영역을 강조 표시하기 위한 가공 처리를 행하여 스텝 S516으로 이행한다.
여기에서의 가공 처리는, 상기 스텝 S508의 처리와 마찬가지의 처리로 된다.
이 경우에는, 스텝 S516에 있어서, 스텝 S528에서 가공된 화상을 표시 장치(72)에 표시하는 처리를 행하여, 상기 일련의 물품 검출 처리를 종료하고, 원래의 처리로 복귀한다.
도 12의 (b)의 화상예는 3개의 경과 물품이 검출된 예이며, 각 경과 물품에 대응하는 이차원 코드를 둥근 프레임으로 둘러싸는 마킹이 실시되어 있다. 이에 의해, 유저는 경과 물품이 원화상 중의 어느 물품(300)인지를 시각적으로 순시에 파악할 수 있다.
한편, 스텝 S524에 있어서, 경과 물품이 없다고 판정하여 스텝 S530으로 이행한 경우에는, RAM(62) 또는 기억 장치(70)로부터 원화상의 화상 데이터를 취득하고, 취득한 화상 데이터에 기초하여 표시 장치(72)에 원화상을 표시한다. 그리고, 일련의 처리를 종료하여 원래의 처리로 복귀한다.
즉, 촬영한 화상 중에 경과 물품이 포함되어 있지 않은 경우에, 강조 표시 가공이나 추가 가공 등이 실시되어 있지 않은 원화상을 표시한다. 이에 의해, 유저는 경과 물품이 없는 것을 시각적으로 순시에 파악할 수 있다. 또한, 경과 물품이 없는 취지를 나타내는 메시지 등의 화상을 원화상 중에 표시하도록 하여도 된다.
또한, 스텝 S520에 있어서, 기한 관리 모드가 아닌 것으로 판정하여 스텝 S532로 이행한 경우에는, 모드의 설정을 재촉하는 메시지를 표시 장치(72)에 표시하는 처리를 행하여, 상기 일련의 처리를 종료하고, 원래의 처리로 복귀한다.
이 처리는 물품 검출 모드 및 기한 관리 모드 중 어느 한쪽이 반드시 설정되도록 구성되어 있는 경우에는 불필요한 처리가 된다.
(3-6) 검출 모드 설정 처리
계속해서, 도 3의 코드 이용 물품 검출 처리를 실행하기 전 등에 행해지는, 검출 대상의 물품을 지정하는 검출 모드 설정 처리의 처리 수순을 도 13에 기초하여 설명한다.
여기서, 도 13은 검출 모드 설정 처리의 처리 수순의 일례를 나타내는 흐름도이다.
검출 모드 설정 처리는, 상기 도 3의 코드 이용 물품 검출 처리와는 독립적으로 행해지는 처리이며, 입력 장치(74)를 통한 유저의 지시 입력에 따라 기동하고, 도 13에 나타낸 바와 같이, 우선, 스텝 S600으로 이행한다.
스텝 S600에서는, 지시 입력에 따라 검출 모드를 설정하는 설정 모드로 이행하여 스텝 S602로 이행한다.
여기에서는 입력 장치(74)에 의해 간이하게 검출 모드를 선택할 수 있도록 물품 검출 모드를 선택하는 버튼의 그래픽과, 기한 관리 모드를 선택하는 버튼의 그래픽을 표시 장치(72)의 표시 화면에 표시한다.
그리고, 예를 들어 화면에 표시된 버튼을, 입력 장치(74)가 터치 패널이면 손가락으로 터치함으로써 선택 내지 누르고, 입력 장치가 마우스이면 마우스 커서에 의해 선택하여 클릭함으로써 누름으로써, 어느 하나의 모드를 선택할 수 있도록 하고 있다. 즉, GUI(Graphical User Interface)에 의해 간이하게 검출 모드의 선택 및 설정을 행하는 것이 가능하게 되어 있다.
스텝 S602에서는 물품 검출 모드가 선택되었는지의 여부를 판정하여, 선택되었다고 판정한 경우("예")에는 스텝 S604로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S612로 이행한다.
스텝 S604로 이행한 경우에는, 검출 모드로서 물품 검출 모드를 설정하여 스텝 S606으로 이행한다.
스텝 S606에서는, 지정 물품의 입력을 재촉하는 화면을 표시 장치(72)의 표시 화면에 표시하여 스텝 S608로 이행한다.
예를 들어, 지정 물품으로서 지정 가능한 물품의 리스트를 표시하여, 그 중에서 선택할 수 있도록 한다. 또한, 품명, 품명 코드, 일련 번호 등으로 지정 가능한 물품을 검색할 수 있도록 하여도 된다.
스텝 S608에서는 지정 물품의 정보가 입력되었는지의 여부를 판정하여, 입력되었다고 판정한 경우("예")에는 스텝 S610으로 이행하고, 그렇지 않은 경우("아니오")에는 입력될 때까지 판정 처리를 속행한다.
또한, 지정하는 물품이 발견되지 않았던 경우 등에 있어서, 설정 모드를 종료한 경우에는 판정 처리로부터 빠져 일련의 처리를 종료한다.
스텝 S610에서는, 스텝 S608에서 입력된 검출 대상의 지정 물품을 설정하여 처리를 종료한다.
이에 의해, 검출 모드로서 물품 검출 모드가 설정되고, 또한 지정 물품이 설정된다. 구체적으로, 이들 정보가 RAM(62)의 소정 어드레스에 저장된다.
한편, 스텝 S602에 있어서, 물품 검출 모드가 선택되지 않고 스텝 S612로 이행한 경우에는, 기한 관리 모드가 선택되었는지의 여부를 판정한다. 그리고, 기한 관리 모드가 선택된 것으로 판정한 경우("예")에는 스텝 S614로 이행하고, 그렇지 않은 경우("아니오")에는 스텝 S602로 이행하여 판정 처리를 속행한다.
스텝 S614로 이행한 경우에는, 검출 모드로서 기한 관리 모드를 설정하여 일련의 처리를 종료한다.
이에 의해, 검출 모드로서 기한 관리 모드가 설정된다. 물품 검출 모드와 마찬가지로, 이 정보는 RAM(62)의 소정 어드레스에 저장된다.
(4) 작용, 효과
상기 실시 형태에서의 이차원 코드 리더(1)이면, 취득된 화상(원화상)으로부터 그레이 스케일 화상의 생성(도 5의 (b)의 S202, S210), 2치화 화상의 생성(도 5의 (b)의 S204, S212), 2치화 화상 중의 물체의 윤곽부의 선형화(도 5의 (b)의 S206)를 거쳐 에지 화상을 생성할 수 있다(도 3의 S108).
또한, 생성된 에지 화상에 기초하여, 이 에지 화상 중에서의 후보 영역의 추출(도 3의 S110), 이 추출한 후보 영역에 대응하는 원화상 중의 대응 영역 각각에 특징적인 패턴이 포함되어 있는지의 여부의 판정(도 3의 S128)을 거쳐 원화상 중에서 이차원 코드의 영역을 검출할 수 있다(도 3의 S130).
이와 같이 2치화 화상 중의 물체의 윤곽부가 선형화된 에지 화상으로부터 후보 영역을 추출할 수 있으므로, 선형화하지 않는 경우와 비교하여 고속으로 후보 영역을 추출할 수 있다.
그리고, 원화상의 영역에 있어서, 후보 영역에 대응하는 대응 영역 중 특징적인 패턴이 포함되어 있는 대응 영역을 원화상 중에서의 이차원 코드의 영역으로서 검출함으로써, 원화상 중에 포함되는 복수의 이차원 코드 각각을 특정할 수 있게 된다.
또한, 상기 실시 형태에서는 원화상에 기초하여 생성되는 복수 종류의 에지 화상 각각에 대하여, 후보 영역의 추출, 이 추출한 후보 영역에 특징적인 패턴이 포함되어 있는지의 여부의 판정 및 이차원 코드의 영역의 검출을 반복하여 실시하고 있다(도 3의 S108 내지 S144).
이에 의해, 특정한 에지 화상에 기초하여 이차원 코드의 영역을 검출할 수 없었다고 하여도, 다른 에지 화상에 기초하여 검출되는 것을 기대할 수 있고, 그 결과 원화상에서의 이차원 코드의 검출 정밀도를 높일 수 있다.
또한, 이 반복 과정에서는 특정한 에지 화상에 대하여 새롭게 추출된 후보 영역이, 앞서 참조된 에지 화상에 대하여 추출된 추출 완료 후보 영역과, 원화상의 영역에 있어서 일치하고 있는 경우도 상정된다. 그런데, 상기 구성에서는, 이러한 추출 완료 영역에 대하여, 추출한 후보 영역에 특징적인 패턴이 포함되어 있는지의 여부의 판정 및 이차원 코드의 영역의 검출을 실시하지 않는다(도 3의 S124의 「예」의 분지).
그로 인해, 복수의 에지 화상 각각에 기초하여 검출된 각 이차원 코드의 영역에 대하여, 이 이차원 코드로 코드화된 정보를 식별할 때에, 원래 동일한 것인 이차원 코드를 반복하여 식별해 버리는 등의 쓸데없는 처리 부담을 없앨 수 있다.
또한, 이 반복 과정에서는 이상적인 영역 형상에 대하여, 각 후보 영역의 종횡비 및 네 코너의 각도 등의 형상 정보가, 미리 설정된 오차 범위 내로 되는지의 여부를 판정함으로써(도 6의 S300 내지 S308), 추출한 후보 영역이 유효한 후보 영역인지의 여부를 판정할 수 있다(도 3의 S122).
이에 의해, 이상적인 형상에 대하여, 오차 범위 외의 형상을 갖는 후보 영역을 이후의 처리 대상으로부터 제외할 수 있어, 이차원 코드의 영역과는 명확하게 상이한 영역 등에 대하여 쓸데없는 처리가 행해지는 것을 방지할 수 있다.
또한, 상기 실시 형태에서는 원화상으로부터 에지 화상을 생성하고, 이 에지 화상으로부터 이차원 코드의 영역의 후보가 되는 후보 영역을 추출한 후(도 3의 S110), 원화상에서의 이 추출한 후보 영역에 대응하는 영역으로부터 이차원 코드의 영역을 검출하여 정보의 식별을 행하고 있다(도 3의 S116 내지 S134). 그로 인해, 후보 영역을 추출하지 않고 이차원 코드의 영역을 검출하고자 하는 경우에 비하여, 추출한 후보 영역이라고 하는 한정적인 범위로부터 이차원 코드의 영역의 검출을 행할 수 있다. 이에 의해, 이차원 코드의 영역으로부터 정보의 식별을 행할 때까지 필요로 하는 처리 부하 및 처리 시간을 억제할 수 있다.
또한, 상기 실시 형태에서는 복수의 에지 화상 각각에 기초하여 검출된 각 이차원 코드의 영역에 대하여, 이 이차원 코드로 코드화된 정보를 식별할 수 있다(도 3의 S134).
또한, 상기 실시 형태에 있어서는, 특정한 에지 화상으로부터 추출된 후보 영역과, 다른 에지 화상에서의 추출 완료 후보 영역의 중복 정도에 따라, 그 중복 정도가 일정 이상인 것을 갖고 양쪽 후보 영역이 일치한다고 판정할 수 있다.
또한, 상기 실시 형태에 있어서는, 특정한 에지 화상으로부터 추출된 후보 영역 및 다른 에지 화상에서의 추출 완료 후보 영역 중, 한쪽의 후보 영역이 다른쪽의 후보 영역에 포섭되어 있는 것을 갖고 양쪽 후보 영역이 일치한다고 판정할 수 있다.
또한, 상기 실시 형태에 있어서는, 특정한 에지 화상으로부터 추출된 후보 영역에서의 1 이상의 정점이, 추출 완료 후보 영역에서의 어느 하나의 정점으로부터 일정 범위 내에 위치하고 있는 것을 갖고 양쪽 후보 영역이 일치한다고 판정할 수도 있다.
또한, 상기 실시 형태에 있어서는, 템플릿으로 규정되는 규칙에 따라 후보 영역을 추출할 수 있기 때문에, 이 템플릿과 함께 규칙을 변경함으로써, 임의의 규칙에 따라 형성된 이차원 코드의 영역으로서 검출할 수 있도록 할 수 있다.
또한, 상기 실시 형태에 있어서는, 이차원 코드의 각 셀 C에 부여된 색에 기초하여 이차원 코드로 나타내어지는 정보를 식별할 수 있다(도 3의 S132 내지 S134).
또한, 상기 실시 형태에서는 화상의 생성(구체적으로는 촬영) 상태에 의해, 이차원 코드에서의 각 셀 C 중 일부의 셀 C에 대응하는 영역이 결여되어 버렸다고 하여도, 그 셀에 원래 부여되어야 할 색을 착색 규칙에 따라 추정하고(도 8의 S452), 그 색에 기초하여 정보를 식별할 수 있기 때문에, 정보의 식별 그 자체가 불가능하게 되는 것을 방지할 수 있다.
또한, 상기 실시 형태에서는 이차원 코드에서의 각 셀 C에 부여되어 있는 색을, 색 공간에서의 어느 판정 영역에 포함되어 있는지에 의해 판정할 수 있다(도 8의 S410).
또한, 이 구성에 있어서는, 각 픽셀의 색 판정을 행할 때에, 이차원 코드의 영역을 래스터 주사에 의해 순서대로 주사하여 색 판정 처리를 행하고(도 8의 S410), 각 셀 C의 영역에서의 각 행에 위치하는 픽셀에 대하여 일정수 이상이 판정 영역에 포함된다고 판정된 경우(도 8의 S408의 「예」의 분지)에, 해당 셀 C의 영역에서의 그 행의 나머지 픽셀에 대하여 색 판정 처리를 생략할 수 있다.
이에 의해, 각 셀 C의 영역에서의 각 행의 픽셀의 모두에 대하여 색 판정 처리를 행하는 경우와 비교하여, 각 픽셀의 색 판정 처리를 고속으로 행할 수 있다.
또한, 이 구성에 있어서는, 각 셀 C의 색을 판정할 때에, 많은 셀 C에 부여된 색이 어느 판정 영역에도 포함되지 않아 정보의 식별 그 자체가 불가능하게 되는 경우라도, 그러한 것을 방지할 수 있도록 구성되어 있다.
구체적으로는, 복수의 색 각각에 대응하는 판정 영역 중 어디에도 포함되어 있지 않다고 판정된 셀이 일정수 이상 존재하는 경우에(도 8의 S440 「예」의 분지), 판정 영역을 일정 영역만큼 넓히거나 또는 변이시킨 후, 다시 각 셀에 부여되어 있는 색을 판정하고 있다(도 8의 S444 내지 S438).
이 구성이면 화상의 생성 조건이 나빠 적절하게 색의 판정이 불가능한 경우라도, 판정 영역을 넓힘으로써 판정의 감도를 높여 다시 색을 판정하거나, 또는 판정 영역을 색의 분포에 따른 적절한 위치까지 변이시켜 다시 색을 판정함으로써 색의 판정 확률을 높일 수 있다.
또한, 상기 실시 형태에서는 물품 검출 모드가 설정되어 있는 경우에, 각 셀 C의 색의 판정 결과에 기초하여 식별된 정보에 기초하여, 상기 정보에 대응하는 물품 중에 지정 물품이 존재하는지의 여부를 판정할 수 있다(도 9의 S502).
또한, 지정 물품이 존재하는 경우에, 원화상에서의 지정 물품에 대응하는 이차원 코드의 영역이 강조 표시되도록 원화상을 가공하고(도 9의 S508), 가공한 화상을 표시할 수 있다(도 9의 S516).
이에 의해, 원화상 중의 지정 물품에 대응하는 이차원 코드의 영역이 강조 표시된 화상을 표시할 수 있으므로, 유저는 표시된 화상을 봄으로써, 원화상 중에서의 지정 물품의 위치를 간이하면서 순시에 파악할 수 있다.
또한, 이 구성에 있어서는, 지정 물품이 복수 있을 때에, 각 지정 물품의 관리 개시 시기 정보에 기초하여, 관리 개시 시기가 오래된 순서대로 순서를 나타내는 번호의 화상을, 지정 물품에 대응하는 이차원 코드의 영역 상 또는 그 근방에 표시되도록 원화상에 추가하는 가공을 행할 수 있도록 구성되어 있다(도 9의 S512).
이에 의해, 유저는 표시된 화상을 봄으로써, 각 지정 물품의 관리 개시 시기의 순서를 시각적으로 간이하면서 순시에 파악할 수 있다. 예를 들어, 창고 내에서의 물품을, 그 관리 개시 시기가 오래된 순서대로 출하하는 등의 작업을 용이하게 행할 수 있다.
또한, 이 구성에 있어서는 원화상에 대하여 강조 표시 가공 외에 지정 물품에 관한 표시 정보를 추가하는 가공을 행할 수 있도록 구성되어 있다(도 9의 S514).
이에 의해, 유저는 표시된 화상을 봄으로써, 품명, 품명 코드, 관리 개시 기한, 출하 기한 등의 지정 물품에 관한 정보를 확인할 수 있다.
또한, 이 구성에 있어서는, 기한 관리 모드를 설정한 경우에, 출하 기한, 소비 기한 등의 기한이 경과한 물품 또는 기한까지의 기간이 소정 기간 이하인 물품을 지정 물품으로 할 수 있다. 그리고, 각 셀 C의 색의 판정 결과에 기초하여 식별된 정보에 대응하는 물품 중에서 기한을 경과한 물품 또는 기한까지의 기간이 소정 기간 이하인 물품이 존재하는지의 여부를 판정할 수 있다(도 9의 S524).
또한, 지정 물품이 존재하는 경우에, 원화상에서의 지정 물품에 대응하는 이차원 코드의 영역이 강조 표시되도록 원화상을 가공하고(도 9의 S528), 가공한 화상을 표시할 수 있다(도 9의 S516).
이에 의해 원화상 중의 지정 물품에 대응하는 이차원 코드의 영역이 강조 표시된 화상을 표시할 수 있으므로, 유저는 표시된 화상을 봄으로써, 원화상 중에서의 지정 물품의 위치를 간이하면서 순시에 파악할 수 있다.
(5) 변형예
이상, 본 발명의 실시 형태에 대하여 설명하였지만, 본 발명은 상기 실시 형태에 전혀 한정되지 않고, 본 발명의 기술적 범위에 속하는 한 다양한 형태를 취할 수 있는 것은 말할 필요도 없다.
예를 들어, 상기 실시 형태에 있어서는, 이차원 코드 리더(1)가 단체의 장치에 의해 구성되어 있는 경우를 예시하였지만, 이 이차원 코드 리더(1)는 복수의 장치가 협조하여 동작하는 시스템으로서 구성하여도 된다.
또한, 상기 실시 형태에 있어서는, 이차원 코드의 영역으로서는, 상술한 바와 같은 이차원 코드에 한정되지 않고, 특정한 화상(예를 들어, 로고 등)을 나타내는 영역으로 하여도 된다.
또한, 상기 실시 형태에서는 착색 규칙에 따라 부여되어야 할 색의 후보를 선출하고, 그 중에서 가장 확실한 단일의 색을 착색 규칙에 따라 원래 부여되어야 할 색으로 추정하고 있지만, 이렇게 하여 색의 후보를 선출한 단계에서, 이들 후보 중 어느 하나를 유저에게 선택시키는 것으로 하여도 된다.
또한, 후보로서 선출된 색 각각에 대하여 정보의 식별까지도 행하도록 하고, 그렇게 하여 식별한 정보 중에서 어느 하나를 유저에게 선택시키는 것으로 하여도 된다. 이 경우, 도 8의 S452에서는 아무런 처리도 행하지 않고, S454에서 후보의 색 각각을, 해당하는 셀 C에 부여된 색으로 판정한다. 그리고, 도 3의 S134에서는 셀 C에 부여된 색으로서 판정된 색이 복수 존재하고 있으면, 각 색에 대하여 또는 각 색의 조합에 기초하여 정보를 식별하고, 그렇게 하여 식별한 정보 중에서 어느 하나를 유저에게 선택시키는 등의 구성을 생각할 수 있다.
또한, 상기 실시 형태에 있어서는, 물품 검출 처리에 있어서, 지정된 물품을 검색하는 예와, 기한에 대하여 조건을 만족하고 있는 물품을 검색하는 예를 설명하였지만, 이들 예에 한정되지 않고, 다른 조건을 만족하는 물품을 검색할 수 있도록 구성하여도 된다.
또한, 상기 실시 형태에 있어서는, 관리 개시 기한이 오래된 순서대로 번호 화상을 이차원 코드의 영역 상 또는 그 근방에 표시하는 구성으로 하였지만, 이 구성에 한정되지 않고, 소비 기한이 빠른 순서 등 다른 조건에 기초하는 순서의 번호 화상을 표시하는 구성으로 하여도 된다.
또한, 상기 실시 형태에 있어서, 코드 이용 물품 검출 처리를, 입력 장치(74)를 통한 유저의 조작 입력(지시 정보)을 트리거로 하여 행해지는 일련의 처리로서 설명하였지만, 이 구성에 한정되지 않는다.
예를 들어, 검출 대상의 물품이 설정(검출 모드가 설정)된 상태이면, 트리거가 없어도 코드 이용 물품 검출 처리를 반복하여 실행하여, 항상, 촬영 화상에 대하여 검출 처리를 실행하고, 검출 결과의 화상을 표시하는 구성으로 하는 등 다른 구성으로 하여도 된다.
또한, 상기 실시 형태에 있어서, 이차원 코드 리더(1)는 전용의 프로그램을 CPU(60)에 의해 실행함으로써, 코드 이용 물품 검출 처리에 필요한 각 기능을 실현하는 구성으로 하였지만, 이 구성에 한정되지 않는다. 예를 들어, 처리의 일부를 반도체 집적 회로 등의 하드웨어로 치환하여 하드웨어와 소프트웨어의 양쪽에 의해 각 기능을 실현하는 구성으로 하여도 되고, 가능하면 처리 모두 또는 대략 모두를 하드웨어로 치환하여 하드웨어 주체로 각 기능을 실현하는 구성으로 하여도 된다.
(6) 본 발명과의 대응 관계
이상 설명한 실시 형태에 있어서, 도 3의 S102가 본 발명에서의 화상 취득부이고, 도 3의 S108(도 5의 S200 내지 S212)이 본 발명에서의 성분 변환부이고, 도 3의 S110이 본 발명에서의 영역 추출부이고, 도 3의 S128이 본 발명에서의 패턴 판정부이다.
또한, 도 3의 S130이 본 발명에서의 영역 검출부이고, 도 3의 S108 내지 S144(특히, S108, S142, S144)가 본 발명에서의 반복 실시부이고, 도 3의 S124가 본 발명에서의 일치 판정부이고, 도 3의 S134가 본 발명에서의 정보 식별부이다.
또한, 도 8에서의 S400이 본 발명에서의 세퍼레이터 영역 특정부이고, 도 8에서의 S402가 본 발명에서의 셀 영역 특정부이고, 도 8에서의 S452가 본 발명에서의 색 추정부이고, 도 8의 S410, S438 및 S454가 본 발명에서의 색 판정부이다.
또한, 도 9의 S502, S524가 본 발명에서의 물품 유무 판정부이고, 도 9의 S508, S512, S514가 본 발명에서의 화상 가공부이고, 도 9의 S506이 본 발명에서의 화상 표시부이다.
또한, 검출 모드가 본 발명에서의 지정 정보이고, 도 13의 S600 내지 S614가 본 발명에서의 지정 정보 설정부이다.
1: 이차원 코드 리더
60: CPU
62: RAM
64: ROM
66: I/F
68: 버스
70: 기억 장치
72: 표시 장치
74: 입력 장치
76: 카메라
78: NIC
C: 셀

Claims (14)

  1. 복수의 셀이 배열되고, 상기 복수의 셀은, 미리 정해진 색이 부여된 세퍼레이터에 의해 나누어져 있으며, 상기 복수의 셀에 색이 상이한 복수 종류의 셀이 포함되도록 각 셀에 색을 부여함으로써 상기 색 또는 색의 조합에 따른 1 이상의 정보 각각을 코드화한 구성의 복수의 이차원 코드의 영역을 포함하는 영역이 촬영되어 이루어지는 화상을 취득하는 화상 취득부와,
    상기 화상 취득부에 의해 취득된 화상을, 상기 화상에 포함되는 에지 성분의 분포를 나타내는 에지 화상으로 변환하는 성분 변환부와,
    상기 성분 변환부에 의해 변환된 에지 화상으로부터, 미리 정해진 규칙으로서, 상기 이차원 코드의 영역의 후보 영역으로 되어야 할지의 여부를 상기 이차원 코드의 외형 형상의 파라미터에 기초하여 판정하기 위한 규칙에 따라 형성되어 있는 영역을 상기 이차원 코드의 영역으로 이루어지는 후보 영역으로서 추출하는 영역 추출부와,
    상기 화상 취득부에 의해 취득된 화상에서의, 상기 영역 추출부에 의해 추출된 후보 영역에 대응하는 대응 영역 각각에 대하여, 상기 대응 영역을 형성하는 요소에, 상기 대응 영역 내에 형성되어 있는 패턴이 상기 이차원 코드의 영역인지의 여부를 결정하기 위한 패턴인 특징적인 패턴이 포함되어 있는지의 여부를 판정하는 패턴 판정부와,
    상기 패턴 판정부에 의해 특징적인 패턴이 포함되어 있다고 판정된 대응 영역을, 상기 이차원 코드의 영역으로서 검출함으로써, 상기 화상에 포함되는 복수의 이차원 코드의 영역을 검출 가능한 영역 검출부와,
    상기 영역 검출부에 의해 검출된 이차원 코드의 영역 각각에 대하여, 상기 이차원 코드의 영역에서의 각 셀의 영역에 부여되어 있는 색을 판정하는 색 판정부와,
    상기 이차원 코드의 영역에서의 각 셀의 영역에, 상기 셀의 영역에 대하여 상기 색 판정부가 판정한 색이 부여되어 있는 것으로서, 각 셀의 영역에 부여된 색 또는 색의 조합에 기초하여 상기 코드화된 정보를 식별하는 정보 식별부와,
    상기 미리 정해진 색에 기초하여 상기 이차원 코드의 영역에서의 각 픽셀의 색의 판정 처리를 행함으로써, 상기 이차원 코드의 영역에서의 상기 세퍼레이터의 영역의 위치를 특정하는 세퍼레이터 영역 특정부와,
    상기 세퍼레이터 영역 특정부에서 특정된 세퍼레이터의 영역의 위치에 기초하여, 상기 이차원 코드의 영역에서의 각 셀의 영역의 위치를 특정하는 셀 영역 특정부를 구비하며,
    상기 색 판정부는, 상기 이차원 코드의 영역에서의 각 셀의 영역에 대하여 픽셀마다 상기 이차원 코드에 있어서 사용되는 복수의 색 중 어느 하나에 해당하고 있는지의 여부의 판정을 행함으로써 순차적으로 색을 판정하고, 상기 복수의 색 중 어느 하나에 해당하고 있는 색을 유효한 색으로서, 소정수의 유효한 색의 판정 결과를 얻었을 때에, 색의 판정 처리가 미처리된 나머지 픽셀에 대하여 색의 판정 처리를 생략하고, 상기 소정수의 유효한 색의 판정 결과에 기초하여 각 셀의 영역에 부여된 색을 판정하는 것을 특징으로 하는 이차원 코드 리더.
  2. 제1항에 있어서, 상기 색 판정부는, 상기 이차원 코드의 영역에 있어서, 행 또는 열을 형성하는 픽셀군마다 각 픽셀의 색의 판정을 순차적으로 행하여, 각 행 또는 각 열의 각 셀의 영역에 대응하는 부분에 있어서 소정수의 유효한 색의 판정 결과를 얻었을 때에, 다음 셀의 영역을 나타내는 픽셀 앞의 픽셀까지, 그 행 또는 열에서의 색의 판정 처리가 미처리된 나머지 픽셀에 대하여 색의 판정 처리를 생략하고, 각 셀의 영역에 대한 각 행 또는 각 열의 상기 색의 판정 결과에 기초하여 각 셀의 영역에 부여된 색을 판정하는 것을 특징으로 하는 이차원 코드 리더.
  3. 제1항에 있어서, 상기 색 판정부는, 상기 이차원 코드의 영역에서의 각 셀의 영역에 있어서, 행 또는 열을 형성하는 픽셀군마다 각 픽셀의 색의 판정을 순차적으로 행하여, 각 셀의 영역에 대응하는 각 행 또는 각 열에 있어서 소정수의 유효한 색의 판정 결과를 얻었을 때에, 다음 셀의 영역을 나타내는 픽셀 앞의 픽셀까지, 그 행 또는 열에서의 색의 판정 처리가 미처리된 나머지 픽셀에 대하여 색의 판정 처리를 생략하고, 각 행 또는 각 열의 상기 색의 판정 결과에 기초하여 각 셀의 영역에 부여된 색을 판정하는 것을 특징으로 하는 이차원 코드 리더.
  4. 제1항에 있어서, 상기 성분 변환부에 의한 화상의 에지 화상으로의 변환을, 상이한 2종류 이상의 변환 조건의 각각에 대하여 순서대로 실시시킴과 함께, 각 변환 조건에 대하여 변환된 에지 화상 각각에 대하여, 상기 영역 추출부에 의한 후보 영역의 추출, 상기 패턴 판정부에 의한 특징적인 패턴의 판정, 및 상기 영역 검출부에 의한 이차원 코드의 영역의 검출을 반복하여 실시시키는 반복 실시부와,
    특정한 상기 에지 화상에 대하여, 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에 대하여 상기 영역 추출부가 추출한 후보 영역(이후 「추출 완료 후보 영역」이라고 함)과 일치하는지의 여부를, 양쪽의 후보 영역에 기초하여 판정하는 일치 판정부를 구비하고 있으며,
    상기 반복 실시부는, 상기 패턴 판정부에 의한 특징적인 패턴을 갖고 있는지의 여부의 판정, 및 상기 영역 검출부에 의한 이차원 코드의 영역의 검출을, 상기 영역 추출부에 의해 추출된 후보 영역 중, 상기 일치 판정부에 의해 상기 추출 완료 후보 영역과 일치하지 않는다고 판정된 후보 영역에 대해서만 실시시키는 것을 특징으로 하는 이차원 코드 리더.
  5. 제4항에 있어서, 상기 일치 판정부는, 특정한 상기 에지 화상에 대하여, 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에서의 상기 추출 완료 후보 영역과 일치하는지의 여부를, 양쪽의 후보 영역에서의 중복 정도에 따라 판정하는 것을 특징으로 하는 이차원 코드 리더.
  6. 제4항에 있어서, 상기 일치 판정부는, 특정한 상기 에지 화상에 대하여, 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에서의 상기 추출 완료 후보 영역과 일치하는지의 여부를, 양쪽의 후보 영역 중 한쪽의 후보 영역이 다른쪽의 후보 영역에 포섭되어 있는지의 여부에 따라 판정하는 것을 특징으로 하는 이차원 코드 리더.
  7. 제4항에 있어서, 상기 이차원 코드의 영역이 다각형인 경우에 있어서,
    상기 일치 판정부는, 특정한 상기 에지 화상에 있어서 상기 영역 추출부에 의해 추출된 후보 영역 각각에 대하여, 상기 후보 영역으로서 형성된 다각형에서의 1 이상의 정점이, 상기 추출 완료 후보 영역으로서 형성된 다각형에서의 어느 하나의 정점으로부터 일정 범위 내에 위치하고 있는지의 여부에 따라, 상기 영역 추출부에 의해 추출된 후보 영역 각각이, 다른 에지 화상에서의 상기 추출 완료 후보 영역과 일치하는지의 여부를 판정하는 것을 특징으로 하는 이차원 코드 리더.
  8. 제1항에 있어서, 상기 이차원 코드는, 상기 복수의 셀 각각에 부여되는 색이, 복수 종류의 색 중, 상기 셀로 코드화해야 할 정보, 및 상기 셀과 인접하는 셀에 부여된 색에 따른 착색 규칙에 따라 정해져 있으며,
    또한,
    상기 영역 검출부에 의해 검출된 이차원 코드의 영역 각각에 대하여, 상기 이차원 코드의 영역에서의 각 셀의 영역 중, 상기 셀의 영역에 대하여 상기 착색 규칙에 따라 부여되어야 할 색, 및 상기 이차원 코드에 있어서 사용되어야 할 색, 이외의 색이 부여되어 있는 셀의 영역에 대하여, 상기 셀의 영역에 원래 부여되어야 할 색을 상기 착색 규칙에 따라 추정하는 색 추정부를 구비하고 있고,
    상기 정보 식별부는, 상기 이차원 코드의 영역에서의 각 셀의 영역 중, 상기 색 추정부에 의해 색이 추정된 셀의 영역에 상기 추정된 색이 부여되어 있는 것으로서, 각 셀의 영역에 부여된 색 또는 색의 조합에 기초하여 정보를 식별하는 것을 특징으로 하는 이차원 코드 리더.
  9. 제1항에 있어서, 상기 색 판정부는, 상기 이차원 코드의 영역에서의 각 셀의 영역에 부여되어 있는 색을, 상기 이차원 코드에 있어서 사용되는 복수의 색 각각을 중심으로 넓어지는 색 공간 상의 판정 영역 중 어디에 포함되어 있는지에 의해 판정하는 것을 특징으로 하는 이차원 코드 리더.
  10. 제9항에 있어서, 상기 색 판정부는, 복수의 색 각각에 대응하는 상기 판정 영역 중 어디에도 포함되어 있지 않다고 판정된 셀의 영역이 일정수 이상 존재하는 이차원 코드의 영역에 대하여, 상기 판정 영역을 일정 영역만큼 넓힌 후에, 다시 각 셀의 영역에 부여되어 있는 색을 판정하는 것을 특징으로 하는 이차원 코드 리더.
  11. 제9항에 있어서, 상기 색 판정부는, 복수의 색 각각에 대응하는 상기 판정 영역 중 어디에도 포함되어 있지 않다고 판정된 셀의 영역이 일정수 이상 존재하는 이차원 코드의 영역에 대하여, 상기 이차원 코드의 영역에서의 색의 분포에 따라 상기 판정 영역을 색 공간 상에서 변이시킨 후, 다시 각 셀의 영역에 부여되어 있는 색을 판정하는 것을 특징으로 하는 이차원 코드 리더.
  12. 제1항에 있어서, 상기 영역 추출부는, 상기 이차원 코드의 영역의 형성에 관한 규칙을 규정하는 템플릿에 기초하여, 상기 성분 변환부에 의해 변환된 에지 화상으로부터, 그 템플릿으로 정해진 규칙에 따라 형성되어 있는 영역의 위치 정보를 후보 영역의 위치 정보로서 추출하는 것을 특징으로 하는 이차원 코드 리더.
  13. 제1항에 기재된 모든 구성부로서 기능시키기 위한 각종 처리 수순을 컴퓨터 시스템에 실행시키기 위한 프로그램을 기록한 기록 매체.
  14. 삭제
KR1020137002514A 2010-07-30 2010-08-31 이차원 코드 리더 및 프로그램 KR101267216B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010172619A JP4724801B1 (ja) 2010-07-30 2010-07-30 二次元コードリーダおよびプログラム
JPJP-P-2010-172619 2010-07-30
PCT/JP2010/005360 WO2012014264A1 (ja) 2010-07-30 2010-08-31 二次元コードリーダおよびプログラム

Publications (2)

Publication Number Publication Date
KR20130019020A KR20130019020A (ko) 2013-02-25
KR101267216B1 true KR101267216B1 (ko) 2013-05-24

Family

ID=44350532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137002514A KR101267216B1 (ko) 2010-07-30 2010-08-31 이차원 코드 리더 및 프로그램

Country Status (6)

Country Link
US (1) US8534560B2 (ko)
EP (1) EP2600278A4 (ko)
JP (1) JP4724801B1 (ko)
KR (1) KR101267216B1 (ko)
CN (1) CN103069430B (ko)
WO (1) WO2012014264A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6020124B2 (ja) * 2012-12-18 2016-11-02 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
CN103310258B (zh) * 2013-06-09 2016-02-17 江苏科技大学 一种自适应扩展黑白码编码方法
JP6299148B2 (ja) * 2013-10-31 2018-03-28 ブラザー工業株式会社 読み取り装置及びプログラム
CN103680413B (zh) * 2013-12-31 2015-07-01 京东方科技集团股份有限公司 一种图像处理装置及方法
US9367782B2 (en) * 2014-05-29 2016-06-14 Konica Minolta Laboratory U.S.A., Inc. High capacity 2D color barcode and method for decoding the same
US10192022B2 (en) * 2014-06-04 2019-01-29 IronCAD, LLC Geometric modeling system with intelligent behaviors of design components
US20160379031A1 (en) * 2015-06-23 2016-12-29 Konica Minolta Laboratory U.S.A., Inc. High capacity 2d color barcode design and processing method for camera based applications
US9454688B1 (en) 2015-07-20 2016-09-27 Konica Minolta Laboratory U.S.A., Inc. High capacity 2D color barcode design and decoding method
CN106250009B (zh) * 2015-08-31 2019-11-29 北京智谷睿拓技术服务有限公司 交互方法、交互装置、显示设备及图像获取设备
CN107443922B (zh) * 2017-07-23 2019-06-25 上海有个文化传播有限公司 一种防伪二维码生成系统
US10740666B2 (en) * 2018-09-27 2020-08-11 Caleb J. Webster Two-dimensional cryptographic poly-chromatic poly-digital code
JP7176771B2 (ja) * 2020-01-29 2022-11-22 ビーコア株式会社 画像処理装置、画像処理システム、方法、プログラム、移動体及び工場または倉庫
CN111428530B (zh) * 2020-02-29 2022-07-15 厦门华联电子股份有限公司 一种二维码图像检测识别设备、装置及方法
CN111523341B (zh) * 2020-04-03 2023-07-11 青岛进化者小胖机器人科技有限公司 二维码图像的二值化方法及设备
CN112733567B (zh) * 2021-01-15 2023-12-12 深圳市豪恩汽车电子装备股份有限公司 机动车二维码识别方法、装置及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148797A (ja) 1998-08-31 2000-05-30 Sony Corp 画像処理装置、画像処理方法、および画像処理プログラム格納媒体
JP2008282339A (ja) 2007-05-14 2008-11-20 Konica Minolta Business Technologies Inc コード検出プログラム及びコード検出方法並びに画像形成装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010042788A1 (en) 1998-08-31 2001-11-22 Keigo Ihara Image processing apparatus, image processing method and image processing program storage medium
KR100341504B1 (ko) 1999-11-13 2002-06-21 한탁돈 기계로 판독가능한 코드와 그 코드의 인코딩/디코딩 방법및 장치
KR100339691B1 (ko) 2001-11-03 2002-06-07 한탁돈 코드인식을 위한 장치 및 그 방법
JP2003248792A (ja) 2002-02-22 2003-09-05 Seiko Epson Corp 2次元コードのデコード方法、2次元コードのデコード装置、コンピュータに2次元コードのデコード方法を実行させるためのプログラム、このプログラムを記録した記録媒体
KR100653886B1 (ko) 2004-11-05 2006-12-05 주식회사 칼라짚미디어 혼합코드 및 혼합코드 인코딩 방법과 장치
EP1807796B1 (en) * 2004-11-05 2014-12-17 Colorzip Media, Inc. Mixed code, and method and apparatus for generating the same, and method and appratus for decoding the same
US7751629B2 (en) * 2004-11-05 2010-07-06 Colorzip Media, Inc. Method and apparatus for decoding mixed code
WO2006100720A1 (ja) * 2005-03-18 2006-09-28 Fujitsu Limited コード画像処理方法
KR100914515B1 (ko) 2006-06-23 2009-09-02 주식회사 칼라짚미디어 색상 기반 이미지 코드의 색상 판별 방법
SG138575A1 (en) 2006-06-23 2008-01-28 Colorzip Media Inc Method of classifying colors of color based image code
US20090194596A1 (en) 2006-07-19 2009-08-06 B-Core Inc. Optical Symbol, Item to Which Optical Symbol is Attached, Method of Attaching Optical Symbol to Item, and Optical Recognition Code Recognizing Method
JP4005621B1 (ja) * 2006-07-19 2007-11-07 ビーコア株式会社 光学式シンボル及びそれが付された物品並びに光学式シンボルを物品に付す方法及び光学式シンボルのデコード方法。
JP5111055B2 (ja) * 2007-10-26 2012-12-26 キヤノン株式会社 画像処理装置及び画像処理方法、コンピュータプログラム
JP2010039624A (ja) * 2008-08-01 2010-02-18 B-Core Inc 色彩認識方法及びプログラム
US8366004B2 (en) * 2008-02-22 2013-02-05 Qualcomm Incorporated Barcode detection based on morphological operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148797A (ja) 1998-08-31 2000-05-30 Sony Corp 画像処理装置、画像処理方法、および画像処理プログラム格納媒体
JP2008282339A (ja) 2007-05-14 2008-11-20 Konica Minolta Business Technologies Inc コード検出プログラム及びコード検出方法並びに画像形成装置

Also Published As

Publication number Publication date
US20130186957A1 (en) 2013-07-25
CN103069430B (zh) 2014-11-26
EP2600278A1 (en) 2013-06-05
JP2012033034A (ja) 2012-02-16
KR20130019020A (ko) 2013-02-25
EP2600278A4 (en) 2014-04-09
CN103069430A (zh) 2013-04-24
WO2012014264A1 (ja) 2012-02-02
US8534560B2 (en) 2013-09-17
JP4724801B1 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
KR101267216B1 (ko) 이차원 코드 리더 및 프로그램
KR101266663B1 (ko) 이차원 코드 리더 및 프로그램
US8351706B2 (en) Document extracting method and document extracting apparatus
KR101579876B1 (ko) 화상 처리 장치, 화상 처리 방법, 및 컴퓨터 판독 가능한 매체
CN105009170A (zh) 物体识别设备、方法和存储介质
EP2645697B1 (en) Image processing apparatus and method
US20120237121A1 (en) Image processing device, image processing method, and storage medium for storing image processing program
JP4582204B2 (ja) 画像処理装置、画像変換方法、およびコンピュータプログラム
US9330447B2 (en) Image evaluation device, image selection device, image evaluation method, recording medium, and program
JP5319637B2 (ja) 二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ
JP4724800B1 (ja) 物品検出装置およびプログラム
JP2005317042A (ja) 画像処理装置
EP2541469B1 (en) Image recognition device, image recognition method and image recognition program
JP5691547B2 (ja) 画像の変更箇所抽出装置、画像の変更箇所表示装置及びプログラム
JP2006031245A (ja) ディジタル画像の輪郭追跡による画像処理方法並びに画像処理装置
JP2019012424A (ja) 画像処理装置、および、コンピュータプログラム
JP2004038530A (ja) 画像処理方法、同方法の実行に用いるプログラム及び画像処理装置
JP2005149439A (ja) 画像処理装置及び画像処理方法
JP4543759B2 (ja) 物体認識方法
JPH05342340A (ja) 画像処理方法及びその装置
JP2015191308A (ja) 文書画像の照合装置及び照合プログラム並びに文書画像検索装置
KR101328233B1 (ko) 영상처리 시스템의 라벨링 장치 및 방법
Latecki Image similarity measures for video analysis
JP2006092050A (ja) 画像処理装置
JP2010044517A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体

Legal Events

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

Payment date: 20160316

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170306

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180222

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190220

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200220

Year of fee payment: 8