図面 (/)

技術 バーコード領域検知装置、バーコード読み取りシステム、バーコード領域検知方法及びプログラム

出願人 日本電気株式会社
発明者 安達正釼持俊
出願日 2016年3月31日 (4年7ヶ月経過) 出願番号 2016-072640
公開日 2017年10月5日 (3年1ヶ月経過) 公開番号 2017-182679
状態 特許登録済
技術分野 物品の選別 記録担体の読み取り
主要キーワード 外形矩形 統合ブロック 画像間引き処理 ワイドバー ナローバー バーコード認識処理 最小外接矩形 バー幅
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年10月5日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (19)

課題

複雑な背景の中にバーコードがある場合であっても、バーコードを検知することができるバーコード領域検知装置を提供する。

解決手段

バーコード領域検知装置は、画像間引き処理部と、画像合成部と、領域座標評価部と、を備える。前記画像間引き処理部は、原画像に対して画像の間引き処理を行う。前記画像合成部は、前記画像間引き処理部により間引き処理が行われた後の画像と、前記原画像とを合成する。前記領域座標評価部は、前記画像合成部が合成した画像に基づいて、バーコード領域を特定する。

概要

背景

郵便物配送先区分する際、郵便物に付与された配送先の住所の情報を含むバーコードが利用される場合がある。
特許文献1には、関連する技術として、バーコードを読み取る技術が開示されている。

概要

複雑な背景の中にバーコードがある場合であっても、バーコードを検知することができるバーコード領域検知装置を提供する。バーコード領域検知装置は、画像間引き処理部と、画像合成部と、領域座標評価部と、を備える。前記画像間引き処理部は、原画像に対して画像の間引き処理を行う。前記画像合成部は、前記画像間引き処理部により間引き処理が行われた後の画像と、前記原画像とを合成する。前記領域座標評価部は、前記画像合成部が合成した画像に基づいて、バーコード領域を特定する。

目的

本発明は、上記の課題を解決することのできるバーコード領域検知装置、バーコード読み取りステム、バーコード領域検知方法及びプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

原画像データが示す直交する二軸で表される二次元原画像における一方の軸方向と他方の軸方向のそれぞれに対して画素間引いた、間引き後画像データを生成する画像間引き処理部と、前記原画像を区分けした複数のブロックそれぞれにおけるエッジ強度と、前記間引き後画像を区分けした複数のブロックそれぞれにおけるエッジ強度とを算出するエッジ強度算出部と、前記原画像におけるブロックのエッジ強度と、前記間引き後画像におけるブロックのエッジ強度とを各画像の対応する位置のブロック間でそれぞれ比較し、前記各画像の対応する位置において強いエッジ強度を示すブロックを選択し、前記各画像の対応する位置において選択した原画像または間引き後画像におけるブロックを有する画像を示す合成画像データと、前記原画像データとに基づいて、バーコードが存在するバーコード領域を特定するバーコード領域絞り込み部と、を備えるバーコード領域検知装置

請求項2

記バーコード領域絞り込み部は、前記合成画像データの生成に用いられた複数のブロックのうち隣接する所定しきい値以上のエッジ強度を示す有効ブロックそれぞれを一つの領域と判定し、その領域に含まれる複数のブロックである有効ブロック群を示す有効ブロック群データを生成し、生成した前記有効ブロック群データに基づいて、前記バーコード領域を特定する、請求項1に記載のバーコード領域検知装置。

請求項3

前記バーコード領域絞り込み部は、前記原画像における前記所定の方向の仮想線上に位置し、かつ、前記一方の軸方向に対して距離が近い前記有効ブロック群それぞれを統合して統合ブロックを示す統合ブロックデータを生成し、生成した前記統合ブロックデータに基づいて、前記バーコード領域を特定する、請求項2に記載のバーコード領域検知装置。

請求項4

前記バーコード領域絞り込み部は、前記他方の軸方向に対して隣接する前記統合ブロックそれぞれを統合してバーコード候補エリアを示すエリアデータを生成し、生成した前記エリアデータに基づいて、前記バーコード領域を特定する、請求項3に記載のバーコード領域検知装置。

請求項5

前記バーコード領域絞り込み部は、前記バーコード候補エリアのそれぞれについて、重心を算出し、前記バーコード候補エリアを前記重心を中心に所定の回転角度で回転させ、回転させるごとに前記バーコード候補エリアを囲む前記他方の軸方向に平行な2辺と前記一方の軸方向に平行な2辺とを有する四角形を特定して当該四角形の面積を算出し、算出した四角形の面積のうち最も面積の小さい四角形を特定し、特定した四角形の領域と対応する回転角度を示す情報をバーコードリーダに送信する、請求項4に記載のバーコード領域検知装置。

請求項6

前記バーコード領域絞り込み部は、前記合成画像データの生成に用いられた複数のブロックのすべてに対して、所定の方向の一線上に位置するブロックごとに前記他方の軸方向の座標を同一とする変換を行う、請求項1から請求項5の何れか一項に記載のバーコード領域検知装置。

請求項7

請求項1から請求項6の何れか一項に記載のバーコード領域検知装置と、前記バーコード領域検知装置が特定したバーコード領域のバーコード読み取るバーコードリーダと、を備えるバーコード読み取りステム

請求項8

原画像データが示す直交する二軸で表される二次元の原画像における一方の軸方向と他方の軸方向のそれぞれに対して画素を間引いた、間引き後画像データを生成することと、前記原画像を区分けした複数のブロックそれぞれにおけるエッジ強度と、前記間引き後画像を区分けした複数のブロックそれぞれにおけるエッジ強度とを算出することと、前記原画像におけるブロックのエッジ強度と、前記間引き後画像におけるブロックのエッジ強度とを各画像の対応する位置のブロック間でそれぞれ比較し、前記各画像の対応する位置において強いエッジ強度を示すブロックを選択し、前記各画像の対応する位置において選択した原画像または間引き後画像におけるブロックを有する画像を示す合成画像データと、前記原画像データとに基づいて、バーコードが存在するバーコード領域を特定することと、を含むバーコード領域検知方法

請求項9

コンピュータに、原画像データが示す直交する二軸で表される二次元の原画像における一方の軸方向と他方の軸方向のそれぞれに対して画素を間引いた、間引き後画像データを生成することと、前記原画像を区分けした複数のブロックそれぞれにおけるエッジ強度と、前記間引き後画像を区分けした複数のブロックそれぞれにおけるエッジ強度とを算出することと、前記原画像におけるブロックのエッジ強度と、前記間引き後画像におけるブロックのエッジ強度とを各画像の対応する位置のブロック間でそれぞれ比較し、前記各画像の対応する位置において強いエッジ強度を示すブロックを選択し、前記各画像の対応する位置において選択した原画像または間引き後画像におけるブロックを有する画像を示す合成画像データと、前記原画像データとに基づいて、バーコードが存在するバーコード領域を特定することと、を実行させるプログラム

技術分野

0001

本発明は、バーコード領域検知装置バーコード読み取りステム、バーコード領域検知方法及びプログラムに関する。

背景技術

0002

郵便物配送先区分する際、郵便物に付与された配送先の住所の情報を含むバーコードが利用される場合がある。
特許文献1には、関連する技術として、バーコードを読み取る技術が開示されている。

先行技術

0003

特開2010−140311号公報

発明が解決しようとする課題

0004

ところで、例えば、雑誌などの上にバーコードと同程度のサイズの余白があり、その余白の中にバーコードが印字されるような、複雑な背景の中にバーコードがある場合、バーコードの存在する領域を特定することは困難であった。

0005

本発明は、上記の課題を解決することのできるバーコード領域検知装置、バーコード読み取りシステム、バーコード領域検知方法及びプログラムを提供することを目的としている。

課題を解決するための手段

0006

上記目的を達成するために、本発明は、原画像データが示す直交する二軸で表される二次元原画像における一方の軸方向と他方の軸方向のそれぞれに対して画素間引いた、間引き後画像データを生成する画像間引き処理部と、前記原画像を区分けした複数のブロックそれぞれにおけるエッジ強度と、前記間引き後画像を区分けした複数のブロックそれぞれにおけるエッジ強度とを算出するエッジ強度算出部と、前記原画像におけるブロックのエッジ強度と、前記間引き後画像におけるブロックのエッジ強度とを各画像の対応する位置のブロック間でそれぞれ比較し、前記各画像の対応する位置において強いエッジ強度を示すブロックを選択し、前記各画像の対応する位置において選択した原画像または間引き後画像におけるブロックを有する画像を示す合成画像データと、前記原画像データとに基づいて、バーコードが存在するバーコード領域を特定するバーコード領域絞り込み部と、を備えるバーコード領域検知装置である。

0007

また、本発明は、上記のバーコード領域検知装置と、前記バーコード領域検知装置が特定したバーコード領域のバーコード読み取るバーコードリーダと、を備えるバーコード読み取りシステムである。

0008

また、本発明は、原画像データが示す直交する二軸で表される二次元の原画像における一方の軸方向と他方の軸方向のそれぞれに対して画素を間引いた、間引き後画像データを生成することと、前記原画像を区分けした複数のブロックそれぞれにおけるエッジ強度と、前記間引き後画像を区分けした複数のブロックそれぞれにおけるエッジ強度とを算出することと、前記原画像におけるブロックのエッジ強度と、前記間引き後画像におけるブロックのエッジ強度とを各画像の対応する位置のブロック間でそれぞれ比較し、前記各画像の対応する位置において強いエッジ強度を示すブロックを選択し、前記各画像の対応する位置において選択した原画像または間引き後画像におけるブロックを有する画像を示す合成画像データと、前記原画像データとに基づいて、バーコードが存在するバーコード領域を特定することと、を含むバーコード領域検知方法である。

0009

また、本発明は、コンピュータに、原画像データが示す直交する二軸で表される二次元の原画像における一方の軸方向と他方の軸方向のそれぞれに対して画素を間引いた、間引き後画像データを生成することと、前記原画像を区分けした複数のブロックそれぞれにおけるエッジ強度と、前記間引き後画像を区分けした複数のブロックそれぞれにおけるエッジ強度とを算出することと、前記原画像におけるブロックのエッジ強度と、前記間引き後画像におけるブロックのエッジ強度とを各画像の対応する位置のブロック間でそれぞれ比較し、前記各画像の対応する位置において強いエッジ強度を示すブロックを選択し、前記各画像の対応する位置において選択した原画像または間引き後画像におけるブロックを有する画像を示す合成画像データと、前記原画像データとに基づいて、バーコードが存在するバーコード領域を特定することと、を実行させるプログラムである。

発明の効果

0010

本発明によれば、バーコード領域検知装置は、複雑な背景の中にバーコードがある場合、バーコードの存在する領域を特定することは困難であった。

図面の簡単な説明

0011

本発明の第一の実施形態によるバーコード読み取りシステムの構成を示す図である。
本発明の第一の実施形態によるバーコード領域検知装置の構成を示す図である。
本発明の第一の実施形態においてエッジ画像データを生成する際の原画像上の所定の方向を説明するための図である。
本発明の第一の実施形態における最小値フィルタの処理を説明するための図である。
本発明の第一の実施形態における間引き処理を説明するための図である。
本発明の第一の実施形態によるバーコード領域絞込み部の構成を示す図である。
本発明の第一の実施形態におけるブロック変換画像を示す図である。
本発明の第一の実施形態における射影変換画像を示す図である。
本発明の第一の実施形態における外形矩形面積の算出を説明するための図である。
本発明の第一の実施形態によるバーコード読み取りシステムの処理フローを示す図である。
本発明の第一の実施形態によるバーコード領域検知装置の処理フローを示す第1の図である。
本発明の第一の実施形態によるバーコード領域検知装置の処理フローを示す第2の図である。
本発明の第一の実施形態におけるバーコードの例を示す図である。
本発明の第一の実施形態における統合ブロックの例を示す図である。
本発明の第一の実施形態において8つのベクトルのそれぞれに対して検知したエリアの例を示す図である。
本発明の第一の実施形態における原画像の例を示す図である。
本発明の第一の実施形態において検知したバーコード領域の例を示す図である。
本発明の第二の実施形態におけるバーコード領域検知装置の最小構成を示す図である。

実施例

0012

<第一の実施形態>
本発明の第一の実施形態によるバーコード読み取りシステムについて説明する。
本発明の第一の実施形態によるバーコード読み取りシステム1は、図1に示すように、搬送制御装置200と、画像取得カメラ300と、バーコード領域検知装置400と、バーコードリーダ500と、区分先決定機600と、を備える。

0013

搬送制御装置200は、郵便物100を搬送する。なお、郵便物100には、配送先の住所の情報を含んだバーコードが付与されている。

0014

画像取得カメラ300は、搬送中の郵便物100の濃淡画像を示す濃淡画像データを取得する。
画像取得カメラ300が取得した濃淡画像データは、例えば、0〜255の256階調濃淡を示す複数の画素で構成される画像を示す画像データである。階調は、0が黒を示し、数値が255に近づくにつれて画像が明るくなる(白に近づく)ことを示す。
なお、画像取得カメラ300が取得した濃淡画像データは、原画像を示す原画像データである。以下、画像取得カメラ300が取得した濃淡画像データを「原画像データ」と記載する。

0015

バーコード領域検知装置400は、郵便物100の原画像データに基づいてバーコードが存在するバーコード領域を検知する。

0016

バーコードリーダ500は、バーコード領域検知装置400が検知したバーコード領域においてバーコードを読み取る。

0017

区分先決定機600は、バーコードリーダ500が読み取ったバーコードが示す配送先の住所に応じて、郵便物100の配送先ごとに設けられた複数の容器700の中から1つの容器700を決定する。

0018

次に、本発明の第一の実施形態によるバーコード領域検知装置400について説明する。
本発明の第一の実施形態によるバーコード領域検知装置400は、図2に示すように、エッジ画像生成部402と、直交エッジ画像生成部403と、ブロック平均処理部404と、ブロック差分処理部405と、最小値フィルタ部406と、処理回数判定部407と、画像間引き処理部430と、バーコード領域絞り込み部401と、繰り返し判定部420と、バーコード領域合成部440と、領域座標出力部450と、を備える。

0019

エッジ画像生成部402は、画像取得カメラ300から原画像データを取得する。
エッジ画像生成部402は、取得した原画像データが示す原画像における注目画素a(i,j)とその注目画素a(i,j)に隣接する8つの画素の合計9つの画素について、隣接する8つの画素のうちの2つを結ぶ複数のベクトルのうち注目画像a(i,j)の一部を通過する8つのベクトル1〜ベクトル8のそれぞれに対してエッジ画像を示すエッジ画像データを生成する。なお、エッジ画像とは、次に示すように、階調の差に基づいて生成される画像のことである。
8つのベクトルは、例えば、図3に示すように、二次元の原画像上の注目画素a(i,j)を中心とする8つの方向(原画像における所定の方向)を向くベクトルである。具体的には、8つのベクトルは、画素a(i−1,j)から画素a(i+1,j)へ向かうベクトル1、画素a(i−1,j)から画素a(i+1,j+1)へ向かうベクトル2、画素a(i−1,j−1)から画素a(i+1,j+1)へ向かうベクトル3、画素a(i−1,j−1)から画素a(i,j+1)へ向かうベクトル4、画素a(i,j−1)から画素a(i,j+1)へ向かうベクトル5、画素a(i+1,j−1)から画素a(i,j+1)へ向かうベクトル6、画素a(i+1,j−1)から画素a(i−1,j+1)へ向かうベクトル7、画素a(i+1,j)から画素a(i−1,j+1)へ向かうベクトル8である。
エッジ画像生成部402は、図3に示すベクトル1に対してエッジ画像データを生成する場合、「画素a(i−1,j)の階調と画素a(i+1,j)の階調との差の絶対値」を算出し、算出した絶対値をベクトル1に対するエッジ画像における画素a(i,j)の階調とする。具体的には、画素a(i−1,j)の階調が203であり画素a(i+1,j)の階調が105である場合、エッジ画像生成部402は、差の絶対値として98を算出する。同様に、エッジ画像生成部402は、原画像におけるすべての画素を注目画素a(i,j)として、上述の絶対値を算出し、すべての画素に対する絶対値(階調の差)を算出し、ベクトル1に対するエッジ画像データを生成する。なお、階調の差が大きいということは、白と黒の差が大きい、すなわち、エッジがはっきりし、エッジ強度が強いことを意味する。
エッジ画像生成部402は、ベクトル1に対する上述のエッジ画像データの生成と同様に、ベクトル2〜ベクトル8のそれぞれに対してエッジ画像データを生成する。

0020

直交エッジ画像生成部403は、エッジ画像生成部402が生成した8つのエッジ画像が示すエッジ画像のそれぞれに対して直交する方向のエッジ画像(以下、「直交エッジ画像」と記載)を示す直交エッジ画像データを生成する。

0021

ブロック平均処理部404は、エッジ画像データにおいて8×8画素を1ブロックとし、1ブロックごとに階調の平均値を求める処理を行い、階調が平均化された複数のブロックで構成される画像(以下、「ブロック平均画像」と記載)を示すブロック平均画像データを生成する。なお、ブロック平均処理部404がこの処理を行うことにより、1ブロックは、平均化された階調を有する1画素で示される。そのため、ブロック平均画像全体のサイズは、縦方向及び横方向のそれぞれについて8分の1に縮小される。

0022

また、ブロック平均処理部404は、直交エッジ画像データにおいて8×8画素を1ブロックとし、1ブロックごとに階調の平均値を求める処理を行い、階調が平均化された複数のブロックで構成される画像(以下、「直交ブロック平均画像」と記載)を示す直交ブロック平均画像データを生成する。なお、ブロック平均処理部404がこの処理を行うことにより、1ブロックは、平均化された階調を有する1画素で示される。そのため、直交ブロック平均画像全体のサイズは、縦方向及び横方向のそれぞれについて8分の1に縮小される。

0023

ブロック差分処理部405(エッジ強度算出部)は、ブロック平均画像データと直交ブロック平均画像データのそれぞれが示す画像どうしの階調の差分を算出して、その階調の差分を示す画像(以下、「ブロック平均差分画像」と記載)を示すブロック平均差分画像データを生成する。
なお、階調の差分は、白と黒の差、すなわち、エッジ強度を示す。

0024

最小値フィルタ部406は、ブロック平均差分画像データが示すブロック平均差分画像に対して、積分を用いて階調を平滑化する一般的に最小値フィルタと呼ばれる処理を行う。
例えば、最小値フィルタ部406は、ブロック平均差分画像データを3×3のブロックを示す3×3ブロックデータごとに分割する。最小値フィルタ部406は、3×3ブロックデータのそれぞれに対して、最小値フィルタの処理を行う。具体的には、最小値フィルタ部406は、図4(a)に示す数値の階調の差分(エッジ強度)を有する3×3ブロックデータに対して最小値フィルタの処理を行う場合、図4(b)に示すように、3×3のブロックの中心のブロックに対して、隣接する8つのブロックそれぞれが示すエッジ強度のうち最小のエッジ強度(図4に示すエッジ強度の場合、ブロック1のエッジ強度30)を適用する。したがって、最小値フィルタ部406が行う処理は、エッジ強度の強いブロックがエッジ強度の弱いブロックに囲まれて孤立している場合に、エッジ強度の強いブロックを、エッジ強度の弱いブロックに置き替えて、3×3ブロックデータを生成する処理である。

0025

処理回数判定部407は、エッジ画像生成部402、直交エッジ画像生成部403、ブロック平均処理部404、ブロック差分処理部405、最小値フィルタ部406のそれぞれが行った画像データ処理が1回目であるか2回目であるかを判定する。

0026

画像間引き処理部430は、処理回数判定部407が画像データ処理が1回目であると判定した場合、原画像データが示す原画像の縦方向と横方向のそれぞれに対して画素を間引き、間引き後画像を示す間引き後画像データを生成する。
具体的には、画像間引き処理部430は、処理回数判定部407が画像データ処理が1回目であると判定した場合、例えば、図5(a)に示す原画像における画素を縦方向に2分の1間引き、横方向に2分の1間引いて、原画像において残った画素を最も近い画素どうしを結合させて図5(b)に示す間引き後画像を示す間引き後画像データを生成する。
なお、本発明の実施形態において「間引く」とは、所定のアルゴリズムに基づいて決定した画素それぞれに対して画像データ処理を行わないことをいう。また、本発明の実施形態において、「間引く」画素は、画像において1つの行を構成する画素の集合体、または、画像において1つの列を構成する画素の集合体の単位で所定のアルゴリズムに基づいて決定される。

0027

バーコード領域絞り込み部401は、図6に示すように、画像合成部408と、二値化部409と、射影変換部410と、有効ブロック群生成部411と、統合ブロック生成部412と、エリア生成部413と、最小矩形探索部414と、領域統合判断部415と、分離領域結合部416と、画像サイズ復元部417と、領域座標取得部418と、領域座標評価部419と、を備える。

0028

画像合成部408は、処理回数判定部407が画像データ処理が2回目であると判定した場合、最小値フィルタ部406が1回目に生成した画像データと2回目に生成した画像データとにおいて対応する各ブロックにおけるエッジ強度どうしを比較する。
画像合成部408は、エッジ強度の比較結果に基づいて、エッジ強度の強いブロックを選択し、選択したブロックを用いて合成画像を示す合成画像データを生成する。

0029

二値化部409は、画像合成部408が生成した合成画像が示す各ブロックにおけるエッジ強度と所定のしきい値が示すエッジ強度とを比較する。
二値化部409は、合成画像におけるブロックが示すエッジ強度がしきい値が示すエッジ強度以上であるか否かを判定する。
二値化部409は、合成画像におけるブロックが示すエッジ強度がしきい値が示すエッジ強度以上であると判定した場合、合成画像におけるそのブロックをエッジ強度が強いことを示す有効ブロック“1(有効ブロック)”に変換する。
また、二値化部409は、合成画像におけるブロックが示すエッジ強度がしきい値が示すエッジ強度未満であると判定した場合、合成画像におけるそのブロックをエッジ強度が弱いことを示す無効ブロック“0(無効ブロック)”に変換する。
二値化部409は、合成画像における各ブロックを有効ブロックまたは無効ブロックに変換して、ブロック変換画像を示すブロック変換画像データを生成する。
例えば、二値化部409は、ベクトル2について、図7に示すブロック変換画像を示すブロック変換画像データを生成する。
なお、図7ではベクトル2についてのブロック変換画像であることを明確にするために、ベクトル2の方向の一直線上位置するブロックを有効ブロックまたは無効ブロックに変換した例を示している。しかしながら、実際には、図7に示すブロック変換画像において、白い四角で示されたブロックについても“1(有効ブロック)”または“0(無効ブロック)”の何れかに変換されている。

0030

射影変換部410は、二値化部409が生成したブロック変換画像データを、エッジ画像生成部402が生成したエッジ画像に対応する8つのベクトル1〜ベクトル8のうち対象としている1つのベクトルが示す方向と、原画像データが示す直交する二軸で表される二次元の原画像における一方の軸方向と他方の軸方向とに基づいて射影変換し、射影変換画像を示す射影変換画像データを生成する。

0031

具体的には、射影変換部410は、二値化部409が生成したブロック変換画像データを、画像取得カメラ300が取得した原画像において基準となる方向(例えば、原画像におけるX軸方向で示される横方向(原画像における一方の軸方向)または原画像におけるY軸方向で示される縦方向(原画像における他方の軸方向))に対して射影変換し、射影変換画像を示す射影変換画像データを生成する。
例えば、射影変換部410は、図7で示したブロック変換画像の複数のブロックに対して、図8に示すように、所定の方向の一線上に位置するブロックごとにY軸方向の座標を同一とする変換を行った画像である射影変換画像を示す射影変換画像データを生成する。
なお、図8において、斜線が付与されたブロックは、図7で示したブロック変換画像において存在しないブロックであり、画像データ処理の対象としないブロックである。

0032

有効ブロック群生成部411は、射影変換部410が生成した射影変換画像データをX軸方向に走査し、隣接する有効ブロックを示す有効ブロックデータどうしを統合して有効ブロック群を示す有効ブロック群データを生成する。

0033

統合ブロック生成部412は、同一の走査線上にありX軸方向の距離が近い有効ブロック群データどうしを統合して統合ブロックを示す統合ブロックデータを生成する。

0034

エリア生成部413は、Y軸方向に隣接する統合ブロックどうしを接続してエリアを生成する。

0035

最小矩形探索部414は、エリア生成部413が生成したすべてのエリアのそれぞれについて、エリアのX軸方向の最小座標と最大座標、Y軸方向の最小座標と最大座標を四角形頂点とする外接矩形の面積を算出する。
例えば、図9に示すエリアAである場合、最小矩形探索部414は、外接矩形R1の面積を「ΔX×ΔY」と算出する。

0036

最小矩形探索部414は、エリア生成部413が生成したすべてのエリアに対して重心を算出する。
最小矩形探索部414は、すべてのエリアそれぞれに対して、算出した重心を中心としてエリアを1度ずつ回転させ、エリアのX軸方向の最小座標と最大座標、Y軸方向の最小座標と最大座標を四角形の頂点とする外接矩形の面積を算出する。
最小矩形探索部414は、すべてのエリアそれぞれに対して、算出した外接矩形の面積のうち最も小さい面積となる外形矩形の回転角度とそのときの外接矩形の領域とを特定する。

0037

領域統合判断部415は、最小矩形探索部414が生成したすべての最小外接矩形領域に対して、4つの条件、すなわち、任意の2つの最小外接矩形領域どうしの回転角度の差が一定の差未満であることと、それら2つの最小外接矩形領域の中心を結ぶ直線の傾きとそれら2つの最小外接矩形領域に対応するそれぞれの回転角度との差が一定の差未満であることと、それら2つの最小外接矩形領域の間の距離が一定の距離未満であることと、それら2つの最小外接矩形領域の幅の差が一定の差未満であることとがすべて満たされた場合、それら2つの最小外接矩形領域が元々1つの領域であり画像処理過程で2つに分離したと判断する。

0038

分離領域結合部416は、領域統合判断部415が、2つの最小外接矩形領域が元々1つの領域であり画像処理の過程で2つに分離したと判断した場合に、2つの最小外接矩形領域を結合した結合領域を示す結合領域データを生成する。

0039

画像サイズ復元部417は、結合領域データが示す結合領域に含まれるブロックのサイズ原画像が示すブロックのサイズに変更して復元結合領域を示す復元結合領域データを生成する。

0040

領域座標取得部418は、画像サイズ復元部417が生成した復元結合領域データが示す復元結合領域の面積を取得する。

0041

領域座標評価部419は、領域座標取得部418が取得した復元結合領域の面積と想定されるバーコードの面積とを比較し、面積の差が所定の面積の差の範囲内にある場合に、その復元結合領域をバーコードが存在する領域(以下、「バーコード領域」と記載)と判定する。

0042

繰り返し判定部420は、エッジ画像生成部402、直交エッジ画像生成部403、ブロック平均処理部404、ブロック差分処理部405、最小値フィルタ部406、処理回数判定部407、画像間引き処理部430、画像合成部408、二値化部409、射影変換部410、有効ブロック群生成部411、統合ブロック生成部412、エリア生成部413、最小矩形探索部414、領域統合判断部415、分離領域結合部416、画像サイズ復元部417、領域座標取得部418、領域座標評価部419のそれぞれが行う処理を8つのベクトル1〜ベクトル8のそれぞれに対して繰り返す制御を行う。

0043

バーコード領域合成部440は、8つのベクトル1〜ベクトル8のそれぞれに対してエッジ画像生成部402、直交エッジ画像生成部403、ブロック平均処理部404、ブロック差分処理部405、最小値フィルタ部406、処理回数判定部407、画像間引き処理部430、画像合成部408、二値化部409、射影変換部410、有効ブロック群生成部411、統合ブロック生成部412、エリア生成部413、最小矩形探索部414、領域統合判断部415、分離領域結合部416、画像サイズ復元部417、領域座標取得部418、領域座標評価部419のそれぞれが行う処理により得られた8つのバーコード領域どうしを比較する。
バーコード領域合成部440は、比較した結果、バーコード領域が他のバーコード領域を包含している場合には、包含されているバーコード領域を棄却する。

0044

領域座標出力部450は、バーコード領域合成部440が内包されたバーコード領域を棄却した後のバーコード領域と、対応する回転角度とをバーコードリーダ500に送信する。

0045

次に、本発明の第一の実施形態によるバーコード読み取りシステム1の処理について説明する。
ここでは、図10に示すバーコード読み取りシステム1の処理フローについて説明する。
ユーザは、郵便物100の配送手配する。
配送業者は、バーコード読み取りシステム1に郵便物100を供給する。

0046

搬送制御装置200は、図1で示した点線で描かれた矢印Uの方向に郵便物100を搬送する(ステップS1)。

0047

画像取得カメラ300は、搬送制御装置200が郵便物100を搬送している間に、郵便物100の表面の画像を取得する(ステップS2)。
画像取得カメラ300がステップS2の処理により取得した画像は、原画像である。

0048

バーコード領域検知装置400は、画像取得カメラ300が取得した原画像を示す原画像データを画像取得カメラ300から取得する。
バーコード領域検知装置400は、取得した原画像データを解析する(ステップS3)。
バーコード領域検知装置400は、解析結果に基づいて、バーコード領域の候補を特定する(ステップS4)。
バーコード領域検知装置400は、特定した1つ以上のバーコード領域の候補の位置を含むバーコード領域情報をバーコードリーダ500に送信する。

0049

バーコードリーダ500は、バーコード領域検知装置400からバーコード領域情報を受信する。
バーコードリーダ500は、受信したバーコード領域情報に基づいてバーコード領域の候補のそれぞれに対してバーコードを読み取る処理を行う(ステップS5)。
バーコードリーダ500は、読み取ることのできたバーコードに含まれる住所の情報を特定する(ステップS6)。
バーコードリーダ500は、特定した住所を示す住所情報を区分先決定機600に送信する。

0050

区分先決定機600は、バーコードリーダ500から住所情報を受信する。
区分先決定機600は、区分先別に分かれた複数の容器700の中から受信した住所の情報に応じた容器700を決定する(ステップS7)。

0051

バーコード読み取りシステム1において、搬送制御装置200、画像取得カメラ300、バーコード領域検知装置400、バーコードリーダ500、区分先決定機600のそれぞれが行う一連の処理が、郵便物100が複数の容器700のうち最初の容器700に到達するまでの間に完了することにより、郵便物100を配送先の住所に応じた容器700に区分することができる。

0052

次に、本発明の第一の実施形態によるバーコード領域検知装置400の処理について説明する。
ここでは、図11A図11Bに示すバーコード領域検知装置400の処理フローについて説明する。

0053

エッジ画像生成部402は、画像取得カメラ300から原画像を取得する。
そして、取得した原画像データが示す原画像における注目画素a(i,j)とその注目画素a(i,j)に隣接する8つの画素の合計9つの画素について、隣接する8つの画素のうちの2つを結ぶ複数のベクトルのうち注目画像a(i,j)の一部を通過する8つのベクトル1〜ベクトル8のうちの1つに対してエッジ画像データを生成する(ステップS11)。

0054

具体例として、図3で示したベクトル1に対してエッジ画像を生成する場合について説明する。
エッジ画像生成部402は、画像取得カメラ300から原画像データを取得する。
エッジ画像生成部402は、取得した原画像データが示す原画像における注目画素a(i,j)とその注目画素a(i,j)に隣接する8つの画素の合計9つの画素について、隣接する8つの画素のうちの2つを結ぶ複数のベクトルのうち注目画像a(i,j)の一部を通過する8つのベクトル1〜ベクトル8のそれぞれに対してエッジ画像データを生成する。
エッジ画像生成部402は、図3で示したベクトル1に対してエッジ画像を示すエッジ画像データを生成する場合、「画素a(i−1,j)の階調と画素a(i+1,j)の階調との差分の絶対値」を算出し、算出した絶対値をベクトル1に対するエッジ画像における画素a(i,j)の階調とする。具体的には、画素a(i−1,j)の階調が203であり画素a(i+1,j)の階調が105である場合、エッジ画像生成部402は、差の絶対値として98を算出する。同様に、エッジ画像生成部402は、原画像におけるすべての画素を注目画素a(i,j)として、上述の絶対値を算出し、すべての画素に対する絶対値(階調の差分)を算出し、ベクトル1に対するエッジ画像データを生成する。

0055

エッジ画像生成部402は、生成したエッジ画像データをブロック平均処理部404に送信する。

0056

直交エッジ画像生成部403は、エッジ画像生成部402が生成したエッジ画像データが示すエッジ画像に直交する画像である直交エッジ画像を示す直交エッジ画像データを生成する。(ステップS12)。
具体的には、直交エッジ画像生成部403は、上述のベクトル1に直交するベクトルにおける始点と終点の画素どうしで階調の差分の絶対値を求め、エッジ画像データと同様に直交エッジ画像データを生成する。

0057

直交エッジ画像生成部403は、生成した直交エッジ画像をブロック平均処理部404に送信する。

0058

ブロック平均処理部404は、エッジ画像生成部402からエッジ画像を受信する。
ブロック平均処理部404は、エッジ画像データにおいて8×8画素を1ブロックとし、1ブロックごとの階調の平均値を求める処理を行い、複数のブロック平均画像を示すブロック平均画像データを生成する(ステップS13)。なお、ブロック平均処理部404は、8×8画素から成る1ブロックの階調の平均値を1画素として生成する。ブロック平均処理部404が行うこの処理により、ブロック平均画像全体のサイズは、縦方向及び横方向のそれぞれについて8分の1に縮小される。
ここで、8×8画素のサイズは、バーコードの高さを超えず、バーコードの複数のバーを含むサイズである。バーコードの一例を図12に示す。図12において、符号Hは、バーコードの高さを示している。また、符号Wは、バーの幅を示している。
なお、バーコードのサイズは未知ではあるが、画像上のバーコードの大きさはある程度想定できる。そのため、複数のバーを部分的に含むようなブロックのサイズを決定することができる。ここでは、ブロックのサイズの一例として8×8画素としている。

0059

ブロック平均処理部404は、生成したブロック平均値画像データをブロック差分処理部405に送信する。

0060

また、ブロック平均処理部404は、直交エッジ画像生成部403から直交エッジ画像データを受信する。

0061

また、ブロック平均処理部404は、直交エッジ画像データにおいて8×8画素を1ブロックとし、1ブロックごとの階調の平均値を求める処理を行い、階調が平均化された複数の直交ブロック平均画像を示す直交ブロック平均画像データを生成する(ステップS14)。なお、この処理によりブロック平均画像全体のサイズは、縦方向及び横方向のそれぞれについて8分の1に縮小される。なお、ブロック平均処理部404が行うこの処理により、直交ブロック平均画像全体のサイズは、縦方向及び横方向のそれぞれについて8分の1に縮小される。

0062

ブロック平均処理部404は、生成した直交ブロック平均画像データをブロック差分処理部405に送信する。

0063

ブロック差分処理部405は、ブロック平均処理部404からブロック平均画像データと直交ブロック平均画像データのそれぞれを受信する。

0064

ブロック差分処理部405は、ブロック平均画像データと直交ブロック平均画像データのそれぞれが示す画像どうしの階調の差分を算出して、その差分を示すブロック平均差分画像を示すブロック平均差分画像データを生成する(ステップS15)。
なお、ブロック差分処理部405が生成したブロック平均差分画像データは、1つのブロックにおいてバーコードのバーの外形を多く含む場合に階調の差分の大きい(エッジ強度の強い)ブロックが連続する画像のデータとなる。また、ブロック差分処理部405が生成したブロック平均差分画像データは、1つのブロックにおいて文字のようにさまざまな方向にエッジを持つ場合に階調の差分の大きい(エッジ強度の強い)ブロックが不連続な画像のデータとなる。また、ブロック差分処理部405が生成したブロック平均差分画像データは、どの方向にも強いエッジを持たない階調の差分が平坦な場合に階調の差分の小さいブロックが連続する画像のデータとなる。

0065

ブロック差分処理部405は、生成したブロック平均差分画像データを最小値フィルタ部406に送信する。

0066

最小値フィルタ部406は、ブロック差分処理部405からブロック平均差分画像データを受信する。

0067

最小値フィルタ部406は、ブロック平均差分画像データが示すブロック平均差分画像に対して、最小値フィルタの処理を行う(ステップS16)。
具体的には、最小値フィルタ部406は、ブロック平均差分画像データを3×3のブロックを示す3×3ブロックデータごとに分割する。最小値フィルタ部406は、3×3ブロックデータのそれぞれに対して、最小値フィルタの処理を行う。具体的には、最小値フィルタ部406は、図4(a)で示した数値の階調の差分(エッジ強度)を有する3×3ブロックデータに対して最小値フィルタの処理を行う場合、図4(b)で示したように、3×3のブロックの中心のブロックに対して、隣接する8つのブロックそれぞれが示すエッジ強度のうち最小のエッジ強度(図4で示したエッジ強度の場合、ブロック1のエッジ強度30)を適用する。したがって、最小値フィルタ部406が行う処理は、エッジ強度の強いブロックがエッジ強度の弱いブロックに囲まれて孤立している場合に、エッジ強度の強いブロックを、エッジ強度の弱いブロックに置き替えて、3×3ブロックデータを生成する処理である。

0068

処理回数判定部407は、エッジ画像生成部402、直交エッジ画像生成部403、ブロック平均処理部404、ブロック差分処理部405、最小値フィルタ部406のそれぞれが行った画像データ処理が1回目であるか2回目であるかを判定する(ステップS17)。

0069

画像間引き処理部430は、処理回数判定部407が処理データ処理が1回目であると判定した場合(ステップS17において“1回目”)、原画像データが示す原画像の縦方向と横方向のそれぞれに対して画素を間引き、間引き後画像を示す間引き後画像データを生成する(ステップS18)。
具体的には、画像間引き処理部430は、処理回数判定部407が画像データ処理が1回目であると判定した場合、例えば、図5(a)で示した原画像における画素を縦方向に2分の1間引き、横方向に2分の1間引いて、原画像において残った画素を最も近い画素どうしを結合させて図5(b)で示した間引き後画像を示す間引き後画像データを生成する。
画像間引き処理部430は、ステップS11の処理に戻す。

0070

エッジ画像生成部402、直交エッジ画像生成部403、ブロック平均処理部404、ブロック差分処理部405、最小値フィルタ部406のそれぞれは、画像間引き処理部430が生成した間引き後画像データに対して、画像取得カメラ300が取得した原画像を示す原画像データの場合と同様の処理を行う。

0071

画像合成部408は、処理回数判定部407が画像データ処理が2回目であると判定した場合(ステップS17において“2回目”)、最小値フィルタ部406が1回目に生成した画像データと2回目に生成した画像データとにおいて対応する各ブロックにおけるエッジ強度どうしを比較する。
画像合成部408は、エッジ強度の比較結果に基づいて、エッジ強度の強いブロックを選択し、選択したブロックを用いて合成画像を示す合成画像データを生成する(ステップS19)。
画像合成部408は、生成した合成画像データを二値化部409に送信する。

0072

ここで、バーコード領域検知装置400が行うステップS17〜ステップS19の処理は、バーコードにおいて最も幅の狭いナローバーと最も幅の広いワイドバーの両方に対応するための処理である。
バーコードは、バー幅の異なるバーで構成されている。最も幅の狭いバーと最も幅の広いバーとでは、バーコードの規格にもよるが、バーの幅は約2〜4倍異なる。上記のステップS11〜ステップS16の処理は、最も幅の狭いバーと最も幅の広いバーの両方に対して同時に有効な処理ではない。そこで、画像解像度にもよるが、例えば、原画像を使用して最も幅の狭いバーに対応し、間引き後画像を使用して最も幅の広いバーに対応するためにステップS17〜ステップS19の処理を行っている。

0073

なお、2回目に生成したブロック平均差分画像データは、縦方向と横方向のそれぞれに2分の1ずつ間引きされた画像をもとに生成されている。そのため、画像合成部408は、ステップS19の処理においてブロック平均差分画像データどうしを合成する場合、2回目に生成したブロック平均差分画像データを縦方向と横方向のそれぞれに2倍に拡大して、1回目に生成したブロック平均差分画像データと同一のサイズにした後にブロック平均差分画像データどうしを比較し選択して合成画像を生成する。画像合成部408が生成した合成画像は、バーコードにおける最も幅の狭いバーと最も幅の広いバーの両方に対して階調の差分が大きい(エッジ強度の強い)ことを示す合成画像である。

0074

二値化部409は、画像合成部408から合成画像を受信する。
二値化部409は、画像合成部408が生成した合成画像が示す各ブロックにおけるエッジ強度と所定のしきい値が示すエッジ強度とを比較する。

0075

二値化部409は、合成画像におけるブロックが示すエッジ強度がしきい値が示すエッジ強度以上であるか否かを判定する。
二値化部409は、合成画像におけるブロックが示すエッジ強度がしきい値が示すエッジ強度以上であると判定した場合、合成画像におけるそのブロックをエッジ強度が強いことを示す有効ブロック“1(有効ブロック)”に変換する。
また、二値化部409は、合成画像におけるブロックが示すエッジ強度がしきい値が示すエッジ強度未満であると判定した場合、合成画像におけるそのブロックをエッジ強度が弱いことを示す無効ブロック“0(無効ブロック)”に変換する。

0076

二値化部409は、合成画像における各ブロックを有効ブロックまたは無効ブロックに変換して、ブロック変換画像を示すブロック変換画像データを生成する(ステップS20)。
例えば、二値化部409は、ベクトル2について、図7で示したブロック変換画像を示すブロック変換画像データを生成する。
二値化部409は、生成したブロック変換画像データを射影変換部410に送信する。

0077

射影変換部410は、二値化部409からブロック変換画像データを受信する。
射影変換部410は、二値化部409が生成したブロック変換画像データを、エッジ画像生成部402が生成したエッジ画像に対応する8つのベクトル1〜ベクトル8のうち対象としている1つのベクトルが示す方向と、原画像データが示す直交する二軸で表される二次元の原画像における一方の軸方向と他方の軸方向とに基づいて射影変換し、射影変換画像を示す射影変換画像データを生成する(ステップS21)。

0078

具体的には、射影変換部410は、二値化部409が生成したブロック変換画像データを、画像取得カメラ300が取得した原画像において基準となる方向(例えば、原画像におけるX軸方向で示される横方向(原画像における一方の軸方向)または原画像におけるY軸方向で示される縦方向(原画像における他方の軸方向))に対して射影変換し、射影変換画像を示す射影変換画像データを生成する。
例えば、射影変換部410は、図7で示したブロック変換画像の複数のブロックに対して、図8で示したように、所定の方向の一線上に位置するブロックごとにY軸方向の座標を同一とする変換を行った画像である射影変換画像を示す射影変換画像データを生成する。

0079

射影変換部410は、生成した射影変換画像データを有効ブロック群生成部411に送信する。

0080

有効ブロック群生成部411は、射影変換部410から射影変換画像データを受信する。

0081

有効ブロック群生成部411は、射影変換部410が生成した射影変換画像データをX軸方向に走査し、隣接する有効ブロックを示す有効ブロックデータどうしを統合して有効ブロック群を示す有効ブロック群データを生成する(ステップS22)。

0082

例えば、有効ブロック群生成部411は、有効ブロックとなったブロックを縦横4方向に隣接するという条件で接続して領域を形成する。その際、図3で示したベクトル1またはベクトル5のように、画像の走査方向(X軸方向)または副走査方向(Y軸方向)に一致している方向には、プログラムなどで処理を行いやすい。しかしながら、その他の方向に関しては、後段の処理を簡単にするために、以下のような画像の射影変換を行う。
有効ブロック群生成部411は、例えば、図3で示したベクトル2の方向について、注目ブロック図7で示したように斜め下方に向かって並んで存在する。
ベクトル2の方向に基づいて射影変換された画像が図8で示した画像である。
有効ブロック群生成部411は、射影変換後の画像上で、同じ走査線上にある有効ブロックを接続するため、図8で示した注目ブロックの行において隣接する有効ブロック同士を接続して1つの有効ブロック群とした有効ブロック群データを生成する。

0083

有効ブロック群生成部411は、生成したすべての有効ブロック群データをエリア生成部413に送信する。

0084

統合ブロック生成部412は、有効ブロック群生成部411からすべての有効ブロック群データを受信する。

0085

統合ブロック生成部412は、同一の走査線上にありX軸方向の距離が近い有効ブロック群データどうしを統合して統合ブロックを示す統合ブロックデータを生成する(ステップS23)。
例えば、図8で示した射影変換画像の場合、統合ブロック生成部412は、同一の行で距離が近い有効ブロック群どうしである有効ブロック群aと有効ブロック群bのデータを統合して統合ブロックを示す統合ブロックデータを生成する。
統合ブロック生成部412は、統合ブロックデータを生成する処理をすべての行について行う。

0086

統合ブロック生成部412は、生成したすべての統合ブロックデータをエリア生成部413に送信する。

0087

エリア生成部413は、統合ブロック生成部412からすべての統合ブロックデータを受信する。

0088

エリア生成部413は、Y軸方向に隣接する統合ブロックの統合ブロックデータどうしを統合してエリアを示すエリアデータを生成する(ステップS24)。

0089

例えば、統合ブロック生成部412が統合ブロックを生成する処理を行い図13に示す統合ブロックを示す統合ブロックデータが生成された場合、エリア生成部413は、Y軸方向に隣接する統合ブロックを示す統合ブロックデータどうしを統合してエリア1を示すエリア1データとエリア2を示すエリア2データのそれぞれを生成する。
なお、エリア生成部413が行うこの処理は、一種ラベリング処理である。

0090

エリア生成部413は、生成したすべてのエリアデータを最小矩形探索部414に送信する。

0091

最小矩形探索部414は、エリア生成部413からすべてのエリアデータを受信する。

0092

最小矩形探索部414は、エリア生成部413から受信したすべてのエリアデータが示すエリアのそれぞれについて、エリアのX軸方向の最小座標と最大座標、Y軸方向の最小座標と最大座標を四角形の頂点とする外接矩形の面積を算出する。
例えば、図9に示すエリアAである場合、最小矩形探索部414は、外接矩形R1の面積を「ΔX×ΔY」と算出する。

0093

最小矩形探索部414は、エリア生成部413が生成したすべてのエリアに対して重心を算出する。
最小矩形探索部414は、すべてのエリアそれぞれに対して、算出した重心を中心としてエリアを例えば−45度〜+45度の範囲で1度ずつ回転させ、エリアのX軸方向の最小座標と最大座標、Y軸方向の最小座標と最大座標を四角形の頂点とする外接矩形の面積を算出する。
最小矩形探索部414は、すべてのエリアそれぞれに対して、算出した外接矩形の面積のうち最も小さい面積となる外形矩形の回転角度とそのときの外接矩形の領域とを特定する(ステップS25)。
なお、最小矩形探索部414は、最小矩形の傾きが「8方向の範囲角度(180度÷8)+誤差」の範囲内すなわち対象とするベクトルが示す向きに対して−15度〜+15度程度であった場合、その回転角度はバーコード領域を特定する回転角度であると判定する。
また、最小矩形探索部414は、回転角度が対象とするベクトルが示す向きに対して−15度〜+15度程度の範囲から外れた場合、その回転角度はバーコード領域を特定する回転角度ではないと判定する。

0094

領域統合判断部415は、最小矩形探索部414が生成したすべての最小外接矩形領域のそれぞれに対して、4つの条件のすべてが満足された場合、それら2つの最小外接矩形領域が元々1つの領域であり画像処理の過程で2つに分離したと判断する(ステップS26)。

0095

4つの条件の1つ目は、任意の2つの最小外接矩形領域どうしの回転角度の差が一定の差未満(例えば、5度未満)であることである。
この4つの条件の1つ目は、結合すべき領域の回転角度は同じ方向(平行)であることを示す。

0096

4つの条件の2つ目は、2つの最小外接矩形領域の中心を結ぶ直線の傾きと、それら2つの最小外接矩形領域に対応するそれぞれの回転角度との差が一定の差未満(例えば、5度未満)であることである。
この4つの条件の2つ目は、1つ目の条件を満たしていても、隣接する別のバーコードのように平行であるが段違いである場合に結合しないようにする条件である。

0097

4つの条件の3つ目は、2つの最小外接矩形領域の間の距離が一定の距離未満(例えば、8ブロック未満)であることである。
この4つの条件の3つ目は、近隣する雑音領域を結合しないように、所定以上の距離の差がある場合には結合しないようにする条件である。

0098

4つの条件の4つ目は、2つの最小外接矩形領域の幅の差が一定の差未満(例えば、4ブロック未満)であることである。
この4つの条件の4つ目は、同一のバーコードでないものどうしを結合しないようにするための条件である。

0099

分離領域結合部416は、領域統合判断部415が、2つの最小外接矩形領域が元々1つの領域であり画像処理の過程で2つに分離したと判断した場合に、2つの最小外接矩形領域を結合した結合領域を示す結合領域データを生成する(ステップS27)。

0100

分離領域結合部416は、生成した結合領域データを画像サイズ復元部417に送信する。

0101

画像サイズ復元部417は、分離領域結合部416から結合領域を受信する。
画像サイズ復元部417は、結合領域データが示す結合領域に含まれるブロックのサイズ原画像が示すブロックのサイズに変更して復元結合領域を示す復元結合領域データを生成する(ステップS28)。
画像サイズ復元部417は、生成した復元結合領域データを領域座標取得部418に送信する。

0102

領域座標取得部418は、画像サイズ復元部417から復元結合領域データを受信する。
領域座標取得部418は、画像サイズ復元部417が生成した復元結合領域データが示す復元結合領域の面積を取得する(ステップS29)。
領域座標取得部418は、取得した復元結合領域の面積を示す情報を領域座標評価部419に送信する。

0103

領域座標評価部419は、領域座標取得部418から復元結合領域の面積を示す情報を受信する。
領域座標評価部419は、領域座標取得部418が取得した復元結合領域の面積と想定されるバーコードの面積とを比較する。
領域座標評価部419は、比較結果に基づいて、復元結合領域の面積と想定されるバーコードの面積の差が所定の面積の差の範囲内にあるか否かを判定する(ステップS30)。

0104

領域座標評価部419は、復元結合領域の面積と想定されるバーコードの面積の差が所定の面積の差の範囲内にないと判定した場合(ステップS30においてNO)、バーコード領域以外の領域が検知されたと判定し、その復元結合領域を棄却する(ステップS31)。

0105

領域座標評価部419は、復元結合領域の面積と想定されるバーコードの面積の差が所定の面積の差の範囲内にあると判定した場合(ステップS30においてYES)、その復元結合領域をバーコード領域と判定して、バーコード領域を特定する(ステップS32)。

0106

繰り返し判定部420は、エッジ画像生成部402、直交エッジ画像生成部403、ブロック平均処理部404、ブロック差分処理部405、最小値フィルタ部406、処理回数判定部407、画像間引き処理部430、画像合成部408、二値化部409、射影変換部410、有効ブロック群生成部411、統合ブロック生成部412、エリア生成部413、最小矩形探索部414、領域統合判断部415、分離領域結合部416、画像サイズ復元部417、領域座標取得部418、領域座標評価部419のそれぞれが行う処理を8つのベクトル1〜ベクトル8のそれぞれに対して繰り返す制御を行う(ステップS33)。

0107

繰り返し判定部420がステップS33の処理を行った場合、例えば、図14に示すような8つのベクトルのそれぞれに対して検知したバーコード領域を示す画像が得られる。なお、図14において、バーコード領域として検出された領域の外周の座標は実線で囲まれている。図14から、ベクトル1、ベクトル7、ベクトル8のそれぞれに対応する画像それぞれにおいて、1つ以上のバーコード領域が検出されていることが分かる。

0108

バーコード領域合成部440は、8つのベクトル1〜ベクトル8のそれぞれに対してエッジ画像生成部402、直交エッジ画像生成部403、ブロック平均処理部404、ブロック差分処理部405、最小値フィルタ部406、処理回数判定部407、画像間引き処理部430、画像合成部408、二値化部409、射影変換部410、有効ブロック群生成部411、統合ブロック生成部412、エリア生成部413、最小矩形探索部414、領域統合判断部415、分離領域結合部416、画像サイズ復元部417、領域座標取得部418、領域座標評価部419のそれぞれが行う処理により得られた8つのバーコード領域どうしを比較する。

0109

バーコード領域合成部440は、比較した結果、バーコード領域が他のバーコード領域を包含している場合には、包含されている小さいバーコード領域を棄却して、バーコード領域を生成する(ステップS34)。

0110

バーコード領域合成部440は、生成した棄却後のバーコード領域を示す情報を領域座標出力部450に送信する。

0111

領域座標出力部450は、バーコード領域合成部440から棄却後のバーコード領域を示す情報を受信する。
領域座標出力部450は、バーコード領域合成部440が内包された小さいバーコード領域を棄却した後のバーコード領域と、対応する回転角度とをバーコードリーダ500に送信する(ステップS35)。

0112

このようにすれば、バーコード領域検知装置400は、複雑な背景の中にバーコードがある場合であっても、バーコードを検知することができる。

0113

(実施例)
本発明を実際の大型郵便物に対して適用した例を図14図15図16に示す。図15が原画像、図14が8つのベクトル1〜ベクトル8のそれぞれに対して生成したエリアデータが示すエリアを示す画像であり、検知した領域を実線で囲っている。図16はバーコードの検知結果を示す画像で、バーコード領域を実線で表している。検出した領域は封筒上の2つのバーコードを囲っており、この領域座標を目安に、後段のバーコード認識処理を容易に自動実行できる。

0114

以上、本発明の第一の実施形態によるバーコード読み取りシステム1について説明した。
本発明の第一の実施形態によるバーコード読み取りシステム1において、バーコード領域検知装置400は、画像間引き処理部430、ブロック差分処理部405(エッジ強度算出部)、バーコード領域絞り込み部401と、を備える。画像間引き処理部430は、原画像データが示す直交する二軸で表される二次元の原画像における一方の軸方向と他方の軸方向のそれぞれに対して画素を間引いた、間引き後画像データを生成する。ブロック差分処理部405は、原画像を区分けした複数のブロックそれぞれにおけるエッジ強度と、間引き後画像を区分けした複数のブロックそれぞれにおけるエッジ強度とを算出する。バーコード領域絞り込み部401は、原画像におけるブロックのエッジ強度と、間引き後画像におけるブロックのエッジ強度とを各画像の対応する位置のブロック間でそれぞれ比較する。バーコード領域絞り込み部401は、各画像の対応する位置において強いエッジ強度を示すブロックを選択する。バーコード領域絞り込み部401は、各画像の対応する位置において選択した原画像または間引き後画像におけるブロックを有する画像を示す合成画像データと、原画像データとに基づいて、バーコードが存在するバーコード領域を特定する。

0115

このようにすれば、バーコード領域検知装置400は、最も幅の狭いバーと最も幅の広いバーの両方を検知することができ、バーコード領域をより確実に検知することができる。その結果、バーコード領域検知装置400は、複雑な背景の中にバーコードがある場合であっても、バーコードを検知することができる。

0116

<第二の実施形態>
本発明の第二の実施形態によるバーコード領域検知装置について説明する。
本発明の第二の実施形態によるバーコード領域検知装置400は、本発明の最小構成のバーコード領域検知装置である。
本発明の第二の実施形態によるバーコード領域検知装置400は、図17に示すように、少なくとも、画像間引き処理部430、エッジ強度算出部405、バーコード領域絞り込み部401と、を備える。

0117

画像間引き処理部430は、原画像データが示す直交する二軸で表される二次元の原画像における一方の軸方向と他方の軸方向のそれぞれに対して画素を間引いた、間引き後画像データを生成する。

0118

エッジ強度算出部405は、原画像を区分けした複数のブロックそれぞれにおけるエッジ強度と、間引き後画像を区分けした複数のブロックそれぞれにおけるエッジ強度とを算出する。

0119

バーコード領域絞り込み部401は、原画像におけるブロックのエッジ強度と、間引き後画像におけるブロックのエッジ強度とを各画像の対応する位置のブロック間でそれぞれ比較する。
バーコード領域絞り込み部401は、各画像の対応する位置において強いエッジ強度を示すブロックを選択する。
バーコード領域絞り込み部401は、各画像の対応する位置において選択した原画像または間引き後画像におけるブロックを有する画像を示す合成画像データと、原画像データとに基づいて、バーコードが存在するバーコード領域を特定する。

0120

このようにすれば、バーコード領域検知装置400は、最も幅の狭いバーと最も幅の広いバーの両方を検知することができ、バーコード領域をより確実に検知することができる。その結果、バーコード領域検知装置400は、複雑な背景の中にバーコードがある場合であっても、バーコードを検知することができる。

0121

本発明の実施形態における処理フローは、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。

0122

本発明の実施形態における記憶部のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、記憶部のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。

0123

本発明の実施形態について説明したが、上述の搬送制御装置200、画像取得カメラ300、バーコード領域検知装置400、バーコードリーダ500、区分先決定機600のそれぞれは内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式コンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク光磁気ディスクCD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラム通信回線によってコンピュータに配信し、この配信を受けたコンピュータがそのプログラムを実行するようにしてもよい。

0124

また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル差分プログラム)であってもよい。

0125

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、追加、種々の省略、置き換え、変更を行ってよい。

0126

1・・・バーコード読み取りシステム
100・・・郵便物
200・・・搬送制御装置
300・・・画像取得カメラ
400・・・バーコード領域検知装置
402・・・エッジ画像生成部
403・・・直交エッジ画像生成部
404・・・ブロック平均処理部
405・・・ブロック差分処理部(エッジ強度算出部)
406・・・最小値フィルタ部
407・・・処理回数判定部
408・・・画像合成部
409・・・二値化部
410・・・射影変換部
411・・・有効ブロック群生成部
412・・・統合ブロック生成部
413・・・エリア生成部
414・・・最小矩形探索部
415・・・領域統合判断部
416・・・分離領域結合部
417・・・画像サイズ復元部
418・・・領域座標取得部
419・・・領域座標評価部
420・・・繰り返し判定部
430・・・画像間引き処理部
440・・・バーコード領域合成部
450・・・領域座標出力部
500・・・バーコードリーダ
600・・・区分先決定機
700・・・容器

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ