JP5121685B2 - バーコード読取装置、バーコード読取プログラム、バーコード読取方法 - Google Patents

バーコード読取装置、バーコード読取プログラム、バーコード読取方法 Download PDF

Info

Publication number
JP5121685B2
JP5121685B2 JP2008316836A JP2008316836A JP5121685B2 JP 5121685 B2 JP5121685 B2 JP 5121685B2 JP 2008316836 A JP2008316836 A JP 2008316836A JP 2008316836 A JP2008316836 A JP 2008316836A JP 5121685 B2 JP5121685 B2 JP 5121685B2
Authority
JP
Japan
Prior art keywords
barcode
density
bar
width
unit
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2008316836A
Other languages
English (en)
Other versions
JP2010140310A (ja
Inventor
啓夫 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008316836A priority Critical patent/JP5121685B2/ja
Publication of JP2010140310A publication Critical patent/JP2010140310A/ja
Application granted granted Critical
Publication of JP5121685B2 publication Critical patent/JP5121685B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、バーコードを含んだ領域を撮像し、撮像された画像からバーコードを読み取るバーコード読取装置、バーコード読取プログラム、バーコード読取方法に関する。
従来、カメラによってバーコードを含んだ領域が撮像され、撮像された画像に基づきバーコードをデコードする手法が開示されている。
また、波形を解読するために撮像画像を2回微分処理し、得られた画像から0クロス点を求める方法が知られている。
なお、本発明の関連ある従来技術として、バーコードの画像が不鮮明であっても、情報を認識可能なバーコード認識装置、方法が開示されている(例えば特許文献1)。
特開2007−226328号公報
しかしながら、ノイズがある撮像画像に対し、またバー幅の細いバーコードに対して、サブピクセルでの波形を解読するためには、上述の2回微分処理をすることで0クロス点を求める方法では、正確なバー幅を求めるのは困難であり、よって正確なバーコード読取を行うことができない。
本発明は上述した課題を解決するためになされたものであり、撮像された画像が粗い、撮像された画像がぼやけている、ノイズがある、またバーコードのバー幅が細い等であってもバーコードの位置を的確に検出し、検出されたバーコード位置に基づきバーコードを的確にデコードすることができるバーコード読取装置、バーコード読取プログラム、バーコード読取方法を提供することを目的とする。
上述した課題を解決するため、本発明の一態様に係るバーコード読取装置は、バーコードが撮像された画像から、バーコード配列方向の濃度値の配列である濃度配列データを取得する濃度配列データ取得部と、前記濃度配列データ取得部によって取得された濃度配列データから、濃度値がピーク値となる位置をそれぞれ取得し、前記ピーク値となる位置を中心とした、前記濃度配列データ内の所定範囲の濃度平均値を前記ピーク値となる位置ごとに算出し、該平均濃度値に基づき前記バーコードのバーの幅およびバー間のスペースの幅を算出するバー幅算出部と、前記バー幅算出部によって算出されたバーの幅およびバー間のスペースの幅に基づき前記バーコードをビット配列に変換するビット配列変換部と、前記ビット配列変換部によって変換されたビット配列に対応する文字を抽出するコード抽出部と、を備えるものである。
また、本発明の一態様に係るバーコード読取プログラムは、バーコードが撮像された画像から、バーコード配列方向の濃度値の配列である濃度配列データを取得する濃度配列データ取得ステップと、前記濃度配列データ取得ステップによって取得された濃度配列データから、濃度値がピーク値となる位置をそれぞれ取得し、前記ピーク値となる位置を中心とした、前記濃度配列データ内の所定範囲の濃度平均値を前記ピーク値となる位置ごとに算出し、該平均濃度値に基づき前記バーコードのバーの幅およびバー間のスペースの幅を算出するバー幅算出ステップと、前記バー幅算出ステップによって算出されたバーの幅およびバー間のスペースの幅に基づき前記バーコードをビット配列に変換するビット配列変換ステップと、前記ビット配列変換ステップによって変換されたビット配列に対応する文字を抽出するコード抽出ステップと、をコンピュータに実行させるものである。
さらに、本発明の一態様に係るバーコード読取方法は、バーコードが撮像された画像から、バーコード配列方向の濃度値の配列である濃度配列データを取得する濃度配列データ取得ステップと、前記濃度配列データ取得ステップによって取得された濃度配列データから、濃度値がピーク値となる位置をそれぞれ取得し、前記ピーク値となる位置を中心とした、前記濃度配列データ内の所定範囲の濃度平均値を前記ピーク値となる位置ごとに算出し、該平均濃度値に基づき前記バーコードのバーの幅およびバー間のスペースの幅を算出するバー幅算出ステップと、前記バー幅算出ステップによって算出されたバーの幅およびバー間のスペースの幅に基づき前記バーコードをビット配列に変換するビット配列変換ステップと、前記ビット配列変換ステップによって変換されたビット配列に対応する文字を抽出するコード抽出ステップと、を実行するものである。
撮像されたバーコード画像を的確にデコードすることができる。
本実施の形態では、NW−7のコード体系の仕様に準拠したバーコードを処理の対象とする。ここで、NW−7について説明する。尚、本実施の形態で開示するバーコード読取装置、バーコード読取プログラム、バーコード読取方法は、NW−7以外のコード体系(例えばCode−39)でも適用可能である。
NW−7のコード体系では、4本のバーと3本のスペースの合計7本で1文字が構成される。また、文字と文字の間には、キャラクタギャップと呼ばれるワイドスペース部分があるものとする。
バーとスペースは幅が細いもの(ナローバー/ナロースペース)と、太いもの(ワイドバー/ワイドスペース)がある。尚、ナローとワイドの比率が2倍〜3倍であることとする。
また、バーコード幅の密度は、以下の通りである。本実施の形態では、高密度にも対応できる。
・低密度 : ナロー幅=0.40mm、比率2.5倍
・中密度 : ナロー幅=0.26mm 比率2.5倍
・高密度 : ナロー幅=0.19mm 比率2.25倍
ナローバーとナロースペースは、バイナリーコードの0を表し、ワイドバーとワイドスペースはバイナリーコードの1を表す。すなわち、1文字は7ビットで表現されることになる。
また、NW−7のコード体系には、以下の仕様がある。
・バーコードの左マージン、右マージンにナロースペースの10倍以上のスペースを要する。
・データフィールド長は96ビットで、12文字を表現する。
・開始文字、終了文字は「a」のみ。
また、以下の説明では、バーコードの位置検出に特化したバーコード読取装置の形態を「実施の形態1」として説明し、バーコードの判読に特化したバーコード読取装置の形態を「実施の形態2」として説明する。また、以降の説明では、バーコードの配列方向すなわちスキャン方向を横軸(X軸)とした画像を対象とする。
(実施の形態1)
実施の形態1におけるバーコード読取装置の機能構成を、図1を参照しつつ説明する。バーコード読取装置100は、撮像部1、明暗領域識別部2、膨張縮退部3、位置抽出部4(選定部)、バーコード解読部5を備える。
撮像部1は、少なくともバーコードを含んだ領域を、レンズを介して動画として撮像し、撮像した映像を撮像素子に結像させビデオ信号として出力するカメラである。撮像部1は、例えば携帯電話機に代表される動画撮像機能を有する携帯端末機であり、ユーザはバーコード近傍を撮像し続けた状態で、撮像画像の動画を確認しながら作業を実施することができる。
明暗領域識別部2は、撮像された動画画像の1フレーム(1枚の静止画)に対し、シェーディング補正、X方向微分処理等の画像処理を実施し、画像処理後の画像の明るい領域(以下、白色領域(明領域)と称す)と暗い領域(以下、黒色領域(暗領域)と称す)を識別した画像を生成する。尚、実施の形態1では、白色領域、黒色領域とが2値化された画像が生成されるものとする。
膨張縮退部3は、明暗領域識別部2によって2値化された画像に対し、少なくとも白色部分に挟まれた黒色部分が白色領域になるまで(バー間の黒い隙間(濃度値が0のもの)が埋まるまで、すなわちバー間のスペース部が無くなるまで)白色領域を膨張させる。また、膨張縮退部3は、バーコードの白色領域が周辺の白色領域と接触しているのを切断するため、白色領域を縮退させる。
さらに、膨張縮退部3は、縮退させた白色領域を再度膨張させ、バーコードを元のサイズに戻す。尚、膨張縮退部3は、膨張処理、縮退処理、および元のバーコードサイズに戻すための膨張処理の各ステップで得られるデータを画像データとしてメモリに保持させるものとする。
位置抽出部4は、膨張縮退部3によって膨張処理、縮退処理、および元のバーコードサイズに戻すための膨張処理が実行された画像データに対し、ラベリング処理を行い、白色領域を抽出する。その後、位置抽出部4は、白色領域のうちで一番大きい面積を選定する。尚、この最大面積がバーコードの位置となる。
バーコード解読部5は、位置抽出部4によって抽出された最大面積の白色領域をバーコードの位置とし、当該バーコードの位置に基づき、撮像部1によって撮像された画像内のバーコードをデコード(バーコード解読処理)する。
次に、本実施の形態におけるバーコード読取装置100の動作を図2のフローチャートを参照しつつ説明する。
まず、撮像部1は、少なくともバーコードを含んだ領域を撮像し、撮像画像を取得する(S1)。次に明暗領域識別部2は、撮像された画像の平均濃度を算出し、平均濃度が一定範囲にない場合はゲイン値を変更し、平均濃度が一定範囲になるよう補正する(S2)。
明暗領域識別部2は、ゲインの変更が行われた画像に対し、シェーディング補正を行う(S3)。明暗領域識別部2は、シェーディング補正としてX方向(画像に対する横成分方向)で所定区域の最大の濃度値をその所定領域の中央の濃度値として平均化し、画素毎に、平均化処理をした濃度値で元の画像の濃度値を除算する。また明暗領域識別部2は、その後、除算した値に一定値を積算して各画素の濃度値とする。
ここで、撮像部1によって得られた原画像のバーコード部を図3に、上述シェーディング補正までを施した画像を図4にそれぞれ示す。このように、ゲイン変更処理やシェーディング補正を行うことによって、照明などの外来光の影響を緩和するとともに、原画像のバーの部分とバー間のスペースとの区別をある程度を鮮明にすることができる。尚、図3、図4ではバーコードの画像(X軸、Y軸の2次元画像)を示したが、処理を高速にするため、実際は上述の通りX方向のみの1次元で処理が行われる。
次に、明暗領域識別部2は、シェーディング補正が施された画像に対し、X方向に隣接した画素の濃度値の差分を取って各画素の濃度値とするX方向微分処理を行う(S4)。図5にX方向微分処理を施した画像を示す。図5に示すように明暗領域識別部2は、X方向微分処理を行うことでバーの部分を強調する。尚、本実施の形態においては、図5に示すように、X方向微分処理を施した後の画像は本来明るい領域近傍は低い濃度値となり、本来暗い領域近傍は高い濃度値となっていることに留意する。
続いて明暗領域識別部2は、X方向微分処理を施した後の画像に対し2値化処理を行う(S5)。
2値化処理を行う際の閾値の選定方法について、図6、図7を参照しつつ説明する。まず、図6(A)にX方向微分処理を施した画像の濃度断面図(縦軸が濃度値、横軸が画素単位での画像上の位置)を示す。明暗領域識別部2は、ここで例えば20画素ずつの局所領域(図6(B)参照)の濃度値ヒストグラムを作成する。実施の形態1では、例えば濃度のピークが2画素分程度である場合、そのピーク10箇所分を局所領域の範囲とする。
図7に、縦軸を局所領域内の画素数(個数)、横軸を濃度値とした局所領域の濃度値ヒストグラムを示す。明暗領域識別部2は、濃度波形を2つのクラスに区切ったときに、双方の波形間の分散が最大になるような濃度値を閾値とする(クラス間分散)。明暗領域識別部2は、このように局所領域ごとに閾値を算出し、当該局所領域内の各画素と、算出された閾値を比較する。明暗領域識別部2は、当該画素の濃度値が算出された閾値以上である場合、当該画素を白色(濃度値255)とし、閾値未満である場合、当該画素を黒色(濃度値0)とする(図6(B)も参照)。
尚、明暗領域識別部2は、事前に設けられた所定の閾値以上を白色(濃度値255)、閾値未満を黒色(濃度値0)とする手法でも当然よい。図8に、2値化処理を施した画像を示す。
膨張縮退部3は、このように2値化された画像に対し、バーコード部分のバー間の黒い隙間(濃度値0)が全て埋まる(濃度値255になる)まで白色領域を膨張させる(S6)。図9に、白色領域を膨張させた画像を示す。
一般的に、バーコードは、バーの領域の下部にバーの配列によって示される数字が印字されている。図9に示したように白色領域を膨張させた画像では、印字された数字も膨張され、膨張したバーコード部分に数字部分がノイズとして接触した状態となってしまう。またバーコードの印刷の質、よごれの付着によっては、この印字された数字以外のノイズが発生している場合もある。よって、これらノイズとの接触を切断するため、膨張縮退部3は、ノイズとの接触が無くなるまで白色領域を縮退させる(S7)。縮退処理を行った後の画像を図10に示す。
続いて膨張縮退部3は、ステップS6、S7によって膨張、縮退処理を行った画像に対し、再度膨張処理を実施することで、白色領域を膨張、縮退処理実施前の元のサイズに戻す(S8)。元のサイズに戻った画像を図11に示す。
位置抽出部4は、S8の処理まで施された画像に対しラベリング処理を行う(S9)。すなわち、位置抽出部4は、バーコード部分を含めた白色領域の閉領域を抽出し、抽出した閉領域にラベルを付す。その後、位置抽出部4は、ラベルを付した閉領域のうちで、一番面積の大きいものをバーコードの位置として抽出する(S10)。尚、バーコードの位置の抽出は、特徴点(矩形領域の場合は各頂点)のX座標値、Y座標値を抽出するものとする。
位置抽出部4は、抽出されたバーコード位置の面積が所定の閾値以上でない場合はバーコードとしない、または、抽出した領域内に黒色領域が含まれている場合はバーコードとしない等の予め設けられた条件を満たさない場合、処理を撮像部1による撮像処理(S1)に戻す(S11、No)。また条件を満たしている場合(S11、Yes)、バーコード解読部5は、位置抽出部4によって抽出されたバーコードの位置情報に基づき原画像または上述S3のシェーディング補正が施された画像からバーコードを切り出し、切り出し画像をスキャンすることでバーコードをデコードする(S12)。尚、バーコード解読部5によるバーコード解読処理は、後述する実施の形態2の処理であってもよいし、また従来のバーコード解読処理であってもよい。
膨張縮退部3は、膨張率、縮退率として事前に設けられた値を、白色領域の面積に対し積算することでS6、S7、S8の膨張、縮退処理を実施してもよい。
バーコード読取装置100は、バーコードの位置を抽出できた場合に発信音等を鳴らしてユーザに通知してもよい。
以上のように、実施の形態1のバーコード読取装置100によって、バーコードの位置を的確に検出することができる。
(実施の形態2)
実施の形態1では、バーコードの位置を抽出する機能に特化したバーコード読取装置を説明したが、実施の形態2では、抽出されたバーコードを正確にデコードする機能を有するバーコード読取装置について説明する。
図12に、実施の形態2におけるバーコード読取装置を示す。バーコード読取装置200は、バーコード位置抽出部11、スキャンデータ取得部12(濃度配列データ取得部)、バー幅算出部13、バー判定部14、コード抽出部15を備える。
バーコード位置抽出部11は、少なくともバーコードが撮像された画像からバーコードの位置を抽出する。
スキャンデータ取得部12は、バーコード位置抽出部11によって位置が抽出されたバーコード部分に対し、所定のY座標でX方向にスキャンし、位置毎(画素毎)の濃度値をスキャンデータとして取得する。
バー幅算出部13は、スキャンデータから濃度値がピーク値となる位置をそれぞれ取得する。またバー幅算出部13は、ピーク値となる位置を中心とした、スキャンデータの所定範囲内の濃度平均値をピーク値となる位置ごとに算出する。バー幅算出部13は、平均濃度値に基づきバーコードのバーの幅およびバー間のスペースの幅を算出する。
バー判定部14は、バー幅算出部13によって算出されたバーの幅およびバー間のスペースの幅に基づき、当該バーまたはスペースの示す値が1か0かを判定し、0と1とで成るビット配列を作成する。
コード抽出部15は、バー判定部14によって作成された0と1との配列に対応する文字を抽出する。
次に、バーコード読取装置200の動作について、図13のフローチャートを参照しつつ説明する。
バーコード位置抽出部11は、少なくともバーコードが撮像された画像からバーコードの位置を抽出する(S51)。バーコード位置抽出部11は、例えば上述実施の形態1で示した構成であってもよいし、また、従来のバーコード位置抽出処理機能を有するものであってもよい。
スキャンデータ取得部12は、バーコード位置抽出部11によって抽出された位置に基づきバーコードを撮像画像から切り出し、切り出されたバーコード部分に対し、所定のY座標値でX方向にスキャンし、位置毎(画素毎)の濃度値(以下、スキャンデータと称す)を取得する(S52)。尚、本実施の形態では検出したバーコード位置のY座標の中心値をスキャン位置とする。
バー幅算出部13は、取得されたスキャンデータで、濃度値がピークとなる位置を特定する(S53)。尚、ピークとなる位置とは、例えば横軸をスキャンデータの配列(すなわち、位置のデータ)、縦軸を濃度値とした波形グラフ上で、立ち上がり(右上がり勾配)から立ち下がり(右下がり勾配)に変化する位置、または立ち下がりから立ち上がりに変化する位置(換言すると、波形グラフと接する接線の傾きが0またはその近傍になる位置)をいう。この際、立ち下り量や立ち上がり量が波形グラフの平均高さの一定割合の値以上でない場合、バー幅算出部13は、局所部分でのノイズとして無視する。
またバー幅算出部13は、上述のように特定したピーク位置の前後の一定画素を局所領域とし、局所領域の濃度値の平均値(以下、局所平均濃度値)を算出する(S54)。尚、実施の形態1の2値化処理(S5)で使用したクラス間分散を用いてもよく、クラス間分散によって求められた値を局所平均濃度値としてもよい。または、前後のピーク濃度値の平均としてもよい。
さらにバー幅算出部13は、横軸(X軸)を位置のデータ、縦軸(Y軸)を濃度値とした上述局所領域に対する波形グラフと、算出した局所平均濃度値とが交差する点のX座標値を小数点レベルまで求め、波形グラフの立ち上がり部と局所平均濃度値とが交差する点のX座標値と、波形グラフの立ち下がり部と局所平均濃度値とが交差する点のX座標値との差を小数点レベルで計算し、算出された差をバーの幅、またはバー間のスペース幅とする(S55)。
バー判定部14は、算出されたバーの幅、スペース幅に基づき、当該バー(またはスペース)の示す値が1か0かを判定し、0と1とで成る配列を作成する。バー判定部14は、所定の閾値よりバー幅(またはスペース幅)が大きい場合は1とし、小さい場合は0とする(後述のバーコードの仕様も参照)。
尚、バー判定部14は、上述実施の形態1の2値化処理(S5)のクラス間分散を用いて閾値を算出してもよい。図14に、縦軸をバーおよびバー間のスペースの個数、横軸にバー幅またはスペース幅(画素数)としたグラフを示す。バー判定部14は、波形を2つのクラスに区切ったときに、双方の波形間の分散が最大になるような値を幅判定の閾値とし、幅が閾値より大きければ1と判断し、小さければ0と判断する。
コード抽出部15は、バー判定部14によって作成された0と1との配列から対応する文字を抽出する(S57)。図15に、コードと文字との対応を示す。図15(A)は、7ビットコードと文字との対応を示し、図15(B)に、バーコードと文字との対応を示す。
コード抽出部15は、NW−7で未登録の文字(すなわち上述のNW−7の仕様に準拠していない文字)があるかを判定する(S58)。ここで、未登録の文字がない、すなわち有効なコードである場合(S58、No)、次にコード抽出部15は、開始、終了文字が正しいかを判定する(S59)。開始、終了文字が正しい場合(S59、Yes)、デコードした文字列をユーザに表示し(S60)、処理は終了する。
一方、未登録の文字がある場合(S58、Yes)、または開始、終了文字が正しくない場合(S59、No)、読み込まれたバーコードのデータは不正であるため、バーコード位置抽出処理の画像入力処理を再度実施する(S61)。すなわち、S51から再度処理が行われる。
尚、動画画像の所定のフレームと次フレームとの前後の画像で、バーコードをデコードした結果を比較し、例えば3回の結果のうち2回以上が同じならその結果を正規のものとしてもよい。
上述では、バーコードの位置が抽出され、それ以降についての動作を主に説明したが、以下、バーコード位置抽出処理を用いない場合について示す。
原画像全体に対し、スキャンデータ取得部12は、Y座標値の間隔を大きくとり、X軸方向に数本スキャンする。例えばスキャンデータ取得部12は、Y座標最大値の1/4、1/2、3/4のY座標値でスキャンする。バー幅算出部13、バー判定部14、コード抽出部15は、スキャンデータそれぞれに対し上述S57までの処理を実施する。
バーコード読取装置200は、コード抽出部15によって抽出されたスキャンデータのうちで、例えば開始コードと終了コードがあり、その間の文字数が12文字である等、上述NW−7の仕様に沿うデータが含まれているスキャンデータにバーコードが含まれているものと判断する。さらに、スキャンデータ取得部12は、そのバーコードが含まれているスキャンデータをスキャンしたY座標値前後付近を複数箇所(例えば3箇所)スキャンし、バー幅算出部13、バー判定部14、コード抽出部15は、さらに、スキャンデータそれぞれに対し上述S57までの処理を実施する。この結果、複数回(例えば2回)以上同じコードが抽出された場合、それを正規のコードとする。
この場合、スキャンデータの濃度断面の波形上、X方向端部から一定割合の位置で濃度値が落ち込んだ部分(暗領域)がバーコード端と判断されてもよい。尚、バーコード端と判断された位置(画素)から一定画素以上次の山(明領域)が離れていたら、その次の濃度値が落ち込んだ部分がバーコード端とする。この処理が真のバーコード端が見つかるまで繰り返される。また仕様上、バーコードが始まる部分の前は白い部分が一定画素以上続くので、一定画素以上明領域が続いた後の落ち込んだ部分をバーコード端とする条件を付け加えた方がより正確性が増す。
また、スキャンデータ取得部12は、1フレーム画像に対し、バーコード位置内でY座標を数画素ずらして複数回スキャンし、デコードされた結果所定回以上が同じデコード結果の場合、その結果を正規のコードとしてもよい。例えば3回スキャンした場合、デコードされた結果3回のうち2回以上が同じコードならその結果を正規のものとする。
また、撮像部1が携帯端末機である場合、ユーザの携帯端末機の持ち方によってバーコードの配列が反転する場合がある。上述の実施の形態で示したバーコード読取装置は、左から右、右から左、水平と垂直方向でもバーコードの読み取りが可能である。例えば左右が反転している場合、バーコード読取装置は、スキャンされたデータ配列の位置を反転する。
上述の実施の形態で示したバーコード読取装置は、少なくともCPU(Central Processing Unit)、揮発性記憶装置である主記憶装置、不揮発性記憶装置をハードウェア資源として有する1台のコンピュータであってもよいし、また実施の形態1の撮像部1は携帯端末機、その他の機能ブロックはコンピュータとした構成で提供されてもよい。また、全ての機能ブロックを1台の携帯端末機(CPU、記憶装置等のハードウェアを少なくとも有する機器)に集約した状態で提供されてもよい。
上述の各機能ブロックは、不揮発性記憶装置に予め導入されたソフトウェアが、CPU、主記憶装置等のハードウェア資源と協働することで実現される。
上述の実施の形態において、バーコード読取プログラムは上述したバーコード読取装置の内部に予めインストールされているものとして記載したが、本発明におけるバーコード読取プログラムは記憶媒体に記憶されたものも含まれる。ここで記憶媒体とは、磁気テープ、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクドライブ等)、光ディスク(CD−ROM、DVDディスク等)、光磁気ディスク(MO等)、フラッシュメモリ等、バーコード読取装置に対し脱着可能な媒体や、さらにネットワークを介することで伝送可能な媒体等、上述したバーコード読取装置におけるコンピュータで読み取りや実行が可能な全ての媒体をいう。
実施の形態1に係る、バーコード読取装置の機能ブロックの一例を示す図である。 実施の形態1に係る、バーコード読取装置の動作を示すフローチャートである。 実施の形態1に係る、撮像部によって得られた原画像のバーコード部を示す図である。 実施の形態1に係る、シェーディング補正までを施した画像を示す図である。 実施の形態1に係る、X方向微分処理を施した画像を示す図である。 実施の形態1に係る、明暗領域識別部の処理を説明するための図である。 実施の形態1に係る、明暗領域識別部の処理を説明するための図である(クラス間分散)。 実施の形態1に係る、2値化処理を施した画像を示す図である。 実施の形態1に係る、白色領域を膨張させた画像を示す図である。 実施の形態1に係る、縮退処理を行った後の画像を示す図である。 実施の形態1に係る、白色領域を元のサイズに戻した画像を示す図である。 実施の形態2に係る、バーコード読取装置の機能ブロックの一例を示す図である。 実施の形態2に係る、バーコード読取装置の動作を示すフローチャートである。 実施の形態2に係る、縦軸をバーおよびバー間のスペースの個数、横軸にバー幅またはスペース幅(画素数)としたグラフを示す図である。 実施の形態2に係る、コード体系の仕様を示す図である。
符号の説明
1 撮像部、2 明暗領域識別部、3 膨張縮退部、4 位置抽出部、5 バーコード解読部、11 バーコード位置抽出部、12 スキャンデータ取得部、バー幅算出部、14 バー判定部、15 コード抽出部、100、200 バーコード読取装置。

Claims (4)

  1. バーコードが撮像された画像から、バーコード配列方向の濃度値の配列である濃度配列データを取得する濃度配列データ取得部と、
    前記濃度配列データ取得部によって取得された濃度配列データから、濃度値がピーク値となる位置をそれぞれ取得し、前記ピーク値となる位置を中心とした、前記濃度配列データ内の所定範囲の濃度平均値を前記ピーク値となる位置ごとに算出し、該平均濃度値に基づき前記バーコードのバーの幅およびバー間のスペースの幅を算出するバー幅算出部と、
    前記バー幅算出部によって算出されたバーの幅およびバー間のスペースの幅に基づき前記バーコードをビット配列に変換するビット配列変換部と、
    前記ビット配列変換部によって変換されたビット配列に対応する文字を抽出するコード抽出部と、
    を備えるバーコード読取装置。
  2. 請求項1に記載のバーコード読取装置において、さらに、
    少なくともバーコードを含む領域が撮像された画像から、前記バーコードの位置を検出する位置検出部を備え、
    前記濃度配列データ取得部は、さらに、前記位置検出部によって検出されたバーコードの位置に基づき、前記バーコードが撮像された画像からバーコード領域を切り出し、切り出したバーコード領域に対し、バーコード配列方向の濃度値の配列である濃度配列データを取得することを特徴とするバーコード読取装置。
  3. コンピュータを、
    バーコードが撮像された画像から、バーコード配列方向の濃度値の配列である濃度配列データを取得する濃度配列データ取得
    前記濃度配列データ取得によって取得された濃度配列データから、濃度値がピーク値となる位置をそれぞれ取得し、前記ピーク値となる位置を中心とした、前記濃度配列データ内の所定範囲の濃度平均値を前記ピーク値となる位置ごとに算出し、該平均濃度値に基づき前記バーコードのバーの幅およびバー間のスペースの幅を算出するバー幅算出
    前記バー幅算出によって算出されたバーの幅およびバー間のスペースの幅に基づき前記バーコードをビット配列に変換するビット配列変換
    前記ビット配列変換によって変換されたビット配列に対応する文字を抽出するコード抽出
    として機能させるためのバーコード読取プログラム。
  4. 濃度配列データ取得部、バー幅算出部、ビット配列変換部、およびコード抽出部として機能するバーコード読取装置が実行するバーコード読取方法であって、
    前記濃度配列データ取得部が、バーコードが撮像された画像から、バーコード配列方向の濃度値の配列である濃度配列データを取得
    前記バー幅算出部が、前記濃度配列データ取得によって取得された濃度配列データから、濃度値がピーク値となる位置をそれぞれ取得し、前記ピーク値となる位置を中心とした、前記濃度配列データ内の所定範囲の濃度平均値を前記ピーク値となる位置ごとに算出し、該平均濃度値に基づき前記バーコードのバーの幅およびバー間のスペースの幅を算出
    前記ビット配列変換部が、前記バー幅算出によって算出されたバーの幅およびバー間のスペースの幅に基づき前記バーコードをビット配列に変換
    前記コード抽出部が、前記ビット配列変換によって変換されたビット配列に対応する文字を抽出す
    ーコード読取方法。
JP2008316836A 2008-12-12 2008-12-12 バーコード読取装置、バーコード読取プログラム、バーコード読取方法 Expired - Fee Related JP5121685B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008316836A JP5121685B2 (ja) 2008-12-12 2008-12-12 バーコード読取装置、バーコード読取プログラム、バーコード読取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008316836A JP5121685B2 (ja) 2008-12-12 2008-12-12 バーコード読取装置、バーコード読取プログラム、バーコード読取方法

Publications (2)

Publication Number Publication Date
JP2010140310A JP2010140310A (ja) 2010-06-24
JP5121685B2 true JP5121685B2 (ja) 2013-01-16

Family

ID=42350396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008316836A Expired - Fee Related JP5121685B2 (ja) 2008-12-12 2008-12-12 バーコード読取装置、バーコード読取プログラム、バーコード読取方法

Country Status (1)

Country Link
JP (1) JP5121685B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10872859B2 (en) 2018-09-21 2020-12-22 Samsung Electronics Co., Ltd. Semiconductor device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020064373A (ja) * 2018-10-15 2020-04-23 富士通株式会社 コード情報読取装置、方法、及びプログラム
JP2020064374A (ja) * 2018-10-15 2020-04-23 富士通株式会社 コード情報読取装置、方法、及びプログラム
CN110033065B (zh) * 2019-03-18 2021-04-27 创新先进技术有限公司 窄条二维码、窄条二维码的生成、识别方法、装置及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63196990A (ja) * 1987-02-10 1988-08-15 Omron Tateisi Electronics Co バ−コ−ド読取装置
JPH02141886A (ja) * 1988-11-24 1990-05-31 Eastman Kodatsuku Japan Kk バーコードリーダの2値化装置
JPH0691614B2 (ja) * 1992-09-11 1994-11-14 株式会社リコー 画信号2値化装置
JPH0896059A (ja) * 1994-09-28 1996-04-12 Toshiba Corp バーコード読取装置
JP3475529B2 (ja) * 1994-11-25 2003-12-08 株式会社デンソー 光学情報読み取り装置の信号処理装置
JPH09153110A (ja) * 1995-11-30 1997-06-10 Toshiba Corp バーコード読取装置
JP3333686B2 (ja) * 1996-06-28 2002-10-15 松下電器産業株式会社 表示画面検査方法
JP2005266907A (ja) * 2004-03-16 2005-09-29 Toshiba Social Automation Systems Co Ltd バーコード検出切り出し方法及びその装置、並びにプログラムを格納したコンピュータ読み取り可能な記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10872859B2 (en) 2018-09-21 2020-12-22 Samsung Electronics Co., Ltd. Semiconductor device

Also Published As

Publication number Publication date
JP2010140310A (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
JP4180497B2 (ja) コード種類判別方法、およびコード境界検出方法
JP4911340B2 (ja) 二次元コード検出システムおよび二次元コード検出プログラム
Chen et al. PiCode: A new picture-embedding 2D barcode
US8254683B2 (en) Code image processing method
EP0999519B1 (en) Distortion correction method in optical code reading
JP4658848B2 (ja) 文字列認識方法及び文字列認識装置
EP1580683B1 (en) Barcode recognition apparatus
JP6075190B2 (ja) 画像処理方法及び装置
JP2001357345A (ja) 2次元バーコードの位置決め及び読み取り方法
WO2013044875A1 (zh) 线性条码识别方法和系统
JP5121685B2 (ja) バーコード読取装置、バーコード読取プログラム、バーコード読取方法
JP4945739B2 (ja) 文字列認識方法及び文字列認識装置
JPWO2017141802A1 (ja) 画像処理装置、文字認識装置、画像処理方法及びプログラム記録媒体
JP4473335B1 (ja) 光学的情報読取装置及び光学的情報読取方法
JP2008011484A (ja) 文字図形列抽出装置,文字図形列抽出方法,その方法を実行するプログラム,そのプログラムを記録した記録媒体
US8200016B2 (en) Method and apparatus for character string recognition
US20140086473A1 (en) Image processing device, an image processing method and a program to be used to implement the image processing
JP5127687B2 (ja) バーコード読取装置、バーコード読取プログラム、バーコード読取方法
JP4398498B2 (ja) コード境界検出方法
JP5125961B2 (ja) 二値化処理装置、情報処理装置、二値化処理方法および二値化処理プログラム
JP5470734B2 (ja) 画像処理装置及び画像処理プログラム
JP4905767B2 (ja) 二次元コード検出システムおよび二次元コード検出プログラム
JP5453594B2 (ja) シンボル情報読取装置及びシンボル情報読取方法
JP2019021085A (ja) 画像処理プログラム、画像処理方法及び画像処理装置
JP4892362B2 (ja) 文字認識プログラム、文字認識装置および文字認識方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100517

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121023

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees