[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2023024148A - 画像処理装置、画像処理方法、および画像処理プログラム - Google Patents

画像処理装置、画像処理方法、および画像処理プログラム Download PDF

Info

Publication number
JP2023024148A
JP2023024148A JP2021130264A JP2021130264A JP2023024148A JP 2023024148 A JP2023024148 A JP 2023024148A JP 2021130264 A JP2021130264 A JP 2021130264A JP 2021130264 A JP2021130264 A JP 2021130264A JP 2023024148 A JP2023024148 A JP 2023024148A
Authority
JP
Japan
Prior art keywords
image processing
bar
area
unit
barcode
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.)
Pending
Application number
JP2021130264A
Other languages
English (en)
Inventor
直弘 飯田
Naohiro Iida
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2021130264A priority Critical patent/JP2023024148A/ja
Publication of JP2023024148A publication Critical patent/JP2023024148A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】カスレや欠けの発生箇所に関わらずバーコードの外観を検査可能な技術を提供する。【解決手段】画像処理装置100は、バーコードCを撮像した撮像画像を受け付ける受付部と、撮像画像における複数のバーBに相当するバー領域を特定する特定部と、バー領域に基づいて検査対象領域を決定する決定部と、複数のバーBに対応する特徴を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出する抽出部と、抽出した少なくとも1つの部分領域の各々の長手方向の長さを算出する算出部と、当該長さの最小値が閾値未満である場合にバーコードCの外観が不良であると判定する判定部とを備える。【選択図】図1

Description

本開示は、画像処理装置、画像処理方法、および画像処理プログラムに関する。
特開2013-40895号公報(特許文献1)は、バーコードの外観を検査する検査システムを開示する。当該検査システムは、バーコードを撮影した画像に対し欠陥検出領域を設定し、当該欠陥検出領域における濃度値の変化に基づいてカスレや欠けの領域(欠陥領域)を特定する。当該検査システムは、欠陥領域が所定の面積以上である場合にバーコードの外観が不良であると判定する。
特開2013-40895号公報
カスレや欠けは、バーの長手方向の先端に発生する場合もある。上述の検査システムでは、エッジの誤検出を防ぐために、バーコードの領域をバーの長さ方向に所定量だけ縮小した領域を欠陥検出領域に設定する。そのため、上述の検査システムでは、欠陥検出領域よりも外側の領域に発生しているカスレや欠けは検出されない。欠陥検出領域よりも外側の領域に発生しているカスレや欠けによりバーコードの外観が損なわれることもあり、カスレや欠けの発生箇所に関わらずバーコードの外観を検査可能な技術が必要とされる。
本開示の目的は、カスレや欠けの発生箇所に関わらずバーコードの外観を検査可能な画像処理装置、画像処理方法、および画像処理プログラムを提供することである。
本開示のある局面に従う画像処理装置は、複数のバーを含むバーコードを撮像した撮像画像を受け付ける受付部と、撮像画像における複数のバーに相当するバー領域を特定する特定部と、バー領域に基づいて検査対象領域を決定する決定部と、複数のバーに対応する特徴を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出する抽出部と、抽出した少なくとも1つの部分領域の各々の長手方向の長さを算出する算出部と、当該長さの最小値が閾値未満である場合に、バーコードの外観が不良であると判定する判定部とを備える。
これにより、カスレや欠けの発生箇所に関わらずバーコードの外観を検査することができる。
上述の開示において、好ましくは、検査対象領域は、バー領域を上下左右の方向に所定幅だけ拡大した領域である。
これにより、部分領域として抽出される領域にバーの先端部を含めることができる。
上述の開示において、好ましくは、画像処理装置は、ユーザによる入力操作に基づいて所定幅を設定する第1設定部をさらに備える。
これにより、ユーザの操作により所定幅を変更することが可能となる。
上述の開示において、好ましくは、画像処理装置は、ユーザによる入力操作に基づいて閾値を設定する第2設定部をさらに備える。
これにより、ユーザの操作により閾値を変更することが可能となる。
上述の開示において、好ましくは、受付部は、バーコードの正解画像をさらに受け付ける。画像処理装置は、正解画像の少なくとも1つの部分領域の長手方向の長さの最小値に基づいて閾値を設定する第2設定部をさらに備える。
これにより、ユーザが閾値を決める必要がないことから、ユーザの利便性が向上する。
本開示の他の局面における、コンピュータが実行する画像処理方法は、複数のバーを含むバーコードを撮像した撮像画像を受け付けることと、撮像画像における複数のバーに相当するバー領域を特定することと、バー領域に基づいて検査対象領域を決定することと、複数のバーに対応する特徴を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出することと、抽出した少なくとも1つの部分領域の各々の長手方向の長さを算出することと、当該長さの最小値が閾値未満である場合に、バーコードの外観が不良であると判定することとを備える。
これにより、カスレや欠けの発生箇所に関わらずバーコードの外観を検査することができる。
本開示の他の局面における、画像処理プログラムは、上述の画像処理方法をコンピュータに実行させる。
これにより、カスレや欠けの発生箇所に関わらずバーコードの外観を検査することができる。
本開示によれば、カスレや欠けの発生箇所に関わらずバーコードの外観を検査可能な画像処理装置、画像処理方法、および画像処理プログラムを提供することができる。
本実施の形態における画像処理装置を含む画像処理システムの全体構成を示す概略図である。 本実施の形態における画像処理装置の主要なハードウェア構成を示すブロック図である。 本実施の形態における画像処理装置によって実現される機能の一例を示すブロック図である。 バー領域の特定方法を示す図である。 検査対象領域を示す図である。 2値化レベルの設定画面の一例を示す図である。 部分領域とその縦幅との一例を示す図である。 余裕幅の設定画面の一例を示す図である。 縦幅の閾値の設定画面の一例を示す図である。 本実施の形態における画像処理装置で実行される処理の一例を示す図である。 検査結果の出力形態の一例を示す図である。 バーコードの正解画像として1つの画像を用いる場合の処理の一例を示す図である。 バーコードの正解画像として複数の画像を用いる場合の処理の一例を示す図である。
以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される実施の形態および変形例は、適宜選択的に組み合わされてもよい。
[適用例]
図1を参照して、本発明の適用例について説明する。本適用例では、バーコードの外観を検査するための画像処理プログラムを実行する画像処理装置を説明する。
一般的に、バーコードは、種々の媒体(たとえば商品の包装材に付されるラベル等)に印刷される。そのため、印刷不良によりバーコードにカスレや欠け等が発生する場合がある。そのような場合には、バーコードの可読性(バーコードリーダーでの読み取り可否)に加え、バーコードの外観が問題となる。
なぜなら、バーコードの外観が不良な場合には、ユーザに不安を与えるからである。バーコードの可読性に問題は無かったとしても外観不良のバーコードが付された商品は、返品となる例が少なくない。ゆえに、バーコードの外観を検査することが求められる。
図1は、本実施の形態における画像処理装置を含む画像処理システムの全体構成を示す概略図である。画像処理システム1は、画像処理装置100と、撮像装置500と、入力装置600と、出力装置700とを含む。撮像装置500、入力装置600、および出力装置700は、画像処理装置100と接続される。
撮像装置500は、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数の画素に区画された撮像素子を含んで構成される。撮像装置500は、複数のバーBを含むバーコードCを撮像し、撮像によって取得した画像データ(以下、「撮像画像」とも称する)を画像処理装置100へ送信する。なお、図1に示す例では、バーコードCは、ラベルLに印刷されている。
画像処理装置100は、撮像装置500から受信した撮像画像に対し画像処理を行なうことにより、バーコードCの外観を検査する。詳細には、画像処理装置100は、撮像装置500から受信した撮像画像を基に、各バーBの長手方向の長さ(以下、「縦幅」または「縦幅W」とも称する)を算出する。本来は1本であるはずのバーがカスレや欠けにより複数に分断されている場合には、分断されているそれぞれについて縦幅Wを算出する。画像処理装置100は、算出した縦幅Wの最小値が閾値未満である場合に、バーコードCの外観が不良であると判定する。
バーBにカスレや欠けが発生している場合には、カスレや欠けの発生箇所に関わらずバーBの縦幅Wは本来の縦幅よりも短くなる。ゆえに、画像処理装置100によれば、カスレや欠けの発生箇所に関わらずバーコードの外観を検査することが可能となる。
入力装置600は、マウス、キーボード、およびタッチパネルのうち少なくとも1つを含み、画像処理装置100に対する操作を受け付ける。出力装置700は、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイ等を含み、各種の情報を表示する。なお、出力装置700は、ディスプレイに加え、インジケータやスピーカーをさらに含んでもよい。
なお、画像処理システム1は、撮像装置500によって撮像されるバーコードCに対して光を照射する照明装置をさらに含んでもよい。
(画像処理装置のハードウェア構成)
図2を参照して、画像処理装置100のハードウェア構成について説明する。図2は、本実施の形態における画像処理装置の主要なハードウェア構成を示すブロック図である。画像処理装置100は、プロセッサ101、主メモリ102、通信インターフェイス103、カメラインターフェイス104、入力インターフェイス105、出力インターフェイス106、メモリーカードインターフェイス107、および記憶装置120を含む。これらのコンポーネントは、内部バス119を介して互いに通信可能に接続されている。
プロセッサ101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成される。
プロセッサ101は、記憶装置120に記憶されているプログラム122を主メモリ102に展開して実行することで、本実施の形態に従う各種処理を実現する。主メモリ102は、揮発性メモリにより構成され、プロセッサ101によるプログラムの実行に必要なワークメモリとして機能する。
通信インターフェイス103は、ネットワークを介して、外部機器との間でデータや信号を遣り取りする。
カメラインターフェイス104は、撮像装置500から複数のバーを含むバーコードを撮像した撮像画像を受け付ける「受付部」に相当し、プロセッサ101と撮像装置500との間のデータ伝送を仲介する。詳細には、カメラインターフェイス104は、撮像装置500から撮像画像を受け付けると、当該撮像画像をプロセッサ101に出力する。
入力インターフェイス105は、プロセッサ101と入力装置600との間のデータ伝送を仲介する。すなわち、入力インターフェイス105は、ユーザが入力装置600を操作することにより与えられる操作指令を受け付ける。
出力インターフェイス106は、出力装置700と接続されており、プロセッサ101からのコマンドに従って、各種の情報を出力するための信号を出力装置700へ出力する。
メモリーカードインターフェイス107は、プロセッサ101とメモリーカード107Aとの間のデータ伝送を仲介する。メモリーカード107Aは、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記録媒体等を含む。
記憶装置120は、たとえば、ハードディスクである。一例として、記憶装置120は、本実施の形態に従う各種の処理を実現するためのプログラム122と、各種の設定情報124とを含む。
プログラム122は、メモリーカード107Aなどの記憶媒体に格納されて提供される。プログラム122は、メモリーカードインターフェイス107により、メモリーカード107Aから読み出されて画像処理装置100にインストールされる。
プログラム122は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う画像処理装置100の趣旨を逸脱するものではない。また、プログラム122によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。
また、メモリーカード107Aに格納されたプログラム122を画像処理装置100にインストールする形態に代えて、通信インターフェイス103を介して、配信サーバーなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。
設定情報124は、後述する余裕幅や、バーの縦幅の閾値等を含む。以下では、余裕幅や、バーの縦幅の閾値等が設定情報124として記憶装置120に保存されることを「設定される」と表現する。
(画像処理装置の機能)
図3を参照して、画像処理装置100によって実現される機能について説明する。図3は、本実施の形態における画像処理装置によって実現される機能の一例を示すブロック図である。本実施の形態においては、画像処理装置100によって、受付部131、特定部132、決定部133、抽出部134、算出部135、判定部136、第1設定部137、および第2設定部138が実現される。
受付部131は、図2に示すカメラインターフェイス104により実現される。受付部131は、撮像装置500から複数のバーを含むバーコードを撮像した撮像画像を受け付ける。
特定部132、決定部133、抽出部134、算出部135、判定部136、第1設定部137、および第2設定部138は、プロセッサ101がプログラム122を実行することにより実現される。
特定部132は、受付部131によって受け付けられた撮像画像におけるバー領域を特定する。バーコードは複数のバーに加え、数字を含む場合がある。バー領域とは、バーコードのうち複数のバーに相当する領域のことである。
ここで、図4を参照して、バー領域の特定方法について説明する。図4は、バー領域の特定方法を示す図である。画面G1は、出力装置700(図1参照)に表示される。画面G1は、撮像装置500(図1参照)により取得された撮像画像Iが表示される欄41と、撮像画像I内でのバーコードのおおよその位置を入力するための入力欄42とを含む。図4に示す例では、撮像画像Iは、バーコードC(図1参照)の画像とバーコードCが印刷されているラベルL(図1参照)の画像とを含む。
ユーザは、領域ARの4つの頂点K1~K4をマウス等の入力装置600(図1参照)を用いてドラッグすることにより、バーコードのおおよその位置を入力する。入力欄42には、頂点K1の座標と頂点K3の座標とが表示される。なお、ユーザは入力欄42に数値を入力することにより、バーコードのおおよその位置を入力してもよい。入力欄42への入力には、入力装置600が用いられる。特定部132(図3参照)は、領域AR内を公知の技術を用いて画像処理することにより、バー領域Pを特定する。なお、バーコードのおおよその位置が入力されなくてもよく、その場合には、特定部132は、撮像画像Iの全体を公知の技術を用いて画像処理することにより、バー領域Pを特定する。
再び図3を参照して、決定部133は、特定部132により特定されたバー領域に基づいて検査対象領域を決定する。一例として、決定部133は、バー領域を上下左右の方向に所定幅だけ拡大した領域を検査対象領域に決定する。当該所定幅は、設定情報124の1つである余裕幅として記憶装置120に記憶されている。所定幅は、画素数(たとえば、10画素等)で指定されてもよいし、バー領域に対する割合(たとえば、1.1倍等)で指定されてもよい。
ここで、図5を参照して、検査対象領域について説明する。図5は、検査対象領域を示す図である。バー領域Pは、4つの頂点E1~E4の座標により示される。検査対象領域Qは、4つの頂点F1~F4の座標により示される。検査対象領域Qは、バー領域Pを上下左右の方向に所定幅THだけ拡大した領域である。以下の説明では、複数のバーの配列方向をX方向とし、撮像画像Iにおいて複数のバーの配列方向に直交する方向をY方向とする。
一例として、所定幅として10画素が設定されているとする。その場合には、決定部133(図3参照)は、頂点F1のX座標の値を頂点E1のX座標の値から10画素をマイナスした値とし、頂点F1のY座標の値を頂点E1のY座標の値に10画素をプラスした値とする。また、決定部133は、頂点F2のX座標の値を頂点E2のX座標の値から10画素をマイナスした値とし、頂点F2のY座標の値を頂点E2のY座標の値から10画素をマイナスした値とする。また、決定部133は、頂点F3のX座標の値を頂点E3のX座標の値に10画素をプラスした値とし、頂点F3のY座標の値を頂点E3のY座標の値から10画素をマイナスした値とする。また、決定部133は、頂点F4のX座標の値を頂点E4のX座標の値に10画素をプラスした値とし、頂点F4のY座標の値を頂点E4のY座標の値に10画素をプラスした値とする。
なお、所定幅THが画素数で指定される場合には、上方向の所定幅TH1、下方向の所定幅TH3、左方向の所定幅TH2、および右方向の所定幅TH4は互いに等しい値でもよいし、これらのうち少なくとも1つが異なる値でもよい。
再び図3を参照して、抽出部134は、複数のバーに対応する特徴を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出する。複数のバーに対応する特徴とは、複数のバーの反射光の特徴であり、より詳細には、色や濃度(輝度)等である。一例として、抽出部134は、複数のバーに対応する色を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出する。他の例として、抽出部134は、複数のバーに対応する濃度を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出する。抽出部134による処理は、いわゆる画像処理におけるラベリング処理に該当する。抽出部134は、検査対象領域を予め定められた2値化レベルで2値化した後、濃度値に基づいて部分領域を抽出する。詳細には、抽出部134は、予め定められた2値化レベルで検査対象領域を2値化することにより、黒に分類された一塊の画素群を1つの部分領域として抽出する。2値化レベルとは、黒に分類される画素の濃度値の範囲を示す。2値化レベルは、バーの画像を構成する画素、すなわち、複数のバーに対応する色を有する画素や複数のバーに対応する濃度を有する画素が黒に分類されるように設定されている。
これにより、バーの1本1本に相当する領域が抽出部134により部分領域として抽出される。なお、本来は1本であるはずのバーがカスレや欠けにより複数に分断されている場合には、分断されているそれぞれが1つの部分領域として抽出される。
ここで、図6を参照して、2値化レベルの設定について説明する。図6は、2値化レベルの設定画面の一例を示す図である。画面G2は、2値化レベルの設定画面の一例である。画面G2は、出力装置700(図1参照)に表示される。画面G2は、2値化レベルを入力するための入力欄61と、ボタン62とを含む。入力欄61には、2値化レベルとして、黒に分類される画素の濃度値の範囲が入力される。ユーザが入力欄61に数値を入力してボタン62を押下すると、プロセッサ101(図2参照)は入力欄61に入力された数値を2値化レベルとして設定する。2値化レベルとして図6に示す値が設定されている場合には、抽出部134(図3参照)は濃度値が0~159に該当する画素を黒に分類する。
一般的には、バーの色は黒色だが、バーコードが印刷されるラベルの色に合わせて黒の濃さは異なる。そこで、入力欄61に入力する値を調整することで、バーの画像を構成する画素が黒に分類されるように設定することが可能となる。
再び図3を参照して、算出部135は、抽出部134により抽出された少なくとも1つの部分領域の各々の長手方向の長さ(縦幅)を算出する。これにより、バーの縦幅が算出される。本来は1本であるはずのバーがカスレや欠けにより複数に分断されている場合には、分断されているそれぞれについて縦幅が算出される。
判定部136は、算出部135により算出された縦幅の最小値が閾値未満である場合に、バーコードの外観が不良であると判定する。当該閾値は、設定情報124として記憶装置120に記憶されている。
ここで、図7を参照して、判定部136による判定方法を説明する。図7は、部分領域とその縦幅との一例を示す図である。図示の関係上、図7では、複数の部分領域RのうちバーB1~B4に相当する部分領域R1~R4のみを図示しているが、実際には、抽出部134(図3参照)による処理により、バーBの1本1本に相当する領域が部分領域Rとして抽出される。
バーB1およびバーB2は、本来は1本であるはずのバーがカスレや欠けにより複数に分断された場合の一例である。バーB2に相当する部分領域R2は、抽出部134により抽出された部分領域Rのうち縦幅Wが最も短い部分領域の一例である。この例では、算出部135(図3参照)により算出された部分領域R1の縦幅Wは60画素であり、算出部135により算出された部分領域R2の縦幅Wは20画素である。
バーB3は、バーの先端が欠けている場合の一例である。この例では、算出部135により算出された部分領域R3の縦幅Wは89画素である。
バーB4は、カスレや欠けが発生していない場合の一例である。この例では、複数の部分領域Rのうち部分領域R1と、部分領域R2と、部分領域R3とを除く部分領域のそれぞれについて算出部135により算出された縦幅Wは100画素である。
この例において、算出部135により算出された部分領域R毎の縦幅Wのうち最も小さい値は、部分領域R2の縦幅Wである20画素である。縦幅Wの閾値として90画素が設定されていた場合、算出部135により算出された縦幅Wの最小値(20画素)は縦幅Wの閾値(90画素)未満であることから、判定部136(図3参照)はバーコードの外観は不良であると判定する。
再び図3を参照して、第1設定部137は、ユーザによる入力操作に基づいて所定幅を設定する。詳細には、第1設定部137は、入力装置600から入力された値(所定幅)を余裕幅として記憶装置120に保存する。なお、画像処理装置100は、第1設定部137を含まなくてもよく、その場合には、余裕幅として予め定められた値(所定幅)が記憶装置120に保存されているものとする。
ここで、図8を参照して、余裕幅の設定方法について説明する。図8は、余裕幅の設定画面の一例を示す図である。画面G3は、余裕幅の設定画面の一例である。画面G3は、出力装置700(図1参照)に表示される。画面G3は、値(所定幅)を入力するための入力欄81と、ボタン82とを含む。ユーザが入力欄81に値を入力してボタン82を押下すると、プロセッサ101(図2参照)は入力欄81に入力された値を余裕幅として記憶装置120(図3参照)に保存する。
再び図3を参照して、第2設定部138は、ユーザによる入力操作に基づいて縦幅の閾値を設定する。一例として、第2設定部138は、入力装置600から入力された値を縦幅の閾値として記憶装置120に保存する。
ここで、図9を参照して、縦幅の閾値の設定方法について説明する。図9は、縦幅の閾値の設定画面の一例を示す図である。画面G4は、縦幅の閾値の設定画面の一例である。画面G4は、出力装置700(図1参照)に表示される。画面G4は、値を入力するための入力欄91と、ボタン92とを含む。ユーザが入力欄91に値を入力してボタン92を押下すると、プロセッサ101(図2参照)は入力欄91に入力された値を縦幅の閾値として記憶装置120(図3参照)に保存する。
再び図3を参照して、他の例として、第2設定部138は、バーコードの正解画像を基に縦幅の閾値を設定してもよい。バーコードの正解画像は撮像装置500が正しく印刷されたバーコードを撮像することにより取得され、受付部131によって受け付けられる。詳細については、後述する。
なお、画像処理装置100は、第2設定部138を含まなくてもよく、その場合には、縦幅の閾値として予め定められた値が記憶装置120に保存されているものとする。
(画像処理装置で実行される処理)
図10を参照して、画像処理装置100で実行される処理について説明する。図10は、本実施の形態における画像処理装置で実行される処理の一例を示す図である。図10に示す処理は、図2に示すプロセッサ101がプログラム122(図2参照)を実行することにより実現される。
ステップS1において、プロセッサ101は、複数のバーを含むバーコードを撮像した撮像画像をカメラインターフェイス104(図2参照)を介して撮像装置500(図2参照)から受け付ける。
ステップS2において、プロセッサ101は、撮像画像におけるバー領域を特定する。ステップS2の処理は、特定部132(図3参照)により実行される。
ステップS3において、プロセッサ101は、バー領域に基づいて検査対象領域を決定する。ステップS3の処理は、決定部133(図3参照)により実行される。
ステップS4において、プロセッサ101は、複数のバーに対応する特徴を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出する。ステップS4の処理は、いわゆる画像処理におけるラベリング処理である。ステップS4の処理は、抽出部134(図3参照)により実行される。
ステップS5において、プロセッサ101は、ステップS4で抽出した部分領域の各々の縦幅を算出する。ステップS5の処理は、算出部135(図3参照)により実行される。
ステップS6において、プロセッサ101は、ステップS5で算出した縦幅の最小値が閾値未満であるか否かを判定する。ステップS5で算出した縦幅の最小値が閾値未満である場合には(ステップS6においてYES)、プロセッサ101は、処理をステップS7に移行する。一方、ステップS5で算出した縦幅の最小値が閾値以上である場合には(ステップS6においてNO)、プロセッサ101は、処理をステップS8に移行する。
ステップS7において、プロセッサ101は、バーコードの外観は不良と判定する。
ステップS8において、プロセッサ101は、バーコードの外観は良好と判定する。ステップS6~S8の処理は、判定部136(図3参照)により実行される。
ステップS7またはステップS8の後、プロセッサ101は、図10に示す一連の処理を終了する。
(検査結果の出力形態)
図11は、検査結果の出力形態の一例を示す図である。画面G5は、検査結果を示す画面の一例である。画面G5は、出力装置700(図1参照)に表示される。画面G5は、バーコードの外観検査の結果が表示される欄11と、ステップS5(図10参照)で算出された縦幅の最小値が表示される欄12とを含む。また、画面G5は、撮像装置500(図1参照)により取得されたバーコードの画像(撮像画像I)が表示される欄13をさらに含む。
ユーザは、画面G5よりバーコードの外観検査の結果を知ることができる。また、ユーザは、画面G5よりステップS5(図10参照)で算出された縦幅の最小値を知ることができる。ユーザは、欄12に表示される数値を、設定した縦幅の閾値と比較することによりバーにカスレや欠けが発生していることを知ることができる。
なお、画面G5は、少なくとも欄11を含んでいればよい。また、画面G5は、欄11に加え、バーの縦幅の閾値として設定されている値が表示される欄を含んでもよい。
また、欄13に縦幅が閾値未満のバーを示す情報がさらに表示されてもよい。これにより、ユーザは、カスレや欠けが発生しているバーを知ることができる。また、欄13に縦幅が閾値未満のバーを示す情報と、当該バーの縦幅とがさらに表示されてもよい。これにより、ユーザは、カスレや欠けが発生しているバーと、当該バーの縦幅とを知ることができる。
また、検査結果は、音声で出力されてもよい。また、インジケータの点灯によって検査結果を報知してもよい。
(バーコードの正解画像を基に縦幅の閾値を設定する方法)
図12および図13を参照して、閾値の設定方法のうちバーコードの正解画像を基に縦幅の閾値を設定する方法について説明する。バーコードの正解画像を基に縦幅の閾値を設定する方法とは、バーコードの正解画像を基に算出されるバーの縦幅の最小値に基づいて縦幅の閾値を設定するという方法である。バーコードの正解画像として1つの画像を用いる場合と、複数の画像を用いる場合とに分けて説明する。
図12は、バーコードの正解画像として1つの画像を用いる場合の処理の一例を示す図である。図12に示す処理は、図2に示すプロセッサ101がプログラム122(図2参照)を実行することにより実現される。
ステップS21において、プロセッサ101は、バーコードの1つの正解画像をカメラインターフェイス104(図2参照)を介して撮像装置500(図2参照)から受け付ける。バーコードの正解画像は、正しく印刷されたバーコードを撮像装置500が撮像することにより取得される。
ステップS22において、プロセッサ101は、正解画像におけるバー領域を特定する。ステップS22の処理は、特定部132(図3参照)により実行される。
ステップS23において、プロセッサ101は、バー領域に基づいて検査対象領域を決定する。ステップS23の処理は、決定部133(図3参照)により実行される。
ステップS24において、プロセッサ101は、複数のバーに対応する特徴を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出する。ステップS24の処理は、いわゆる画像処理におけるラベリング処理である。ステップS24の処理は、抽出部134(図3参照)により実行される。
ステップS25において、プロセッサ101は、ステップS24で抽出した部分領域の各々の縦幅を算出する。ステップS25の処理は、算出部135(図3参照)により実行される。
ステップS26において、プロセッサ101は、ステップS25で算出した縦幅の最小値を縦幅の閾値に決定する。
ステップS27において、プロセッサ101は、ステップS26で決定した値を縦幅の閾値として記憶装置120(図3参照)に保存する。これにより、縦幅の閾値の設定が完了する。ステップS26およびステップS27の処理は、第2設定部138(図3参照)により実行される。
ステップS27の後、プロセッサ101は、図12に示す一連の処理を終了する。
図13は、バーコードの正解画像として複数の画像を用いる場合の処理の一例を示す図である。図13に示す処理は、図2に示すプロセッサ101がプログラム122(図2参照)を実行することにより実現される。
ステップS31において、プロセッサ101は、バーコードのN(N≧2)個の正解画像をカメラインターフェイス104(図2参照)を介して撮像装置500(図2参照)から受け付ける。バーコードの正解画像は、正しく印刷されたバーコードを撮像装置500が撮像することにより取得される。
ステップS32において、プロセッサ101は、変数n(n≧1)に1を設定する。
ステップS33において、プロセッサ101は、n個目の正解画像におけるバー領域を特定する。ステップS33の処理は、特定部132(図3参照)により実行される。
ステップS34において、プロセッサ101は、バー領域に基づいて検査対象領域を決定する。ステップS34の処理は、決定部133(図3参照)により実行される。
ステップS35において、プロセッサ101は、複数のバーに対応する特徴を有する画素で構成される少なくとも1つの部分領域を検査対象領域から抽出する。ステップS35の処理は、いわゆる画像処理におけるラベリング処理である。ステップS35の処理は、抽出部134(図3参照)により実行される。
ステップS36において、プロセッサ101は、ステップS35で抽出した部分領域の各々の縦幅を算出する。ステップS36の処理は、算出部135(図3参照)により実行される。
ステップS37において、プロセッサ101は、ステップS36で算出した縦幅の最小値を記憶装置120(図2参照)または主メモリ102(図2参照)に保存する。
ステップS38において、プロセッサ101は、nはN以上であるか否かを判定する。nがN以上である場合には(ステップS38においてYES)、プロセッサ101は、処理をステップS40に移行する。一方、nがN未満である場合には(ステップS38においてNO)、プロセッサ101は、処理をステップS39に移行する。
ステップS39において、プロセッサ101は、nを1だけインクリメントし、処理をステップS33に戻す。
ステップS40において、プロセッサ101は、ステップS37により保存された正解画像毎の縦幅の最小値を基に縦幅の閾値を決定する。一例として、プロセッサ101は、ステップS37により保存された正解画像毎の縦幅の最小値の平均値を縦幅の閾値に決定する。他の例として、プロセッサ101は、ステップS37により保存された正解画像毎の縦幅の最小値の中で最も小さい値を縦幅の閾値に決定する。他の例として、プロセッサ101は、ステップS37により保存された正解画像毎の縦幅の最小値の中で最も大きい値を縦幅の閾値に決定する。
ステップS41において、プロセッサ101は、ステップS40で決定した値を縦幅の閾値として記憶装置120(図3参照)に保存する。これにより、縦幅の閾値の設定が完了する。ステップS37~ステップS41の処理は、第2設定部138(図3参照)により実行される。
ステップS41の後、プロセッサ101は、図13に示す一連の処理を終了する。
このように、本実施の形態に従えば、複数のバーを含むバーコードを撮像した撮像画像を基に各バーの縦幅が算出され、算出された縦幅の最小値を基にバーコードの外観が判定される。バーにカスレや欠けが発生している場合には、カスレや欠けの発生箇所に関わらずバーの縦幅は本来の縦幅よりも短くなる。ゆえに、本実施の形態に従えば、カスレや欠けの発生箇所に関わらずバーコードの外観を検査することが可能となる。
また、検査対象領域はバー領域に基づいて決定される。これにより、バーコードが本来意図した印刷位置からずれている場合であっても、検査精度が担保される。
なお、上記実施の形態では、バー領域を上下左右の方向に所定幅だけ拡大した領域が検査対象領域とされたが、バー領域が検査対象領域とされてもよい。
また、上記実施の形態では、判定部136は、算出部135により算出された縦幅の最小値が閾値未満である場合に、バーコードの外観が不良であると判定したが、算出部135により算出された縦幅の最小値が閾値以下である場合に、バーコードの外観が不良であると判定してもよい。
[付記]
上述した実施の形態は、以下のような技術思想を含む。
[構成1]
複数のバー(B)を含むバーコード(C)を撮像した撮像画像(I)を受け付ける受付部(131)と、
前記撮像画像(I)における前記複数のバー(B)に相当するバー領域(P)を特定する特定部(132)と、
前記バー領域(P)に基づいて検査対象領域(Q)を決定する決定部(133)と、
前記複数のバー(B)に対応する特徴を有する画素で構成される少なくとも1つの部分領域(R)を前記検査対象領域(Q)から抽出する抽出部(134)と、
抽出した前記少なくとも1つの部分領域(R)の各々の長手方向の長さを算出する算出部(135)と、
前記長さの最小値が閾値未満である場合に、前記バーコード(C)の外観が不良であると判定する判定部(136)とを備える、画像処理装置。
[構成2]
前記検査対象領域(Q)は、前記バー領域(P)を上下左右の方向に所定幅(TH)だけ拡大した領域である、構成1に記載の画像処理装置。
[構成3]
前記画像処理装置(100)は、ユーザによる入力操作に基づいて前記所定幅(TH)を設定する第1設定部(137)をさらに備える、構成2に記載の画像処理装置。
[構成4]
前記画像処理装置(100)は、ユーザによる入力操作に基づいて前記閾値を設定する第2設定部(138)をさらに備える、構成1~構成3のいずれか1項に記載の画像処理装置。
[構成5]
前記受付部(131)は、前記バーコード(C)の正解画像をさらに受け付け、
前記画像処理装置(100)は、前記正解画像の前記少なくとも1つの部分領域(R)の前記長さの最小値に基づいて前記閾値を設定する第2設定部(138)をさらに備える、構成1~構成3のいずれか1項に記載の画像処理装置。
[構成6]
コンピュータが実行する画像処理方法であって、
複数のバー(B)を含むバーコード(C)を撮像した撮像画像(I)を受け付けることと、
前記撮像画像(I)における前記複数のバー(B)に相当するバー領域(P)を特定することと、
前記バー領域(P)に基づいて検査対象領域(Q)を決定することと、
前記複数のバー(B)に対応する特徴を有する画素で構成される少なくとも1つの部分領域(R)を前記検査対象領域(Q)から抽出することと、
抽出した前記少なくとも1つの部分領域(R)の各々の長手方向の長さを算出することと、
前記長さの最小値が閾値未満である場合に、前記バーコード(C)の外観が不良であると判定することとを備える、画像処理方法。
[構成7]
構成6に記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 画像処理システム、100 画像処理装置、101 プロセッサ、102 主メモリ、103 通信インターフェイス、104 カメラインターフェイス、105 入力インターフェイス、106 出力インターフェイス、107 メモリーカードインターフェイス、107A メモリーカード、119 内部バス、120 記憶装置、122 プログラム、124 設定情報、131 受付部、132 特定部、133 決定部、134 抽出部、135 算出部、136 判定部、137 第1設定部、138 第2設定部、500 撮像装置、600 入力装置、700 出力装置、B,B1,B4 バー、C バーコード、G1,G2,G3,G4,G5 画面、I 撮像画像、L ラベル、P バー領域、Q 検査対象領域、R,R1,R2,R3,R4 部分領域、TH,TH1,TH2,TH3,TH4 所定幅、W 縦幅。

Claims (7)

  1. 複数のバーを含むバーコードを撮像した撮像画像を受け付ける受付部と、
    前記撮像画像における前記複数のバーに相当するバー領域を特定する特定部と、
    前記バー領域に基づいて検査対象領域を決定する決定部と、
    前記複数のバーに対応する特徴を有する画素で構成される少なくとも1つの部分領域を前記検査対象領域から抽出する抽出部と、
    抽出した前記少なくとも1つの部分領域の各々の長手方向の長さを算出する算出部と、
    前記長さの最小値が閾値未満である場合に、前記バーコードの外観が不良であると判定する判定部とを備える、画像処理装置。
  2. 前記検査対象領域は、前記バー領域を上下左右の方向に所定幅だけ拡大した領域である、請求項1に記載の画像処理装置。
  3. 前記画像処理装置は、ユーザによる入力操作に基づいて前記所定幅を設定する第1設定部をさらに備える、請求項2に記載の画像処理装置。
  4. 前記画像処理装置は、ユーザによる入力操作に基づいて前記閾値を設定する第2設定部をさらに備える、請求項1~請求項3のいずれか1項に記載の画像処理装置。
  5. 前記受付部は、前記バーコードの正解画像をさらに受け付け、
    前記画像処理装置は、前記正解画像の前記少なくとも1つの部分領域の前記長さの最小値に基づいて前記閾値を設定する第2設定部をさらに備える、請求項1~請求項3のいずれか1項に記載の画像処理装置。
  6. コンピュータが実行する画像処理方法であって、
    複数のバーを含むバーコードを撮像した撮像画像を受け付けることと、
    前記撮像画像における前記複数のバーに相当するバー領域を特定することと、
    前記バー領域に基づいて検査対象領域を決定することと、
    前記複数のバーに対応する特徴を有する画素で構成される少なくとも1つの部分領域を前記検査対象領域から抽出することと、
    抽出した前記少なくとも1つの部分領域の各々の長手方向の長さを算出することと、
    前記長さの最小値が閾値未満である場合に、前記バーコードの外観が不良であると判定することとを備える、画像処理方法。
  7. 請求項6に記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
JP2021130264A 2021-08-06 2021-08-06 画像処理装置、画像処理方法、および画像処理プログラム Pending JP2023024148A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021130264A JP2023024148A (ja) 2021-08-06 2021-08-06 画像処理装置、画像処理方法、および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021130264A JP2023024148A (ja) 2021-08-06 2021-08-06 画像処理装置、画像処理方法、および画像処理プログラム

Publications (1)

Publication Number Publication Date
JP2023024148A true JP2023024148A (ja) 2023-02-16

Family

ID=85204134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021130264A Pending JP2023024148A (ja) 2021-08-06 2021-08-06 画像処理装置、画像処理方法、および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP2023024148A (ja)

Similar Documents

Publication Publication Date Title
KR100730051B1 (ko) 결함 검출장치 및 결함 검출방법
CN1690678B (zh) 图像分析方法、图像分析程序及其像素评价系统
CN109472271B (zh) 印刷电路板图像轮廓提取方法及装置
JP6348289B2 (ja) 検査装置および検査方法
CN106839976B (zh) 一种检测镜头中心的方法及装置
KR20090101356A (ko) 결함 검출 장치 및 결함 검출 방법
CN108445010B (zh) 自动光学检测方法及装置
KR101146081B1 (ko) 마이크로-검사 입력을 이용한 매크로 결함 검출 방법 및시스템
CN1331206C (zh) 缺陷检查方法
KR101842535B1 (ko) 부호의 광학적 검출 방법
US7922087B2 (en) Image processing apparatus, image processing method, and computer program stored in storage medium
JP2010071951A (ja) 視覚検査装置および視覚検査方法
JPH07159337A (ja) 半導体素子の欠陥検査方法
JP2005331929A (ja) 画像解析方法、画像解析プログラム、及びそれらを有する画素評価システム
JP2010091361A (ja) 画像検査方法および画像検査装置
JP2023024148A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP2710527B2 (ja) 周期性パターンの検査装置
KR20140082333A (ko) 평판디스플레이의 얼룩 검사 방법 및 장치
JP4956077B2 (ja) 欠陥検査装置及び欠陥検査方法
JP4821647B2 (ja) 電子部品の端子位置検出方法
CN101666641B (zh) 影像辨识方法
JP2006035505A (ja) 印刷物の検査方法及び装置
JP2003203218A (ja) 外観検査装置および方法
JP2005265828A (ja) 疵検出方法及び装置
JP5249855B2 (ja) 電子部品の端子位置検出方法、および電子部品の端子位置検出システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240610