JP7464851B2 - コード読取装置 - Google Patents

コード読取装置 Download PDF

Info

Publication number
JP7464851B2
JP7464851B2 JP2021053777A JP2021053777A JP7464851B2 JP 7464851 B2 JP7464851 B2 JP 7464851B2 JP 2021053777 A JP2021053777 A JP 2021053777A JP 2021053777 A JP2021053777 A JP 2021053777A JP 7464851 B2 JP7464851 B2 JP 7464851B2
Authority
JP
Japan
Prior art keywords
length
image
calculation process
marker
camera
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.)
Active
Application number
JP2021053777A
Other languages
English (en)
Other versions
JP2022150945A (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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2021053777A priority Critical patent/JP7464851B2/ja
Publication of JP2022150945A publication Critical patent/JP2022150945A/ja
Application granted granted Critical
Publication of JP7464851B2 publication Critical patent/JP7464851B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)

Description

本明細書で開示する技術は、情報コードに記録されている情報を読み取るためのコード読取装置に関する。
特許文献1には、コード読取装置を利用して、測定対象物(例えばダンボール)の寸法を計測する技術が開示されている。コード読取装置は、レーザによって照射された2個の特徴点と、測定対象物の画像と、を利用して、測定対象物の寸法を計測する。
特開2018-112521号公報
特許文献1のレーザは、測定対象物の寸法の計測だけでなく、読取対象の情報コードを指示するマーカの照射にも利用される。例えば、読取対象の情報コードの指示において、単純な1個の特徴点を利用する状況が想定される。この状況では、測定対象物の寸法の計測と読取対象の情報コードの指示との間で、マーカの形状を切り替えることが想定される。レーザの構成が複雑となる可能性がある。
本明細書では、対象物の一面の縦横の長さのうちの少なくとも一方の長さを簡易な構成で計測するための技術を提供する。
本明細書で開示するコード読取装置は、情報コードを撮像可能なカメラと、前記情報コードを含む範囲を指示する指示マーカを照射する照射部と、前記カメラと前記照射部とを固定する筐体と、前記カメラと前記照射部とを制御する制御部と、を備え、前記制御部は、前記指示マーカによって指示された前記範囲に含まれる前記情報コードに記録されている情報を読み取る読取部と、前記照射部によって照射される前記指示マーカと前記カメラによって撮像される画像とを利用して、対象物の一面の縦横の長さのうちの少なくとも一方の長さを算出するための算出部と、を備え、前記算出部は、前記照射部によって前記指示マーカが前記対象物の前記一面に照射され、前記カメラによって前記対象物の前記一面が撮像される場合に、前記カメラによって撮像された撮像画像内の前記指示マーカを示すマーカ画像と、カメラ位置と照射部位置との間の所定距離と、前記筐体に対する前記照射部の角度と、を利用して、前記筐体と前記一面との間の第1の対象距離を算出する距離算出処理であって、前記カメラ位置は、前記カメラの前記筐体内における位置であり、前記照射部位置は、前記照射部の前記筐体内における位置である、前記距離算出処理と、前記距離算出処理によって算出された前記第1の対象距離と、前記撮像画像のうち、前記対象物の前記一面を示す画像のエッジと、を利用して、前記一面の縦横の長さのうちの少なくとも一方の長さを算出する第1の長さ算出処理と、前記第1の長さ算出処理の結果を出力する出力処理と、を実行するように構成されている。
上記の構成によれば、コード読取装置は、情報コードを指示する指示マーカを示すマーカ画像と、カメラ位置と照射部位置との間の所定距離と、筐体に対する照射部の角度と、を利用して、コード読取装置の筐体と対象物の一面との間の第1の対象距離を算出する。そして、コード読取装置は、算出済みの第1の対象距離と、対象物の一面のエッジと、を利用して、対象物の一面の縦横の長さのうちの少なくとも一方の長さを算出して出力する。これにより、対象物の長さが計測される。即ち、筐体に支持されているカメラと同じ筐体に支持されている照射部との間の距離と、筐体に対する照射部の角度と、を利用することにより、対象物の長さを算出する処理において、情報コードを指示する指示マーカの形状に依らず、当該指示マーカを対象物の長さの算出にそのまま流用することができる。対象物の一面の縦横の長さのうちの少なくとも一方の長さを簡易な構成で計測することができる。
前記対象物は、前記一面と、前記一面と直交する他の面と、を有し、前記距離算出処理は、さらに、前記照射部によって前記指示マーカが、前記対象物のうち、前記他の面に照射され、前記カメラによって前記対象物の前記他の面が撮像される場合に、前記マーカ画像と、前記所定距離と、を利用して、前記筐体と前記他の面との間の第2の対象距離を算出し、前記第1の長さ算出処理は、さらに、前記距離算出処理によって算出された前記第2の対象距離と、前記撮像画像のうち、前記対象物の前記他の面の画像のエッジと、を利用して、前記他の面の縦横の長さのうちの少なくとも一方の長さを算出してもよい。
上記の構成によれば、指示マーカを一面に続けて他面に照射することにより、直対象物の一面の長さだけでなく、当該対象物の他面の長さも算出することができる。
前記対象物は、直方体であり、前記第1の長さ算出処理は、前記一面の縦横の双方の長さを示す2個の値と、前記他の面の縦横の双方の長さを示す2個の値と、を算出し、前記一面において算出された前記2個の値は、前記一面と前記他の面の双方で共有する特定の辺の長さを示す第1の値を含み、前記他の面において算出された前記2個の値は、前記特定の辺の長さを示す第2の値を含み、前記算出部は、さらに、前記第1の値と前記第2の値の差分の絶対値が所定の閾値を下回る場合に、前記第1の長さ算出処理の結果を利用して、前記直方体の体積を算出する体積算出処理を実行するように構成されており、前記絶対値が前記所定の閾値を上回る場合に、前記体積算出処理は実行されてもよい。
一面における特定の辺の長さを示す第1の値と他の面における特定の辺の長さを示す第2の値の差分の絶対値が所定の閾値を上回ることは、一面を利用した算出と他の面を利用した算出のうちの一方の精度が悪い可能性がある。精度の悪い算出結果を利用すると、直方体の体積が誤って算出される可能性がある。上記の構成によれば、精度が悪いと推定される場合に、体積算出処理が実行されない。対象物の体積が誤って算出されることを抑制することができる。
前記対象物は、前記一面と、前記一面と直交する他の面と、を有し、前記撮像画像は、前記一面と、前記他の面と、を示す二面の画像を含み、前記一面の縦横の二辺は、第1の方向の辺と、前記第1の方向と直交する第2の方向の辺と、を含み、前記他の面の縦横の二辺は、前記第2の方向の辺と、前記第2の方向と直交する第3の方向の辺と、を含み、前記算出部は、さらに、前記第1の長さ算出処理によって算出された前記一面の縦横の長さの双方と、前記二面の画像のエッジと、を利用して、前記他の面の縦横の二辺のうち、前記第3の方向の辺の長さを算出する第2の長さ算出処理を実行するように構成されていてもよい。
上記の構成によれば、指示マーカを一面に照射すれば、指示マーカを他の面に照射することなく、対象物の三方向の辺のそれぞれの長さを算出することができる。
前記対象物は、前記一面と、前記一面と直交する他の面と、を有し、前記撮像画像は、前記一面と、前記他の面と、を示す二面の画像を含み、前記一面の縦横の二辺は、第1の方向の辺と、前記第1の方向と直交する第2の方向の辺と、を含み、前記他の面の縦横の二辺は、前記第2の方向の辺と、前記第2の方向と直交する第3の方向の辺と、を含み、前記算出部は、さらに、前記一面に照射された前記指示マーカを基準として、前記二面の画像のうち、前記他の面を示す画像内に仮想的なマーカを設定し、前記仮想的なマーカを利用して、前記他の面の縦横の二辺のうち、前記第3の方向の辺の長さを算出する第3の長さ算出処理を実行するように構成されていてもよい。
上記の構成でも、指示マーカを一面に照射すれば、指示マーカを他の面に照射することなく、対象物の三方向の辺のそれぞれの長さを算出することができる。
前記制御部は、さらに、前記照射部によって前記指示マーカが前記対象物の前記一面に照射され、前記カメラによって前記対象物の前記一面が撮像される場合に、前記一面を示す画像内に前記指示マーカを示す画像が存在することに関する所定の条件が満たされるのか否かを判断する判断部を含み、前記所定の条件が満たされると判断される場合に、前記距離算出処理及び前記第1の長さ算出処理が、実行され、前記所定の条件が満たされないと判断される場合に、前記距離算出処理及び前記第1の長さ算出処理は、実行されなくてもよい。
上記の構成によれば、指示マーカが対象物の一面に適切に照射されていない状況において距離算出処理及び第1の長さ算出処理が実行されることを抑制することができる。
前記制御部は、さらに、前記対象物の前記一面の撮像を第1の感度において前記カメラに実行させる第1の撮像制御部と、前記対象物の前記一面の撮像を前記第1の感度より低い第2の感度において前記カメラに実行させる第2の撮像制御部と、を備え、前記エッジは、前記第1の感度によって撮像された前記撮像画像から抽出され、前記マーカ画像は、前記第2の感度によって撮像された前記撮像画像から抽出されてもよい。
例えば、所定の感度によって撮像された撮像画像からエッジとマーカ画像との双方を抽出する比較例が想定される。この比較例では、例えば、対象物に明るい柄が存在する場合には、当該柄を誤って指示マーカとして抽出する可能性がある。また、外乱光等と比べて、照射部の照射光は明るい。このため、低い感度で撮像した場合には、外乱光等の反射光として認識される対象物と比べて照射部の照射光の反射光として認識される指示マーカが明るくなる。上記の構成によれば、低い第2の感度によって撮像された撮像画像からマーカ画像を抽出することによって、対象物の明るい柄等を誤って指示マーカとして抽出することを抑制することができる。
また、上記のコード読取装置の制御方法、コード読取装置のためのコンピュータプログラム、及び、当該コンピュータプログラムを保存する記憶媒体も、新規で有用である。
実施例の概念図である。 コード読取装置のブロック図である。 第1実施例の計測処理を示すフローチャート図である。 第1実施例の照射面算出処理を示すフローチャート図である。 コード読取装置と対象物との間の距離を算出する方法を示す図である。 照射面上の線分の長さを算出する方法を示す図である。 実際の長さを算出する方法を示す図である。 第2実施例の計測処理を示すフローチャート図である。 第2実施例の非照射面算出処理を説明する図である。 第3実施例の非照射面算出処理を示すフローチャート図である。 第3実施例の仮想ポインタを利用した算出の方法を示す図である。
(第1実施例)
(コード読取装置2の構成;図1、図2)
本実施例のコード読取装置2は、情報コード(例えばバーコード、二次元コード、多段のバーコード等)に記録されている情報を読み取るための携帯装置である。なお、図1に示すコード読取装置2の外観は、一例に過ぎず、例えば、コード読取装置2は、スマートフォンと同様の外観を有していてもよい。
本実施例では、コード読取装置2は、所定の領域(例えば倉庫等)で利用され、情報コード内の情報の読取だけでなく、所定の領域内の対象物100の大きさを計測する用途でも利用される。本実施例では、対象物100は、ダンボール箱等の直方体の物体である。
コード読取装置2は、操作部12と、表示部14と、カメラ20と、照射部22と、制御部30と、を備える。各部12~22は、筐体10に固定されている。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をコード読取装置2に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。また、表示部14は、ユーザの操作を受け付け可能なタッチパネル(即ち操作部12)として機能してもよい。カメラ20は、LEDライト等の発光源と、CCDイメージセンサと、を含む。
照射部22は、読取対象の情報コードを含む範囲(例えば情報コードの近傍)を指示する指示マーカを照射するレーザ光源である。指示マーカの形状は、例えば、1個の円形である。なお、変形例では、指示マーカの形状は、三角形等の多角形、楕円形等であってもよい。
制御部30は、CPU32と、不揮発性メモリなどによって構成されるメモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム40に従って、様々な処理を実行する。
例えば、CPU32は、操作部12を介して、読取の指示を受けると、指示マーカを照射部22に照射させる。CPU32は、カメラ20を起動して、撮像を開始する。CPU32は、カメラ20によって撮像された画像(以下では「撮像画像」と記載)内から指示マーカを示す画像(以下では「マーカ画像」と記載)を抽出する。そして、CPU32は、撮像画像からマーカ画像の近傍に位置する情報コードの画像を切り出し、切り出し済みの画像内の情報コードから情報を読み取る。
本実施例では、照射部22によって照射される指示マーカを、読取対象の情報コードを指示する用途だけでなく、所定の領域内の対象物100の大きさを計測する用途でも利用する。
(計測処理;図3)
図3を参照して、プログラム40に従って、コード読取装置2のCPU32が実行する計測処理について説明する。図3の処理は、コード読取装置2が、操作部12を介して、対象物100の大きさの計測の指示を受け付けることをトリガとして開始される。
本実施例では、対象物100の大きさとして、直方体の対象物100の縦、横、高さのそれぞれの長さを計測し、さらに、対象物100の体積を計測する。本実施例の計測方法は、2回の長さ算出工程と、その後の体積を算出する工程と、を含む。1回目の長さ算出工程は、指示マーカを対象物100の一面に照射して、当該一面を撮像することにより、縦、横、高さのうちの二辺の長さを算出する工程である。2回目の長さ算出工程は、指示マーカを、対象物100のうち、一面と直交する他の面に照射して、当該他の面を撮像することにより、縦、横、高さのうちの二辺の長さを算出する工程である。
T10では、CPU32は、指示マーカを照射部22に照射させる。さらに、CPU32は、カメラ20を起動する。これにより、カメラ20の画角内の物体が表示部14に表示される。
例えば、ユーザは、最初の長さ算出工程を実行するために、コード読取装置2の姿勢を調整して、指示マーカを対象物100の一面上に移動させる。さらに、ユーザは、コード読取装置2の姿勢を調整して、対象物100の一面の全てをカメラ20の画角内に収める。
T12では、CPU32は、操作部12が対象物100の撮像の指示を受けることを監視する。CPU32は、操作部12が対象物100の撮像の指示を受ける場合(S12でYES)に、T14に進む。
T14では、CPU32は、所定の第1の感度において、画角内に現在収められている物体の撮像をカメラ20に実行させる。これにより、CPU32は、指示マーカが照射されている対象物100の一面の画像を含む撮影画像を取得する。例えば、図5に示すように、撮像画像には、対象物100の一面の画像が含まれる。ここで、撮像画像内の一面の各頂点に、A1、A2、A3、A4の符号を付す。
T16では、CPU32は、T14で取得された撮像画像に対するエッジ検出を実行する。これにより、CPU32は、対象物の一面の画像のエッジ(即ち輪郭)を取得する。なお、撮像画像が、対象物100の一面に加えて、対象物100のうち、当該一面と直交する他の面を含む場合には、CPU32は、一面の画像のエッジに加えて、他の面のエッジも取得する(図5参照)。例えば、図5では、撮像画像内の他の面の各頂点に、A4、A3、A5、A6を付す。ここで、頂点A4、A3は、一面と共有する頂点である。
T18では、CPU32は、CPU32は、所定の第2の感度において、画角内に現在収められている物体の撮像をカメラ20に再び実行させる。ここで、第2の感度は、T14の第1の感度より低い。
T20では、CPU32は、T18で取得された撮像画像に対して、マーカ画像を抽出するための画像処理を実行する。これにより、CPU32は、マーカ画像を取得する。そして、CPU32は、撮像画像の左上の頂点を原点とする座標(図5参照)を基準として、T14で取得したエッジとT20で取得したマーカ画像を組み合わせて、後述する処理で利用する対象物100の画像を生成する。
例えば、所定の感度によって撮像された1枚の撮像画像からエッジとマーカ画像との双方を抽出する比較例が想定される。この比較例では、例えば、対象物100に明るい柄が存在する場合には、当該柄を誤って指示マーカとして抽出する可能性がある。また、外乱光等と比べて、照射部22の照射光は明るい。このため、低い感度で撮像した場合には、外乱光等の反射光として認識される対象物100と比べて照射部22の照射光の反射光として認識される指示マーカが明るくなる。本実施例の構成によれば、低い第2の感度によって撮像された撮像画像からマーカ画像を抽出することによって、対象物100の明るい柄等を誤って指示マーカとして抽出することを抑制することができる。
続くT22では、CPU32は、T22で生成した画像において、エッジの中にマーカ画像が存在するのか否かを判断する。CPU32は、エッジの中にマーカ画像が存在すると判断する場合(T22でYES)に、T30において、照射面算出処理を実行する。照射面算出処理は、マーカ画像を含むエッジによって示される一面(以下では、「照射面」と記載)の縦横の長さを算出ための処理である。照射面算出処理については、図4にて後述する。
一方、CPU32は、エッジの中にマーカ画像が存在しないと判断する場合(T22でNO)に、S12に戻る。エッジの中にマーカ画像が存在しないことは、指示マーカが対象物100上に存在しないことを意味する。エッジの中にマーカ画像が存在しない場合には、マーカ画像を利用した後述の照射面算出処理を実行したとしても、誤った値が算出される。T22の判断を実行することによって、指示マーカが対象物100に適切に照射されていない状況において照射面算出処理が実行されることを抑制することができる。また、T22でNOと判断される場合にT12に戻ることにより、対象物100の一面上への指示マーカの適切な照射をユーザに促すことができる。
T30に続くT32では、CPU32は、2回の照射面算出処理が実行されたのか否か、即ち、上記の2回の長さ算出工程が実行されたのか否かを判断する。例えば、対象物100の一面に対する照射面算出処理が実行され、対象物100の他の面に対する照射面算出処理が実行されていない場合には、CPU32は、2回の照射面算出処理が実行されていないと判断し(T32でNO)、T12に戻る。これにより、ユーザは、次の長さ算出工程を実行するために、コード読取装置2の姿勢を再び調整して、指示マーカを対象物100の他の面上に移動させ、当該他の面の全てをカメラ20の画角内に収める。これにより、T12~T30の処理が再び実行されて、次の長さ算出工程が実行される。
また、CPU32は、2回の照射面算出処理が実行されたと判断する場合(T32でYES)に、T40に進む。T40では、CPU32は、1回目の照射面算出処理で算出された縦横の二辺の長さを示す2個の値のうちのいずれかと、2回目の照射面算出処理で算出された二辺の長さを示す2個の値のうちのいずれかと、が特定の関係を満たすのか否かを判断する。特定の関係は、双方の差分の絶対値が所定の閾値を下回る関係である。対象物100は直方体であるので、一面と他の面は、特定の辺を共有する。このため、1回目の照射面算出処理では、一面上の特定の辺の長さが算出され、2回目の照射面算出処理では、他の面上の特定の辺の長さが算出される。上記の特定の関係の満たす2個の値が存在することは、1回目の照射面算出処理と2回目の照射面算出処理との間で特定の辺を正確に算出した可能性が高いことを意味する。即ち、1回目の照射面算出処理と2回目の照射面算出処理で算出された合計4個の値が正確である可能性が高いことを意味する。CPU32は、2回の照射面算出処理で算出された合計4個の値の中に特定の関係を満たす2個の値が存在すると判断する(T40でYES)に、T42に進む。
T42では、CPU32は、2回の照射面算出処理で算出された合計4個の値を利用して、対象物100の体積を算出して、表示部14に表示させる。また、CPU32は、当該合計4個の値を利用して、対象物100の縦、横、高さのそれぞれの長さを表示部14に表示させる。これにより、対象物100の大きさが計測される。なお、計測結果の出力は、表示部14での表示に限らず、例えば、外部の装置への送信、音声による出力等であってもよい。
続くT44では、CPU32は、対象物100を識別する識別情報と対応付けてT42の計測結果を所定の記憶装置に記憶する。識別情報は、例えば、カメラ20によって対象物100の表面に表示されている情報コードを撮像することによって読み取られる。また、所定の記憶装置は、例えば、コード読取装置2内のメモリ34、コード読取装置2と通信可能な外部の装置(例えばサーバ)等である。T44が終了すると、図3の処理が終了する。なお、変形例では、T44の処理は実行されなくてもよい。
また、CPU32は、2回の照射面算出処理で算出された合計4個の値の中に特定の関係を満たす2個の値が存在しないと判断する(T40でNO)に、T46に進む。T46では、CPU32は、対象物100の体積を算出することなく、2回の照射面算出処理で算出された合計4個の値を表示部14に表示させる。これにより、ユーザは、合計4個の値を参考にコード読取装置2の姿勢を調整し、対象物100の再度の計測を試みることができる。T46が終了すると、図3の処理が終了する。
上記のT40において特定の関係を満たす2個の値が存在しないことは、2回の照射面算出処理の一方の精度が悪い可能性がある。精度の悪い算出結果を利用すると、直方体の体積が誤って算出される可能性がある。上記の構成によれば、精度が悪いと推定される場合に、対象物100の体積が算出されない(T40でNO、T46)。対象物100の体積が誤って算出されることを抑制することができる。
(照射面算出処理;図4)
図4を参照して、図3のT30の照射面算出処理について説明する。T100では、CPU32は、図3のT20で取得されたマーカ画像と、所定のパラメータと、を利用して、対象物100とコード読取装置2との間の距離dを算出する。具体的な算出方法は、以下の通りである。図5に示すように、対象物100の照射面に照射された指示マーカP0と、カメラ20と、照射部22と、を結ぶ三角形TR1に着目する。ここで、三角形TR1の一辺は、カメラ20と照射部22とを結ぶ辺である。カメラ20と照射部22は筐体10に固定されているので、三角形TR1のうち、カメラ20と照射部22とを結ぶ辺の長さは、既知の値Dである。値Dの単位は、例えばメートルである。また、カメラ20と照射部22とを結ぶ線を基準とした照射部22の指示マーカP0への照射角度も、既知の値S3である。即ち、三角形TR1の一つの内角がS3となる。
また、三角形TR1のうち、指示マーカP0とカメラ20とを結ぶ辺に着目する。当該辺は、カメラ20である視点と指示マーカP0とを結ぶ投影線である。ここで、カメラ20の画角をφとし、カメラ20の中心の投影線と指示マーカP0への投影線との間の角度をS1とし、カメラ20の撮像画像の最大ピクセル数をNとする。以下の関係が成り立つ。
n1:N/2 = S1:φ/2 (1)
ここで、n1は、撮像画像の中心線(即ちカメラ20の中心の投影線)とマーカ画像Pとの間のピクセル数である。上記(1)の関係から、角度S1が算出される。
また、図5に示すように、S2=90―S1の関係式から三角形TR1の一つの内角S2が算出される。
そして、以下の関係式(2)から距離dが算出される。
Figure 0007464851000001
上記の距離dの算出方法は、いわゆるスポット光投影法である。なお、距離dの算出方法は、上記の方法に限らず、例えば、他のアクティブステレオ法が採用されてもよい。
T100に続くT102では、CPU32は、照射面上の指示マーカP0を通る二本の線分に関する比率x、yを算出する。照射面を真上から見た場合において、縦方向に延びる線分は、照射面の横方向の端辺を1-x:xの比率で分割する。また、照射面を真上から見た場合において、横方向に延びる線分は、照射面の縦方向の端辺をy:1-yの比率で分割する。
T102の具体的な算出方法は、以下の通りである。上記の縦方向に延びる線分は、撮像画像において、マーカ画像Pを通る線分B1B3として投影される。また、上記の横方向に延びる線分は、撮像画像において、マーカ画像Pを通る線分B4B2として投影される。ここで、撮像画像内の照射面のエッジの各頂点A1~A4のそれぞれの座標は、既知である。線分B1B3、線分B4B2の数式が、既知の各頂点A1~A4の座標と未知数x、yによって表される。また、線分B1B3、線分B4B2は、マーカ画像Pを通過する。CPU32は、マーカ画像Pの座標を線分B1B3、線分B4B2の数式に代入することによって、未知数x、yを算出する。
T102に続くT104では、CPU32は、T102で算出された比率x、yと、各頂点A1~A4の座標と、を利用して、各端点B1~B4の座標を算出する。そして、CPU32は、算出済みの各端点B1~B4の座標から線分B1B3、線分B4B2のそれぞれの長さを算出する。
続くT106では、CPU32は、T100で算出された距離d、T102で算出した比率x、y及びT104で算出した線分B1B3、B4B2の長さを利用して、カメラ20の三軸(即ち、ロール軸、ピッチ軸、ヨー軸)の回転角度(α、β、γ)を算出する。具体的な算出方法は、以下の通りである。
エッジの各頂点A1~A4のそれぞれの座標を以下の通りに表す。
Ai=(ai、bi) (i=1~4)
そして、各値ai、biについて、以下の関係式(3)、(4)が成り立つ。
Figure 0007464851000002
Figure 0007464851000003
また、関係式(3)、(4)内の(Xi、Yi、Zi)について、以下の関係式(5)が成り立つ。
Figure 0007464851000004
ここで、関係式(5)中のL1、L2、W1、W2は、それぞれ、以下の通りである。
L1=線分B4B2の長さ、L2=線分B1B3の長さ
i=1の場合、W1=x、W2=y
i=2の場合、W1=x、W2=-(1-y)
i=3の場合、W1=-(1-x)、W2=-(1-y)
i=4の場合、W1=-(1-x)、W2=y
4個の頂点A1~A4の座標のそれぞれについて、上記の2個の関係式(3)、(4)が成り立ち、未知数は、(α、β、γ)の3個である。CPU32は、上記の2個の関係式(3)、(4)についての連立方程式を解いて、(α、β、γ)を算出する。
T106に続くT108では、CPU32は、対象物100の照射面の縦横の実際の長さを算出する。図7は、撮像画像内の線分B1B3の投影元である対象物100の線分C1C3の実際の長さを算出する方法を示す。図7は、対象物100を線分C1C3と直交する方向から見た図である。図7に示すように、対象物100の照射面は、カメラ20に対して角度θだけ傾いている。このため、撮像画像内の線分B1B3は、対象物100の線分C1C3が角度θだけ傾いて、カメラ20の投影面上に投影された線分に相当する。
図7に示すように、対象物100の端点C1とカメラ20を結ぶ投影線上の点CC1と、対象物100の端点C3とカメラ20を結ぶ投影線上の点CC3と、を想定する。線分CC1CC3は、投影面と平行であり、対象物100の照射面上の指示マーカP0と通る。線分CC1CC3は、撮影画像上の線分B1B3を現実の長さ(即ち単位がメートル)に変換したものに相当する。
図7において、カメラ20と、点CC1と、指示マーカP0と、を結ぶ直角三角形TR2に着目する。ここで、線分PB1のピクセル数をn2とすると、以下の関係(6)が成り立つ。
Figure 0007464851000005
上記の関係(6)から、線分CC1P0の長さ(単位はメートル)が算出される。線分CC1P0は、撮影画像上の線分B1Pを現実の長さに変換したものに相当するので、CC1P0/B1Pによって、1ピクセル辺りの現実の長さ(単位はメートル)が算出される。これにより、線分PB3のピクセル数から、線分P0CC3の長さも算出される。
続いて、カメラ20と、端点CC3と、指示マーカP0と、を結ぶ三角形TR3に着目する。三角形TR3の内角のうち、カメラ20の頂点の内角S4は、距離dと線分P0CC3の長さとを利用して算出される。そして、線分P0CC3と線分P0C3の間の角度θは、T106で算出されたカメラ20の回転角度(α、β、γ)を利用して算出される。そして、三角形TR3において、角度S4、角度θ、線分P0CC3、及び、距離d(即ち三角形TR3の一辺の長さ)を利用して、線分P0C3の実際の長さが算出される。
さらに、カメラ20と、端点C1と、指示マーカP0と、を結ぶ三角形TR4に着目する。三角形TR4の内角のうち、カメラ20の頂点の内角S5は、距離dと線分CC1P0の長さとを利用して算出される。そして、三角形TR4において、角度S5、角度θ、線分CC1P0、及び、距離d(即ち三角形TR4の一辺の長さ)を利用して、線分C1P0の実際の長さが算出される。
算出済みの線分P0C3の実際の長さと、算出済みの線分C1P0の実際の長さと、を足し合わせて、線分C1C3の実際の長さが算出される。
さらに、CPU32は、上記の方法を利用して、線分C1C3の実際の長さに加えて、撮影画像内の線分B4B2の投影元である照射面上の線分(即ち線分C1C3と直交する線分)の実際の長さを算出する。これにより、照射面の縦の辺の長さと、照射面の横の辺の長さと、の双方が算出される。T108の処理が終了すると、図4の処理が終了する。
本実施例の構成によれば、コード読取装置2は、情報コードを指示する指示マーカを示すマーカ画像と、カメラ20と照射部22との間の距離Dと、照射角度S3と、を利用して、カメラ20(即ちコード読取装置2の筐体10)と対象物100の照射面との間の距離dを算出する(図4のT100、図5)。コード読取装置2は、算出済みの距離dと、撮像画像のうち、対象物100の照射面のエッジと、を利用して、対象物100の照射面の縦横の長さの双方を算出し(図4のT102~T108、図6、図7)、出力する(図3のT42)。これにより、対象物100の長さが計測される。例えば、指示マーカの形状を2点以上の特徴点を含む特殊な形状に変更して、対象物100の長さを算出する比較例が想定される。本実施例の構成によれば、筐体10に支持されているカメラ20と同じ筐体10に支持されている照射部22との間の距離Dと、照射角度S3と、を利用することにより、指示マーカの形状を特殊な形状に変更することなく、1個の単純な円形等である指示マーカを対象物100の長さの算出にそのまま流用することができる。対象物100の長さを簡易な構成で計測することができる。
また、上記の2点以上の特徴点を含む特殊な形状の指示マーカを利用する比較例では、照射面の計測対象の辺に対して平行な2点の特徴点を結ぶ線を基準として、当該辺の長さが算出される。即ち、2点の特徴点を結ぶ線が計測対象の辺に対して平行となるように比較例のコード読取装置の姿勢を調整する必要がある。これに対して、本実施例の構成によれば、指示マーカを対象物100の一面に照射すればよく、指示マーカの形状に合わせてコード読取装置2の姿勢を調整する必要がない。ユーザの利便性が向上する。
また、本実施例の構成によれば、ユーザは、指示マーカを一面に続けて他面に照射する(図3のT32)。これにより、対象物100の一面の長さだけでなく、当該対象物100の他面の長さも算出することができる。
(対応関係)
対象物100、コード読取装置2が、それぞれ、「対象物」、「コード読取装置」の一例である。カメラ20、照射部22、筐体10、制御部30が、それぞれ、「カメラ」、「照射部」、「筐体」、「制御部」の一例である。指示マーカによって指示された情報コードを読み取る処理を実行する制御部30が、「読取部」の一例である。図3のT30、T42の処理を実行する制御部が、「算出部」の一例である。図3のT14を実行する制御部30、T18を実行する制御部30が、それぞれ、「第1の撮像制御部」、「第2の撮像制御部」の一例である。図4のT100が、「距離算出処理」の一例である。図5の距離D、角度S3が、それぞれ、「所定距離」、「照射部の角度」の一例である。1回目の照射面算出処理において計測された距離d、2回目の照射面算出処理において計測された距離dが、それぞれ、「第1の対象距離」、「第2の対象距離」の一例である。図4のT108の処理が、「第1の長さ算出処理」の一例である。図3のT42が、「出力処理(及び体積算出処理)」の一例である。図3のT40において特定の関係が満たされる条件が、「所定の条件が満たされる」ことの一例である。
(第2実施例)
本実施例は、計測処理の内容が異なる点を除いて、第1実施例と同様である。本実施例の計測処理によって実現される計測方法も、2回の長さ算出工程を含む。1回目の長さ算出工程は、第1実施例と同様に、指示マーカを対象物100の一面に照射して、当該一面を撮像することにより、縦、横、高さのうちの二辺の長さを算出する工程である。2回目の長さ算出工程は、第1実施例と異なり、指示マーカを対象物100の他の面に照射することなく、当該他の面の縦横の長さの一方を算出する工程である。
(計測処理;図8)
本実施例の計測処理は、T32、T40、T46の処理が実行されず、T100の処理が追加される点を除いて、第1実施例と同様である。第1実施例と同様の処理には、第1実施例と同様の符号を付す。ここで、本実施例では、T14の撮像において、指示マーカが照射されている照射面だけでなく、指示マーカが照射されていない他の面(以下では、「非照射面」と記載)の全体もカメラ20の画角内に収める。これにより、コード読取装置2は、図9に示すような撮像画像を取得する。
CPU32は、T30において、照射面算出処理を実行すると、T100において、非照射面算出処理を実行する。非照射面算出処理は、対象物100の縦、横、高さの長さのうち、照射面算出処理で算出される二辺を除く残りの一辺の長さを算出するための処理である。具体的な算出方法は、以下の通りである。
最初に、現実の三次元空間について、対象物100の中心を原点とする三次元座標を設定する。ここで、対象物100の縦、横、高さの長さを、それぞれ、2L、2W、2Hとする。これにより、照射面及び非照射面の6個の頂点D1~D6の三次元座標が、L,W、Hによって表される。例えば、頂点D1=(-L、W、H)である。
次に、対象物100の撮像画像において、エッジの6個の頂点A1~A6は、それぞれ、上記の6個の頂点D1~D6に対応する。撮像画像の左上を頂点とする二次元座標を設定すると、エッジの6個の頂点A1~A6の二次元座標が、撮像画像のピクセル数によって表される。
一般に、三次元空間の対象物100を投影面に投影して撮像画像を取得する場合に、三次元空間における三次元座標と撮像画像における二次元座標との間に、以下に示す射影方程式(7)(8)が成り立つ。
Figure 0007464851000006
Figure 0007464851000007
ここで、r1、r2、r3は、回転行列の3個の行ベクトルであり、t1、t2、t3は、並進ベクトルの三成分であり、(a0、b0)は、撮像画像の主点座標であり、fは、カメラ20の焦点距離である。(a0、b0)、fは、既知の値である。また、L、W、Hのうちの2個(例えばL、W)は、T30の照射面算出処理によって算出された値である。このため、未知数は、r1、r2、r3、t1、t2、t3、L、W、Hのうちの残りの1個(例えばH)の合計7個である。
撮像画像内のエッジの6個の頂点A1~A6のそれぞれについて、三次元空間の対応する頂点への射影方程式(7)(8)が成り立つ。CPU32は、6個の頂点A1~A6の射影方程式(7)(8)についての連立方程式を解いて、上記の7個の未知数を算出する。この結果、L、W、Hのうちの残りの1個が算出される。
CPU32は、T100の処理に続いて、T42の処理を実行する。これにより、対象物100の体積が計測される。
本実施例の構成によれば、指示マーカを一面に照射すれば、指示マーカを他の面に照射することなく、対象物100の三方向の辺のそれぞれの長さを算出することができる。図9によって示される非照射面算出処理が、「第2の長さ算出処理」の一例である。
(第3実施例)
本実施例は、非照射面算出処理の内容が異なる点を除いて、第2実施例と同様である。
(非照射面算出処理;図10)
図10を参照して、本実施例の非照射面算出処理について説明する。T110では、CPU32は、以下の条件を満たす仮想的な指示マーカVP0に対応する仮想的なマーカ画像VPを撮像画像内に設定する(図11参照)。仮想的な指示マーカVP0は、対象物100の非照射面上に仮想的に照射されるマーカであり、仮想的なマーカ画像VPは、非照射面のエッジ内に設定される。また、仮想的な指示マーカVP0は、撮像画像内の線分PB1に対応する対象物100上の線分P0C1を真っすぐに非照射面まで延ばした線分C1E1上に設定され、線分C1E1は、撮像画像内の線分B1D1に対応する。図11の下図は、対象物100を線分C1E1と直交する方向から見た図である。また、仮想的な指示マーカVP0は、投影面と平行な、カメラ20を通過する原点平面から距離dだけ離れた位置に設定される。
T112では、CPU32は、対象物100の非照射面上の線分C1VP0の長さを算出する。線分C1VP0は、線分C1E1のうち、照射面と近位な線分である。上記の条件を満たす仮想的な指示マーカVP0が設定されると、対象物100上に図11に示すような直角三角形P0C1VP0が想定される。ここで、線分P0C1は、図8のT30の照射面算出処理において算出されている。また、カメラ20の投影面に対する照射面の角度θは、当該照射面算出処理で算出されたカメラ20の回転角度(α、β、γ)を利用して算出される。従って、線分C1VP0の長さは、線分P0C1と角度θとを利用して算出される。
T114では、CPU32は、対象物100の非照射面上の線分VP0E1の長さを算出する。線分VP0E1は、線分C1E1のうち、照射面と遠位な線分である。図11において、カメラ20と、指示マーカP0と、仮想的な頂点VE1と、を結ぶ直角三角形TR5に着目する。ここで、仮想的な頂点VE1は、カメラ20と対象物100の非照射面の端点E1を結ぶ投影線と、指示マーカP0と仮想的な指示マーカVP0とを結ぶ線と、の交点である。図8のT30の照射面算出処理において、1ピクセル辺りの現実の長さ(単位はメートル)が算出されている。従って、直角三角形TR5のうち、辺VE1P0の長さは、撮像画像上の線D1VPPのピクセル数n3を利用して算出される。そして、直角三角形TR5の一つの内角S6は、算出済みの辺VE1P0の長さと、直角三角形TR5のうち、指示マーカP0とカメラ20とを結ぶ辺の長さ、即ち、距離dと、を利用して、算出される。
続いて、端点E1と、仮想的な頂点VE1と、仮想的な指示マーカVP0と、を結ぶ三角形TR6に着目する。三角形TR6のうち、辺VE1VP0は、撮像画像上の線分D1VPのピクセル数n4を利用して算出される。また、三角形TR6の一つの内角S7は、カメラ20の投影面に対する照射面の角度θを利用して算出される。そして、三角形TR6のうち、辺E1VP0の長さは、辺VE1VP0と、三角形TR6の内角S7、三角形TR6の外角S6(即ち直角三角形TR5の内角S6)とを利用して算出される。
以上より、近位な線分C1VP0の長さと、遠位な線分VP0E1と、を足し合わせて、線分C1E1の長さが算出される。これにより、対象物100の縦、横、高さの全ての長さが算出される。
T114に続くT140では、CPU32は、照射面算出処理と非照射面算出処理との双方の精度を判定する。例えば、CPU32は、T110で設定した仮想的なマーカ画像VPを利用して、照射面算出処理(図4参照)の一部を実行して、照射面と非照射面とで共有する特定の辺(以下では、「共有の辺」と記載)の長さを算出する。ここで、T102では、非照射面のエッジにおけるx、yの比率のうち、共有の辺と直交する辺における比率が算出される。非照射面のエッジにおけるx、yの比率のうち、共有の辺における比率は、マーカ画像Pにおける照射面算出処理で算出された比率と同じである。また、T104では、上記の算出済みの比率とマーカ画像Pを利用した照射面算出処理で算出された比率が利用されて、非照射面のエッジの二方向の線分のうち、共有の辺と平行な線分の長さが算出される。非照射面に対するカメラ20の回転角度は、マーカ画像Pにおける照射面算出処理で算出された照射面に対する回転角度(α、β、γ)を利用して算出される。そして、T108では、マーカ画像Pの代わりに仮想的なマーカ画像VPが利用されて、共有の辺の実際の長さが算出される。
続いて、CPU32は、マーカ画像Pを利用した照射面算出処理で算出された共有の辺の長さと、仮想的なマーカ画像VPを利用した照射面算出処理で算出された共有の辺の長さと、の差分の絶対値が所定の閾値を下回るのか否かを判断する。当該所定の閾値は、例えば、第1実施例の図3のT40における所定の閾値と同じである。CPU32は、当該差分の絶対値が所定の閾値を下回ると判断する場合に、照射面算出処理と非照射面算出処理との双方の精度の判定として「OK」を決定し(T140でNO)、後述するT142、T144の処理をスキップして、図10の処理を終了する。
一方、CPU32は、上記の差分の絶対値が所定の閾値を上回ると判断する場合に、照射面算出処理と非照射面算出処理との双方の精度の判定として「NG」を決定し(T140でYES)、T142に進む。T142、T144では、CPU32は、仮想的な指示マーカVP0を利用した算出方法(T110~T114参照)とは異なる方法で、対象物100の縦、横、高さのうちの一つの長さを算出する。当該異なる方法は、具体的には、第2実施例の射影方程式(7)(8)を利用した算出方法である。
T142では、CPU32は、マーカ画像Pを利用した照射面算出処理で算出された二辺の長さと、T110~T140で算出された二辺の長さと、のうちの一方を射影方程式(7)(8)に代入すべき対象の二辺の長さに決定する。例えば、対象物100の一面に対して低い位置から対象物100を撮像すると、当該一面が大きく歪んで投影される。投影された画像が実際の面よりも大きく歪むと、当該画像を利用して算出された長さの精度が悪化し得る。また、当該一面に対して低い位置から対象物100を撮像した場合、対象物100のうち、当該一面と直交する他の面は、当該他の面に対して高い位置から撮像されるため、当該他の面は、当該一面に比べて歪んでいない。一般的に、歪んだ一面は、歪んでいない他の面に比べて、扁平な形状となる。本実施例では、CPU32は、撮像画像内の照射面の画像の4辺の合計である第1の合計値と、撮像画像内の非照射面の画像の4辺の合計である第2の合計値と、を比較する。CPU32は、第1の合計値と第2の合計値のうち長い値に対応する画像を扁平でなく歪んでいない面として決定する。そして、CPU32は、決定済みの面が照射面である場合には、マーカ画像Pを利用した照射面算出処理で算出された二辺の長さを対象の二辺の長さに決定し、決定済みの面が非照射面である場合には、T110~T140で算出された二辺の長さを対象の二辺の長さに決定する。
T144は、T142で決定された対象の二辺の長さが、2L、2W、2Hのうちの2個の値として利用される点を除いて、図9に示す第2実施例の処理と同様である。これにより、対象物100の縦、横、高さのうち、対象の二辺の長さを除く残りの一辺の長さが算出される。T144が終了すると、図10の処理が終了する。
本実施例の構成でも、第2実施例と同様に、指示マーカを一面に照射すれば、指示マーカを他の面に照射することなく、対象物100の三方向の辺のそれぞれの長さを算出することができる。
また、本実施例の構成では、仮想的な指示マーカVP0を利用して簡易に非照射面の長さを算出することができる。また、本実施例の構成では、仮に、仮想的な指示マーカVP0を利用した算出の精度が悪い場合でも、射影方程式(7)(8)を利用した算出により対象物100の縦、横、高さの全てを算出することができる。なお、本実施例の変形例では、T140~T144の処理は実行されなくてもよい。また、図11に示す仮想的な指示マーカVP0の設定条件は、一例に過ぎず、仮想的な指示マーカVP0は、指示マーカP0を基準に設定されればよい。また、図10の非照射面算出処理が、「第3の長さ算出処理」の一例である。
以上、本明細書で開示する技術の具体例を説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
(変形例1)上記の各実施例では、ユーザは、コード読取装置2の姿勢を調整して、指示マーカP0を対象物100の一面上に移動させる。これに代えて、コード読取装置2の姿勢が固定されており、ユーザは、対象物100の姿勢を調整して、指示マーカを対象物100の一面上に移動させてもよい。この場合、対象物100の撮像のトリガは、操作部12を介した指示に限らず、例えば、カメラ20の画角内に投影されている対象物100のエッジを検出し、当該エッジ内に指示マーカを示す画像が収まることが検知されることであってもよい。また、この変形例では、コード読取装置2は、ユーザが携帯可能な装置に限らず、据置型の装置であってもよい。
(変形例2)上記の各実施例では、照射面算出処理において、照射面の縦横の長さの双方が算出される。これに代えて、照射面算出処理において、照射面の縦横の長さのうちの一方のみが算出されてもよい。一般的に言えば、「第1の長さ算出処理」は、一面の縦横の長さのうちの少なくとも一方の長さを算出すればよい。
(変形例3)図3のT32の処理は実行されなくてもよい。この場合、コード読取装置2は、測定結果として、照射面の縦横の長さの双方のみを表示してもよい。また、本変形例では、対象物100は、直方体に限らず、例えば、四角錐、三角柱等であってもよい。本変形例では、「第2の対象距離」の算出、及び、「他の面の縦横の長さのうちの少なくとも一方の長さ」の算出を省略可能である。
(変形例4)図3のT40、T42の処理は実行されなくてもよい。本変形例では、「所定の閾値」及び「体積算出処理」を省略可能である。
(変形例5)図3のT22の処理は実行されなくてもよい。本変形例では、「判断部」を省略可能である。
(変形例6)図3のT18の処理は実行されなくてもよい。本変形例では、「第2の撮像制御部」を省略可能である。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2 :コード読取装置
10 :筐体
12 :操作部
14 :表示部
20 :カメラ
22 :照射部
30 :制御部
32 :CPU
34 :メモリ
40 :プログラム
100 :対象物
A1~A4 :頂点
D1~D4 :頂点
P :マーカ画像
P0 :指示マーカ
S1~S7 :角度
TR1~TR6 :三角形
VP :仮想的なマーカ画像
VP0 :仮想的な指示マーカ
d :距離
D :距離
n1~n4、N :ピクセル数
θ :角度
α、β、γ :回転角度
φ :画角

Claims (7)

  1. 情報コードを撮像可能なカメラと、
    前記情報コードを含む範囲を指示する指示マーカを照射する照射部と、 前記カメラと前記照射部とを固定する筐体と、
    前記カメラと前記照射部とを制御する制御部と、
    を備え、
    前記制御部は、
    前記指示マーカによって指示された前記範囲に含まれる前記情報コードに記録されている情報を読み取る読取部と、
    前記照射部によって照射される前記指示マーカと前記カメラによって撮像される画像とを利用して、対象物の一面の縦横の長さのうちの少なくとも一方の長さを算出するための算出部と、
    を備え、
    前記算出部は、
    前記照射部によって前記指示マーカが前記対象物の前記一面に照射され、前記カメラによって前記対象物の前記一面が撮像される場合に、前記カメラによって撮像された撮像画像内の前記指示マーカを示すマーカ画像と、カメラ位置と照射部位置との間の所定距離と、前記筐体に対する前記照射部の角度と、を利用して、前記筐体と前記一面との間の第1の対象距離を算出する距離算出処理であって、前記カメラ位置は、前記カメラの前記筐体内における位置であり、前記照射部位置は、前記照射部の前記筐体内における位置である、前記距離算出処理と、
    前記距離算出処理によって算出された前記第1の対象距離と、前記撮像画像のうち、前記対象物の前記一面を示す画像のエッジと、を利用して、前記一面の縦横の長さのうちの少なくとも一方の長さを算出する第1の長さ算出処理と、
    前記第1の長さ算出処理の結果を出力する出力処理と、
    を実行するように構成されている、
    コード読取装置。
  2. 前記対象物は、前記一面と、前記一面と直交する他の面と、を有し、
    前記距離算出処理は、さらに、
    前記照射部によって前記指示マーカが、前記対象物のうち、前記他の面に照射され、前記カメラによって前記対象物の前記他の面が撮像される場合に、前記マーカ画像と、前記所定距離と、を利用して、前記筐体と前記他の面との間の第2の対象距離を算出し、
    前記第1の長さ算出処理は、さらに、
    前記距離算出処理によって算出された前記第2の対象距離と、前記撮像画像のうち、前記対象物の前記他の面の画像のエッジと、を利用して、前記他の面の縦横の長さのうちの少なくとも一方の長さを算出する、請求項1に記載のコード読取装置。
  3. 前記対象物は、直方体であり、
    前記第1の長さ算出処理は、前記一面の縦横の双方の長さを示す2個の値と、前記他の面の縦横の双方の長さを示す2個の値と、を算出し、
    前記一面において算出された前記2個の値は、前記一面と前記他の面の双方で共有する特定の辺の長さを示す第1の値を含み、
    前記他の面において算出された前記2個の値は、前記特定の辺の長さを示す第2の値を含み、
    前記算出部は、さらに、
    前記第1の値と前記第2の値の差分の絶対値が所定の閾値を下回る場合に、前記第1の長さ算出処理の結果を利用して、前記直方体の体積を算出する体積算出処理を実行するように構成されており、
    前記絶対値が前記所定の閾値を上回る場合に、前記体積算出処理は実行されない、請求項2に記載のコード読取装置。
  4. 前記対象物は、前記一面と、前記一面と直交する他の面と、を有し、
    前記撮像画像は、前記一面と、前記他の面と、を示す二面の画像を含み、
    前記一面の縦横の二辺は、第1の方向の辺と、前記第1の方向と直交する第2の方向の辺と、を含み、
    前記他の面の縦横の二辺は、前記第2の方向の辺と、前記第2の方向と直交する第3の方向の辺と、を含み、
    前記算出部は、さらに、
    前記第1の長さ算出処理によって算出された前記一面の縦横の長さの双方と、前記二面の画像のエッジと、を利用して、前記他の面の縦横の二辺のうち、前記第3の方向の辺の長さを算出する第2の長さ算出処理を実行するように構成されている、請求項1に記載のコード読取装置。
  5. 前記対象物は、前記一面と、前記一面と直交する他の面と、を有し、
    前記撮像画像は、前記一面と、前記他の面と、を示す二面の画像を含み、
    前記一面の縦横の二辺は、第1の方向の辺と、前記第1の方向と直交する第2の方向の辺と、を含み、
    前記他の面の縦横の二辺は、前記第2の方向の辺と、前記第2の方向と直交する第3の方向の辺と、を含み、
    前記算出部は、さらに、
    前記一面に照射された前記指示マーカを基準として、前記二面の画像のうち、前記他の面を示す画像内に仮想的なマーカを設定し、前記仮想的なマーカを利用して、前記他の面の縦横の二辺のうち、前記第3の方向の辺の長さを算出する第3の長さ算出処理を実行するように構成されている、請求項1に記載のコード読取装置。
  6. 前記制御部は、さらに、
    前記照射部によって前記指示マーカが前記対象物の前記一面に照射され、前記カメラによって前記対象物の前記一面が撮像される場合に、前記一面を示す画像内に前記指示マーカを示す画像が存在することに関する所定の条件が満たされるのか否かを判断する判断部を含み、
    前記所定の条件が満たされると判断される場合に、前記距離算出処理及び前記第1の長さ算出処理が、実行され、
    前記所定の条件が満たされないと判断される場合に、前記距離算出処理及び前記第1の長さ算出処理は、実行されない、請求項1から5のいずれか一項に記載のコード読取装置。
  7. 前記制御部は、さらに、
    前記対象物の前記一面の撮像を第1の感度において前記カメラに実行させる第1の撮像制御部と、
    前記対象物の前記一面の撮像を前記第1の感度より低い第2の感度において前記カメラに実行させる第2の撮像制御部と、
    を備え、
    前記エッジは、前記第1の感度によって撮像された前記撮像画像から抽出され、
    前記マーカ画像は、前記第2の感度によって撮像された前記撮像画像から抽出される、請求項1から6のいずれか一項に記載のコード読取装置。
JP2021053777A 2021-03-26 2021-03-26 コード読取装置 Active JP7464851B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021053777A JP7464851B2 (ja) 2021-03-26 2021-03-26 コード読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021053777A JP7464851B2 (ja) 2021-03-26 2021-03-26 コード読取装置

Publications (2)

Publication Number Publication Date
JP2022150945A JP2022150945A (ja) 2022-10-07
JP7464851B2 true JP7464851B2 (ja) 2024-04-10

Family

ID=83464904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021053777A Active JP7464851B2 (ja) 2021-03-26 2021-03-26 コード読取装置

Country Status (1)

Country Link
JP (1) JP7464851B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328008A (ja) 2001-04-27 2002-11-15 Nippon Signal Co Ltd:The 寸法測定方法及び寸法測定システム
JP2004219255A (ja) 2003-01-15 2004-08-05 Matsushita Electric Ind Co Ltd サイズ測定装置、方法および測定プログラム
JP2014127151A (ja) 2012-12-27 2014-07-07 Sony Computer Entertainment Inc 情報処理装置、情報処理システム、および情報処理方法
JP2018112521A (ja) 2017-01-13 2018-07-19 株式会社オプトエレクトロニクス 寸法測定装置、測定機能付き情報読取装置及び寸法測定方法
JP2019128264A (ja) 2018-01-25 2019-08-01 広和株式会社 液中物測定装置および方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328008A (ja) 2001-04-27 2002-11-15 Nippon Signal Co Ltd:The 寸法測定方法及び寸法測定システム
JP2004219255A (ja) 2003-01-15 2004-08-05 Matsushita Electric Ind Co Ltd サイズ測定装置、方法および測定プログラム
JP2014127151A (ja) 2012-12-27 2014-07-07 Sony Computer Entertainment Inc 情報処理装置、情報処理システム、および情報処理方法
JP2018112521A (ja) 2017-01-13 2018-07-19 株式会社オプトエレクトロニクス 寸法測定装置、測定機能付き情報読取装置及び寸法測定方法
JP2019128264A (ja) 2018-01-25 2019-08-01 広和株式会社 液中物測定装置および方法

Also Published As

Publication number Publication date
JP2022150945A (ja) 2022-10-07

Similar Documents

Publication Publication Date Title
JP3951984B2 (ja) 画像投影方法、及び画像投影装置
US9521284B2 (en) Interactive user interface for capturing a document in an image signal
US20140078345A1 (en) System for capturing a document in an image signal
CN109426835B (zh) 信息处理装置、信息处理装置的控制方法和存储介质
US7684613B2 (en) Method and system for aligning three-dimensional shape data from photogrammetry data and three-dimensional measurement data using target locations and surface vectors
US9715730B2 (en) Three-dimensional measurement apparatus and robot system
US20110019243A1 (en) Stereoscopic form reader
US20140253511A1 (en) System, information processing apparatus, and information processing method
JP2011191312A (ja) 画像処理装置
US20180336733A1 (en) Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium
CN109479082A (zh) 图象处理方法及装置
JP5828024B2 (ja) 3次元測定装置
KR20200103115A (ko) 가상 물체 표시 제어 장치, 가상 물체 표시 시스템, 가상 물체 표시 제어 방법, 및 가상 물체 표시 제어 프로그램
JPS62285004A (ja) 対象パタ−ンの回転角検出方式
CN110853102A (zh) 一种新的机器人视觉标定及引导方法、装置及计算机设备
JPWO2005096129A1 (ja) 撮像装置の指示位置検出方法および装置、撮像装置の指示位置検出用プログラム
JP7464851B2 (ja) コード読取装置
CN114004890A (zh) 姿态确定方法、装置、电子设备和存储介质
US11055865B2 (en) Image acquisition device and method of operating image acquisition device
KR102279306B1 (ko) 가상 물체 표시 제어 장치, 가상 물체 표시 시스템, 가상 물체 표시 제어 방법, 및 가상 물체 표시 제어 프로그램
JP2007026423A (ja) 画像処理装置および画像処理方法
JP2013195368A (ja) 欠陥検出装置
KR20240060260A (ko) 아날로그 게이지 이미지에서의 측정값 인식 장치 및 방법
JPH05157518A (ja) 物体認識装置
WO2021145304A1 (ja) 画像処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240131

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: 20240227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240311

R150 Certificate of patent or registration of utility model

Ref document number: 7464851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150