以下、各実施例について、添付図面を参照しながら説明する。
[実施例1]
<ハードウェア>
図1は、実施例1における情報処理装置10のハードウェアの一例を示すブロック図である。図1に示す例では、情報処理装置10は、撮像部12、表示部13と接続される。撮像部12は、撮像素子を有する撮像装置であり、例えばカメラである。撮像部12は、表示器11に表示されるセグメント構造の値を所定間隔で撮像する。撮像部12により撮像された画像(撮像画像とも呼ぶ)は、情報処理装置10に出力される。表示器11に複数のセグメント構造の値が表示される場合は、撮像部12は、少なくとも1つの値を含むようにして撮像する。
表示器11は、複数のセグメントで表す値を表示する。表示器11は、例えば、放射線の線量計や温度計、電卓などのメーターであり、7セグメントで値を表す。
情報処理装置10は、撮像部12から取得した撮像画像に対して、セグメント抽出処理を行い、セグメント表示の値に対応するデジタル値を取得する。情報処理装置10は、このデジタル値を表示部13に表示するよう制御してもよい。
表示部13は、例えばCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等であり、情報処理装置10から取得したデジタル値を表示する。
情報処理装置10は、制御部101、主記憶部102、補助記憶部103、通信部104、ドライブ装置105を有する。各部は、バスを介して相互にデータ送受信可能に接続されている。
制御部101は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPU(Central Processing Unit)である。また、制御部101は、主記憶部102や補助記憶部103に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
主記憶部102は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)などである。主記憶部102は、制御部101が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
補助記憶部103は、例えばHDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。補助記憶部103は、例えば撮像部12から取得した画像を記憶する。
通信部104は、有線又は無線で周辺機器とデータ通信を行う。通信部104は、例えばネットワークを介して、文字を含む画像を取得し、補助記憶部103に記憶する。
ドライブ装置105は、記録媒体106、例えばフレキシブルディスクやCD(Compact Disc)から所定のプログラムを読み出し、記憶装置にインストールする。
また、記録媒体106に、所定のプログラムを格納し、この記録媒体106に格納されたプログラムは、ドライブ装置105を介して情報処理装置10にインストールされる。インストールされた所定のプログラムは、情報処理装置10により実行可能となる。
なお、情報処理装置10は、撮像部12及び表示部13を別構成としたが、どちらか一方、又は両方を含む構成としてもよい。
<機能>
図2は、実施例1における情報処理装置10の機能の一例を示すブロック図である。図2に示す例では、情報処理装置10は、画像取得部200、抽出部201、記憶部206、比較部207、計測部208、判定部209、出力部210を有する。
記憶部206は、例えば主記憶部102又は補助記憶部103により実現されうる。画像取得部200、抽出部201、比較部207、計測部208、判定部209、出力部210は、例えば制御部101及びワークメモリとしての主記憶部102により実現されうる。
画像取得部200は、記憶部206に所定間隔で記憶された撮像画像又は所定間隔で撮像部12が撮像した撮像画像を順に取得する。画像取得部200は、順に取得した撮像画像を抽出部201に出力する。
抽出部201は、撮像画像から値毎にONとなっている各セグメントを抽出する。ONのセグメントとは、文字の一部を形成するセグメントをいい、OFFのセグメントとは、文字の一部ではなく、背景を形成するセグメントをいう。
ここで、表示器11を7セグメント表示器とした場合、7セグメント表示器には、黒地に白や緑や赤などで値を表すセグメントが光るものや、電卓のように白地に黒で数字を表示するものなど、様々な種類がある。よって、7セグメント表示器の種類を問わず、7セグメント表示された値をデジタル値として取得したいというニーズがある。
また、デジタル値として取得するには、どのセグメントがONであるかを判別する必要がある。なお、表示器11が設置される環境によっては、表示領域に対する外光が一様ではない場合があり、その場合には、同じ値を構成するセグメントであっても、セグメントの位置によって画像上の輝度が異なる場合が考えられる。例えば8の上水平のセグメントと、下水平セグメントとでは、輝度値が異なる場合がある。
そこで、以下に説明するセグメント抽出方法は、表示器11の種類や外光の状況によらず、各セグメントのON/OFFを適切に判定することができる。なお、セグメントの抽出については、以下に示す方法に限られず、他の公知の方法でセグメントを抽出してもよい。
抽出部201は、領域画像取得部202、直線・線分抽出部203、検知部204、セグメント抽出部205を有する。
領域画像取得部202は、撮像画像内に例えば7セグメント表示される数字を全て含む矩形領域の位置を予め記憶しておく。この矩形領域の位置は、事前にユーザなどにより設定される。この矩形領域は、表示器11の表示領域を含む領域である。
領域画像取得部202は、撮像画像を取得すると、予め設定された位置の矩形領域の画像(領域画像とも呼ぶ)を取得する。領域画像取得部202は、取得した領域画像を直線・線分抽出部203に出力する。
直線・線分抽出部203は、取得した領域画像に対し、例えばハフ変換を行って直線、線分成分を抽出する。直線・線分抽出部203は、抽出した直線、線分成分を検知部204に出力する。
検知部204は、取得した直線、線分成分の本数や画素数に基づいて、表示器11の表示領域に遮蔽物があるか否かを判定する。検知部204は、例えば、3桁の表示領域であることが分かっているときに、1桁の値の線分の最低本数が2本、最高本数が7本であることから、取得した線分の本数が6本以上21本以下であるかを判定する。
検知部204は、この条件を満たさない場合、遮蔽物がある、又は表示領域が曇っているなどのエラーであると検知し、表示部13にエラー表示を行うよう制御する。ここで、検知部204には、何桁の表示領域であるかが予め設定されている。
また、検知部204は、取得した線分又は背景の黒画素数をカウントし、このカウント数と、領域画像の画素数とを比較することで、エラーであるか否かを判定してもよい。領域画像のサイズが予め分かっていれば、その領域画像内に黒画素が少なくともどれくらいあるかを算出することができる。これにより、検知部204は、領域画像内にある黒画素が所定値よりも少ない場合に遮蔽物がある、又は表示領域が曇っているなどのエラーであると検知し、表示部13にエラー表示を行うよう要求する。
検知部204は、遮蔽物などがないと判定した場合に、その旨をセグメント抽出部205に通知する。なお、直線・線分抽出部203、検知部204は、セグメント抽出処理に必ずしも必要な機能ではない。
セグメント抽出部205は、領域画像から、桁毎に、抽出したセグメントのON/OFFを判定する。セグメント抽出部205の詳細は、図3を用いて説明する。
図3は、実施例1におけるセグメント抽出部205の機能の一例を示すブロック図である。図3に示すセグメント抽出部205は、輝度値取得部301、セグメント判定部304を有する。
輝度値取得部301は、桁毎に、予め設定された所定領域の画像内の輝度値を取得する。予め設定された所定領域は、例えばセグメントに隣接する常にOFFの領域である。図3に示す輝度値取得部301は、第1輝度値取得部302、第2輝度値取得部303を有する。
第1輝度値取得部302は、各セグメントに隣接する所定領域、例えば7セグメントの上部の閉領域の画像の輝度値を取得する。閉領域は、セグメントに囲まれる領域である。この輝度値は、例えば、閉領域の画像の平均輝度値とする。
第2輝度値取得部303は、各セグメントに隣接する所定領域、例えば7セグメントの下部の閉領域の画像の輝度値を取得する。
第1輝度値取得部302、第2輝度値取得部303で輝度値が取得される領域は、予め設定されている。
第1輝度値取得部302、第2輝度値取得部303は、領域画像内の桁毎に輝度値を取得し、セグメント判定部304に出力する。
セグメント判定部304は、輝度値取得部301から取得した輝度値と、各セグメントの輝度値とに基づいて、各セグメントがONであるかを判定する。セグメントがONであるとは、そのセグメントが文字の一部として有効な状態であることをいう。
セグメントの輝度値は、セグメントの平均輝度値でもよいし、セグメント内の所定位置の輝度値でもよい。各セグメントの位置は、予め設定されているため、セグメント判定部304は、設定された位置に従って各セグメントの輝度値を取得する。
図3に示すセグメント判定部304は、第1セグメント判定部305、第2セグメント判定部306、第3セグメント判定部307を有する。
第1セグメント判定部305は、7セグメントの中央のセグメントの輝度値と、第1領域及び第2領域の平均輝度値との差分値を算出する。中央のセグメントとは、例えば、7セグメントの中央の水平なセグメントをいう。第1セグメント判定部305は、この差分値と第1閾値とを比較することで、中央のセグメントがONであるか否かを判定する。輝度値の差分値は、例えば、式(1)により求められる。
V:輝度値の差分値
R1,G1,B1:セグメントの画素値
R2,G2、B2:領域の平均画素値
第1セグメント判定部305は、式(1)のR2,G2,B2に対し、第1領域及び第2領域の平均画素値を代入する。
また、輝度値は、色差変換を行った後のYなどでもよい。この場合、輝度値の差分値は、式(2)により求められる。
V=Y1−Y2 ・・・式(2)
Y1:セグメントの輝度値
Y2:領域の平均輝度値
第1セグメント判定部305は、式(2)のY2に対し、第1領域及び第2領域の平均輝度値を代入する。
第1セグメント判定部305は、差分値の絶対値が第1閾値よりも大きい場合、そのセグメントはONであると判定し、差分値の絶対値が第1閾値以下の場合、そのセグメントはOFFであると判定する。
第2セグメント判定部306は、7セグメントの上部の各セグメントの輝度値と、第1領域の輝度値との差分値を算出する。上部の各セグメントとは、例えば、最上セグメント、上左セグメント、上右セグメントの3つのセグメントをいう。第2セグメント判定部306は、この差分値と第2閾値とを比較することで、上部の各セグメントがONであるか否かを判定する。
第2セグメント判定部306は、差分値の絶対値が第2閾値よりも大きい場合、そのセグメントはONであると判定し、差分値の絶対値が第2閾値以下の場合、そのセグメントはOFFであると判定する。
第3セグメント判定部307は、7セグメントの下部の各セグメントの輝度値と、第2領域の輝度値との差分値を算出する。下部の各セグメントとは、例えば、最下セグメント、下左セグメント、下右セグメントの3つのセグメントをいう。第3セグメント判定部307は、この差分値と第3閾値とを比較することで、下部の各セグメントがONであるか否かを判定する。
第3セグメント判定部307は、差分値の絶対値が第3閾値よりも大きい場合、そのセグメントはONであると判定し、差分値の絶対値が第3閾値以下の場合、そのセグメントはOFFであると判定する。
セグメント判定部304は、各セグメントのON/OFFを示す情報を、記憶部206に記憶する。また、セグメント判定部304は、判定に用いた各セグメントの輝度値及び/又はセグメントと領域との輝度値の差分値を記憶部206に記憶するようにしてもよい。
これにより、セグメントの輝度値と、常にOFFである領域の輝度値との差分値を用いることで、表示器11の種類に関係なく、セグメントのON/OFFを判定することができる。また、セグメント毎に、隣接する常にOFFの領域の輝度値を用いて比較するので、外光の影響を減らし、セグメント毎にON/OFFを適切に判定することができる。よって、上述したセグメント抽出方法によれば、ONである各セグメントを適切に抽出することができる。
図2に戻り、記憶部206は、撮像画像や、セグメントの組み合わせによる文字パターンを含む辞書(セグメント辞書とも呼ぶ)や、セグメントのON/OFFを判定する閾値、各セグメントのON/OFFを示す情報、各セグメントのON/OFFの輝度値の情報などを記憶する。ここでの文字は、数字を含み、以下では数字を例にして説明する。また、記憶部206は、複数の記憶領域にそれぞれのデータを記憶してもよく、また、複数の記憶装置にそれぞれのデータを記憶するようにしてもよい。
比較部207は、記憶部206から桁毎に各セグメントのON/OFFを示す情報を取得し、ONのセグメントの組み合わせが、記憶部206に記憶されているセグメント辞書に含まれる数字に一致するかを比較する。比較部207は、比較結果が一致した場合、一致した旨を計測部208に通知し、一致した数字を出力部210に出力する。比較部207は、この処理を全ての桁に対して行う。
比較部207は、少なくとも1つの桁で比較結果が一致しなかった場合、辞書にない数字が表示されていると判断して、計測部208に不一致を示す旨を通知する。
また、表示器11が液晶の表示領域を有する場合、数字が切り替わる時に、切替前の数字が消えてから切替後の数字が表示されるものがある。この場合、数字の切り替え中に撮像部12が撮像すると、輝度値が正常なON状態とは異なる状態で撮像されてしまう。このような輝度値のエラーを検知する必要がある。
そこで、比較部207は、例えば、比較対象のONのセグメントの輝度値と、記憶部206に記憶されているそのセグメントのON時の平均輝度値との差が、所定の閾値以上であれば、比較対象のセグメントの輝度値は異常時(切り替わり時)の輝度値であるとして、撮像部12に再撮像を要求する。これにより、数字の切り替わりに伴うセグメントの輝度値異常を検出することができる。
また、比較部207は、各セグメントのON/OFF判定に用いる輝度差に所定範囲を設け、この輝度差が所定範囲を超えていれば、セグメントの輝度値に異常があると検出することもできる。第1領域又は第2領域の輝度値はほぼ一定であるのでセグメントの輝度値が異常であると、この差分値に影響が出る。よって、セグメントがON又はOFF時のこの差分値が所定範囲になければ、比較部207は、セグメントの輝度値が異常であると判定することができる。
計測部208は、比較部207により不一致の通知を受けた時から、一致の通知を受けるまでの時間を計測する。この時間は、継続時間とも呼び、抽出された各セグメントが辞書に存在しない時間を表す。計測部208は、計測した継続時間を判定部209に出力する。
また、計測部208は、画像の撮像周期を記録しておき、辞書にない数字が認識された時刻の周期に基づき、撮像部12により撮像される撮像周期を自動的に調整してもよい。例えば、計測部208は、辞書にない数字が認識された時刻の周期よりも、撮像間隔を長くし、撮像周期をずらす。計測部208は、調整した撮像間隔を撮像部12に通知する。
これにより、撮像した時に、各セグメントの組み合わせが辞書にない可能性を低くし、再撮像に伴う処理を減らすことができる。
また、計測部208は、辞書に存在しないセグメントの組み合わせが、前回抽出されたセグメントの組み合わせと同じである場合に、継続時間を計測するようにしてもよい。エラーコードを示すセグメントの組み合わせは、継続して表示されるためである。一方で、抽出されたセグメントの組み合わせが、例えば2回連続で辞書に存在しなかったとしても、そのセグメントが異なる組み合わせであれば、異なる2文字間の切り替わり状態が撮像された可能性が高い。
これにより、計測部208は、抽出されたセグメントの組み合わせが辞書に存在しない場合であり、かつ、前回抽出されたセグメントの組み合わせと同じである場合に、継続時間を計測するようにしてもよい。計測部208は、抽出されたセグメントの組み合わせについては、比較部207から取得してもよいし、比較部208から通知と共に入力されてもよい。
また、計測部208は、抽出された複数の桁で同じセグメントの組み合わせが表示され、そのセグメントの組み合わせが辞書に存在しない場合の継続時間を計測してもよい。エラーコードは、例えば全ての桁で同じコードが表示される場合があるからである。
判定部209は、計測部208が計測した時間と所定値(例えば3秒)とを比較する。判定部209は、計測した時間が所定値を超えた場合、故障を示すエラーコードが表示されていると判定する。
また、判定部209は、計測した時間が所定値以下の場合、数字の切り替わり状態であると判定し、撮像部12に再撮像を要求する。これにより、他の時刻で再びセグメント抽出処理を行うことができる。また、このリトライ処理は、所定回数行われればよい。判定部209は、エラーコードが表示されていると判定した場合、出力部210にその旨を通知する。
出力部210は、比較部207から取得した各桁の数字を撮像時刻と対応付けて記憶し、例えば、CSVファイル形式などで出力する。また、出力部210は、各桁の数字と撮像時刻とを表示部13に出力するようにしてもよい。
また、出力部210は、判定部209からエラーコードが表示されていることを通知された場合、表示器11が故障したことを表示するよう表示部13に要求する。これにより、表示部13は、故障表示を行い、ユーザに表示器11が故障したことを知らせることができる。
<セグメント抽出処理概要>
次に、実施例1におけるセグメント抽出の処理概要について具体例を用いて説明する。表示器11は、例えば7セグメントで数字を表示するメーターであるとする。
図4は、領域画像の一例を示す図である。図4に示す領域画像401は、領域画像取得部202により、撮像画像から予め設定された位置を切り出すことで取得される。領域画像取得部202は、7セグメント表示される表示領域の撮像画像内の位置を予め設定しておく。この事前設定は、ユーザなどにより設定可能とする。
また、領域画像401内の各桁の位置やセグメントの位置、セグメント内の閉領域の位置なども事前に設定されている。
図5は、各セグメントと閉領域を説明するための図である。図5に示す領域Aは、7セグメントの上部の閉領域を表し、第1領域に対応する。図5に示す領域Bは、7セグメントの下部の閉領域を表し、第2領域に対応する。
セグメント(1)は、7セグメントの中央の横セグメントを表す。
セグメント(2)は、7セグメントの上左の縦セグメントを表す。
セグメント(3)は、7セグメントの最上の横セグメントを表す。
セグメント(4)は、7セグメントの上右の縦セグメントを表す。
セグメント(5)は、7セグメントの下右の縦セグメントを表す。
セグメント(6)は、7セグメントの最下の横セグメントを表す。
セグメント(7)は、7セグメントの下左の縦セグメントを表す。
図5に示すような位置関係の場合、第1輝度値取得部302は、図5に示す領域Aの輝度値を領域画像から取得する。この輝度値は、例えば領域Aの平均輝度値である。
第2輝度値取得部303は、図5に示す領域Bの輝度値を領域画像から取得する。この輝度値は、例えば領域Bの平均輝度値である。
第1セグメント判定部305は、セグメント(1)の輝度値と、領域Aと領域Bの平均輝度値との差分値を算出し、この差分値と第1閾値とを比較することで、セグメント(1)がONであるかを判定する。
第2セグメント判定部306は、セグメント(2)〜(4)の上部の各セグメントの輝度値と、領域Aの輝度値との差分値を算出し、この差分値と第2閾値とを比較することで、上部の各セグメントがONであるかを判定する。
第3セグメント判定部307は、セグメント(5)〜(7)の下部の各セグメントの輝度値と、領域Bの輝度値との差分値を算出し、この差分値と第3閾値とを比較することで、下部の各セグメントがONであるかを判定する。
なお、輝度値取得部301は、領域A、Bを横方向又は縦方向の部分領域に分割し、部分領域で輝度値に所定の差がある場合、各部分領域の輝度値を取得するようにしてもよい。
図6は、領域Aを部分領域に分割する例を示す図である。図6(A)は、領域Aを縦に分割し、2つの部分領域に分ける例を示す。この2つの部分領域で、所定値以上の輝度値差分があるとする。この場合、第2セグメント判定部306は、セグメント(2)の輝度値と、部分領域501の輝度値との差分値を算出して判定を行う。
また、第2セグメント判定部306は、セグメント(4)の輝度値と、部分領域502の輝度値との差分値を算出して判定を行う。なお、この場合のセグメント(3)については領域Aの輝度値と差分をとってもよいし、次に説明する部分領域503の輝度値と差分をとってもよい。
図6(B)は、領域Aを横に分割し、2つの部分領域に分ける例を示す。この2つの部分領域で、所定値以上の輝度値差分があるとする。この場合、第3セグメント判定部307は、セグメント(3)の輝度値と、部分領域503の輝度値との差分値を算出して判定を行う。
また、第1セグメント判定部305は、セグメント(1)の輝度値と、部分領域504及び領域Bの上部の部分画像の平均輝度値との差分値を算出して判定を行う。
これにより、外光の影響をさらに細分化して、各セグメントのON/OFFをさらに適切に判定することができる。また、領域Aだけでなく、領域Bについても部分領域に分割してもよい。
次に、第1〜第3閾値の例について説明する。以下では、明るい環境と、暗い環境とでの撮像画像の計測値に基づいて第1〜第3閾値を設定する。
図7は、暗い環境で7セグメント表示された数字を撮像した部分画像の一例を示す図である。ここでの部分画像は、1桁のセグメント表示された値を含む画像である。セグメント抽出部205は、図7の部分画像を基に、各セグメント、領域A、Bの輝度値を取得する。図7に示す例では、黒のセグメントで数字を表すものとする。
図8は、図7に示す部分画像の計測値を示す図である。図8(A)は、第1輝度値取得部302が取得した領域Aの輝度値と、第2輝度値取得部302が取得した領域Bの輝度値とを表す。図8(A)に示す例では、領域Aの輝度値は41であり、領域Bの輝度値は48である。
図8(B)は、各セグメントのON、OFF時の輝度値を表す。黒のセグメントで、数字を表すため、ON時の輝度値の方が、OFFの輝度値よりも小さい。図8(C)は、ON/OFF時の差分値の絶対値を表す。
図9は、明るい環境で7セグメント表示された数字を撮像した部分画像の一例を示す図である。セグメント抽出部205は、図9の部分画像を基に、各セグメント、領域A、Bの輝度値を取得する。図9に示す例では、黒のセグメントで数字を表すものとする。
図10は、図9に示す部分画像の計測値を示す図である。図10(A)は、第1輝度値取得部302が取得した領域Aの輝度値と、第2輝度値取得部302が取得した領域Bの輝度値とを表す。図10(A)に示す例では、領域Aの輝度値は100であり、領域Bの輝度値は113である。
図10(B)は、各セグメントのON、OFF時の輝度値を表す。黒のセグメントで、数字を表すため、ON時の輝度値の方が、OFFの輝度値よりも小さい。図10(C)は、ON/OFF時の差分値の絶対値を表す。
図8、図10に示す計測例では、暗い環境、明るい環境いずれも、OFF時の最大差分値は6であるため、この6よりも大きい値を第1〜第3閾値に設定すれば、ON/OFFの切り分けが可能となる。よって、例えば、セグメント判定部304では、第1〜第3閾値を7に設定しておく。なお、第1〜3閾値は、それぞれ異なる値を設定してもよい。
図11は、各セグメントのON/OFFの一例を示す図である。図11に示す例は、セグメント判定部304により、セグメント(4)とセグメント(5)とがONであると判定され、セグメント(1)〜(3)、セグメント(6)(7)はOFFであると判定された場合を示す。
このとき、セグメント判定部304は、セグメント(4)(5)に対しONを示す情報を、セグメント(1)〜(3)、セグメント(6)(7)に対しOFFを示す情報を記憶部206に記憶する。
<辞書比較処理概要>
次に、実施例1における辞書比較の処理概要について具体例を用いて説明する。図12は、セグメント辞書の一例を示す図である。図12に示すセグメント辞書は、記憶部206に記憶され、各セグメントのON/OFFの組み合わせによる数字を保持する。
比較部207は、記憶部306に記憶された各セグメントのON/OFFを示す情報と、セグメント辞書とを比較する。比較部207は、ONのセグメントの組み合わせが、セグメント辞書に含まれる数字を示す場合は、その数字を出力部210に出力する。
図13は、輝度値異常の一例を示す図である。図13に示す例では、7セグメント表示の数字が、8から1に切り替わる例を示す。数字が薄くなるt2〜t4の間で、比較部207は、輝度値異常を検出する。
比較部207は、輝度値異常を検出するため、正常なON時のセグメントの輝度値の閾値TH1、正常なOFF時のセグメントの輝度値の閾値TH2をセグメント毎に有する。閾値TH1と閾値TH2とは、記憶部306に記憶され、比較部207により適宜読み出されるようにしてもよい。比較部207は、セグメントの輝度値が、閾値TH1と閾値TH2との間に含まれる場合は、輝度値異常と判定する。
よって、輝度値異常のセグメントを有する桁については、比較部207は、辞書に一致しないと判定する。
図14は、輝度値の変化の一例を示す図である。図14(A)に示す例では、例えば電卓などのように黒でセグメントを表す表示器11における、数字が切り替わる時の輝度値変化の一例を示す。
図14(A)に示す例では、セグメントがONの状態からOFFの状態になるのに、輝度値が大きくなるよう変化する。このとき、TH1はON時の閾値を表す。比較部207は、TH1以下の輝度値は、正常なON時のセグメントの輝度値と判定し、TH1より大きい輝度値は、輝度値異常であると判定する。
また、TH2はOFF時の閾値を表す。比較部207は、TH2以上の輝度値は、正常なOFF時のセグメントの輝度値と判定し、TH2より小さい輝度値は、輝度値異常であると判定する。
よって、輝度値がTH1より大きくTH2より小さい期間Tの間に撮像部12により撮像された場合には、比較部207は、輝度値異常であると判定する。
図14(B)は、例えばAV機器の表示部のように黒地に白などを発光させてセグメントをONにする表示器11における、数字が切り替わる時の輝度値変化の一例を示す。
図14(B)に示す例では、セグメントがONの状態からOFFの状態になるのに、輝度値が小さくなるよう変化する。このとき、TH1はON時の閾値を表す。比較部207は、TH1以上の輝度値は、正常なON時のセグメントの輝度値と判定し、TH1より小さい輝度値は、輝度値異常であると判定する。
また、TH2はOFF時の閾値を表す。比較部207は、TH2以下の輝度値は、正常なOFF時のセグメントの輝度値と判定し、TH2より大きい輝度値は、輝度値異常であると判定する。
よって、輝度値がTH1より小さくTH2より大きい期間Tの間に撮像部12により撮像された場合には、比較部207は、輝度値異常であると判定する。これにより、正常な輝度値のセグメントのON/OFFにより、辞書比較を行うことができる。
<異常判定処理概要>
次に、実施例1における異常判定の処理概要について具体例を用いて説明する。図15は、異常判定を説明するための図である。図15(A)は、文字の切り替わり状態を示す。図15(A)に示す例では、t11、t12、t14のタイミングで辞書に存在するセグメントの組み合わせを抽出し、t13のタイミングで辞書に存在しないセグメントの組み合わせを抽出する。
図15(A)に示す例では、計測部208は、例えばt13からt14までの時間T11を計測し、計測した時間T11を判定部209に出力する。判定部209は、時間T11が、所定値TH3(例えば3秒)より大きいかどうかを判定する。時間T11は、TH3以下であるとすると、判定部209は、t13で抽出されたセグメントの組み合わせは、文字の切り替わり状態であると判定する。
図15(B)は、エラーコードが表示された状態を示す。図15(B)に示す例では、t21のタイミングで辞書に存在するセグメントの組み合わせを抽出し、t22〜のタイミングで、辞書に存在しないセグメントの組み合わせを抽出する。
図15(B)に示す例では、計測部208は、例えばt22以降の時間を計測し、t23、t24のタイミングで、計測した時間T21を判定部209に出力する。計測部208は、時間T21が所定値TH3を超えたときに、エラーコードが表示されていると判定する。
これにより、計測部208は、辞書に存在しないセグメントの組み合わせが抽出されている時間を計測し、判定部209が計測された時間と所定値とを比較することで、異常状態を適切に判定することができる。
また、計測部208は、図15(B)に示すように、辞書に存在しないセグメントの組み合わせが同じである場合に、継続時間を計測するようにしてもよい。例えば、t23のタイミングで、辞書には存在しないが、他のセグメントの組み合わせであった場合、計測部208は、計測していた継続時間をリセットし、t23から計測を再開する。
これにより、エラーコードの判定確率を向上させることができる。エラーコードは、同じ文字が継続して表示されることが多いからである。
また、図15(B)のt22で示すようなセグメントの組み合わせが、複数の桁で表示されている場合に、計測部208は、継続時間を計測するようにしてもよい。エラーコードは、複数の桁で同じエラーコードが表示されることが多いからである。
<動作>
次に、実施例1における情報処理装置10の動作について説明する。図16は、実施例1における情報処理装置10の処理の一例を示すフローチャートである。情報処理装置10の処理は、セグメント抽出処理を含む。
ステップS101で、画像取得部200は、撮像部12により表示器11の表示領域が所定間隔で撮像された撮像画像を順に取得する。
ステップS102、領域画像取得部202は、7セグメント表示される値を含む領域の領域画像を取得する。領域画像の位置は、予め設定されている。
ステップS103で、直線・線分抽出部203は、ハフ変換により領域画像内から直線、線分を抽出する。
ステップS104で、検知部204は、抽出された直線・線分の数や画素数に基づいて、遮蔽物が検知されたかを判定する。遮蔽物が検知された場合(ステップS104−YES)ステップS105に進み、遮蔽物が検知されなかった場合(ステップS104−NO)S106に進む。
ステップS105で、検知部204は、遮蔽物があるとして、エラー表示を行うよう表示部13に要求する。また、検知部204は、再度セグメント抽出処理を行わせるため、撮像部12に撮像を要求する。
ステップS106で、セグメント抽出部205は、セグメントに隣接する常にOFFの領域の輝度値と、各セグメントの輝度値とを比較し、ONである各セグメントを抽出する。抽出方法については上述した通りである。セグメント抽出部205は、セグメント抽出を桁毎に行う。
ステップS101〜S106は、セグメント抽出処理である。このセグメント抽出処理により、表示器11の種類や外光の影響に関係なく、抽出された各セグメントのON/OFFを適切に判定してONのセグメントを抽出することができる。なお、ステップS103〜S105は、必ずしも必要は処理ではない。また、実施例では、上述したセグメント抽出処理に限定されず、他の公知のセグメント抽出処理を用いてもよい。
ステップS107で、比較部207は、判定されたONのセグメントと、セグメント辞書(図12参照)とを比較する。比較部207は、上述した輝度値異常を判定してもよい。
ステップS108で、比較部207は、ONのセグメントの組み合わせ(値)が辞書のセグメントパターンと一致するかを判定する。セグメントの組み合わせがセグメント辞書に存在する場合(ステップS108−YES)ステップS109に進み、セグメントの組み合わせがセグメント辞書に存在しない場合(ステップS108−NO)ステップS110に進む。
ステップS109で、比較部207は、辞書に存在する値を出力部210に出力する。これにより、7セグメントで表示された値をデジタル値で取得することができ、後段のシステムで利用することができるようになる。例えば、出力部210は、比較部207から取得する値を継続して保持しておき、CSVファイルにして出力することができる。
ステップS110で、計測部208は、辞書に存在しないセグメントが抽出されている時間を計測する。計測部208は、比較部207から比較結果を取得することで、この時間を計測することができる。
ステップS111で、判定部209は、計測された時間と所定値TH3とを比較して、エラーコードであるか否かを判定する。判定部209は、計測された時間が所定値TH3より大きい場合はエラーコードであると判定し、計測された時間が所定値TH3以下である場合は切り替わり状態であると判定する。
エラーコードであると判定された場合(ステップS111−YES)ステップS112に進み、エラーコードではないと判定された場合(ステップS111−NO)ステップS113に進む。
ステップS112で、出力部210は、表示器11に故障が起きたという表示を表示部13に表示させる。
ステップS113で、判定部209は、別画像で再度解析を行わせるため、撮像部12に撮像を要求する。
これにより、抽出されたセグメントの組み合わせが辞書に存在しない場合に、文字の切り替わり状態なのか、エラーコードの表示状態なのかの異常判定を適切に行うことができる。
次に、異常判定の精度を高めるための、セグメント抽出処理について説明する。図17は、S106のセグメント抽出処理の一例を示すフローチャートである。図17に示すステップS201で、セグメント抽出部205は、桁番号を表すnを1に設定する。
ステップS202で、第1輝度値取得部302は、第1領域に対応する閉領域Aの平均輝度値を取得する。
ステップS203で、第2輝度値取得部303は、第2領域に対応する閉領域Bの平均輝度値を取得する。
ステップS204で、セグメント判定部304は、セグメント番号を示すsを1に設定する。
ステップS205で、セグメント判定部304は、セグメント番号が1であるか、2〜4であるか、5〜7であるかを判定する。なお、セグメント番号が1〜7は、セグメント(1)〜(7)にそれぞれ対応する。
セグメント番号が1の場合はステップS206に進み、セグメント番号が2〜4の場合はステップS207に進み、セグメント番号が5〜7の場合はステップS208に進む。
ステップS206で、第1セグメント判定部305は、セグメント(1)の輝度値と、第1領域及び第2領域の輝度値の平均との差分値を算出し、この差分値の絶対値が第1閾値より大きいかを判定する。差分値の絶対値が第1閾値より大きい場合は、第1セグメント判定部305は、このセグメントについてONであると判定する。差分値の絶対値が第1閾値以下である場合は、第1セグメント判定部305は、このセグメントについてOFFであると判定する。
ステップS207で、第2セグメント判定部306は、各セグメント(2)〜(4)の輝度値と、第1領域の輝度値との差分値を算出し、この差分値の絶対値が第2閾値より大きいかを判定する。差分値の絶対値が第2閾値より大きい場合は、第2セグメント判定部306は、このセグメントについてONであると判定する。差分値の絶対値が第2閾値以下である場合は、第2セグメント判定部306は、このセグメントについてOFFであると判定する。
ステップS208で、第3セグメント判定部307は、各セグメント(5)〜(7)の輝度値と、第2領域の輝度値との差分値を算出し、この差分値の絶対値が第3閾値より大きいかを判定する。差分値の絶対値が第3閾値より大きい場合は、第3セグメント判定部307は、このセグメントについてONであると判定する。差分値の絶対値が第3閾値以下である場合は、第3セグメント判定部307は、このセグメントについてOFFであると判定する。
ステップS209で、セグメント判定部304は、セグメント番号s=7であるかを判定する。セグメント番号sが7である場合(ステップS209−YES)ステップS211に進み、セグメント番号sが7ではない場合(ステップS209−NO)ステップS210に進む。
ステップS210で、セグメント判定部304は、セグメント番号sに1を加算する。ステップS210の処理後、ステップS205に戻る。
ステップS211で、セグメント抽出部205は、桁番号nがNであるかを判定する。Nは、最大桁数を表し、事前に設定されている。桁番号nがNである場合(ステップS211−YES)この抽出処理を終了し、桁番号nがNでない場合(ステップS211−NO)、セグメント抽出部205は、nに1を加算する。ステップS212の処理後は、ステップS202に戻る。
これにより、表示領域の桁毎に、各セグメントのON/OFFの判定を適切に行うことができる。
図18は、S108の辞書比較処理の一例を示すフローチャートである。図18に示すステップS301で、比較部207は、ONと判定されたセグメントの組み合わせが、セグメント辞書に存在するかを判定する。辞書に存在する場合(ステップS301−YES)ステップS302に進み、辞書に存在しない場合(ステップS302−NO)ステップS110に進む。
ステップS302で、比較部207は、セグメント番号sを1に設定する。ステップS303で、比較部207は、ON/OFFと判定されたセグメントの輝度値と、ONの閾値TH1とOFFの閾値TH2とを比較する。
ステップS304で、比較部207は、セグメントの輝度値が、閾値TH1より大きく閾値TH2より小さいかを判定する。また、比較部207は、セグメントの輝度値が、閾値TH2より大きく閾値TH1より小さいかを判定する。この2つの判定は、表示器11の種類に対応するためである(図14参照)。
セグメントの輝度値が閾値の条件を満たす場合(ステップS304−YES)ステップS110に進み、セグメントの輝度値が閾値の条件を満たさない場合(ステップS304−NO)S305に進む。
ステップS305で、比較部207は、セグメント番号sが7であるかを判定する。セグメント番号sが7である場合(ステップS305−YES)ステップS307に進み、セグメント番号sが7ではない場合(ステップS305−NO)ステップS306に進む。
ステップS306で、比較部207は、セグメント番号に1を加算する。ステップS306の処理後、ステップS303に戻る。
ステップS307で、比較部207は、セグメント毎に、輝度値を例えば記憶部306に保存する。
これにより、セグメントの輝度値の異常を検知することができ、正常な輝度値のセグメントに基づいて、辞書比較を行うことができる。
以上、実施例1によれば、異常状態を適切に判定することができる。また、実施例1によれば、表示器11の種類や外光の状況によらず、適切に抽出したONの各セグメントを用いて、異常状態を判定することができる。
[実施例2]
次に、実施例2における情報処理装置について説明する。実施例2では、セグメントの輝度値の異常を判定する閾値を、セグメントの輝度値の計測値を用いてセグメント毎に更新する。これにより、より適切なONのセグメントを用いて異常判定を行うことができる。
<ハードウェア>
実施例2における情報処理装置のハードウェアは、実施例1と同様であるため、その説明を省略する。
<機能>
実施例2における情報処理装置の機能は、セグメント抽出部の機能以外は図2に示す機能と同等であるため、その説明を省略する。
図19は、実施例2におけるセグメント抽出部601の機能の一例を示すブロック図である。実施例2におけるセグメント抽出部601の機能について、図3に示す機能と同様のものは同じ符号を付し、その説明を省略する。
セグメント抽出部601の更新部602は、セグメントの輝度値の異常を判定するのに用いる閾値を更新する。
更新部602は、例えば、セグメント毎に、ON又はOFFと判定されたときの輝度値と領域の輝度値との差分値を平均し、この平均値を用いて閾値を更新する。
図20は、セグメント毎の輝度値異常を判定するのに用いる閾値を示す図である。図20に示す例では、セグメント毎に、ONとOFF時の平均輝度差と、最新の輝度差と、許容する平均輝度差の上限値(+)及び下限値(−)とが、対応付けられている。輝度差とは、輝度値の差分値を表す。
図20に示すように、セグメント番号1のON時の平均輝度差が20である場合、このセグメント番号1の正常な輝度値の差分値は、20−4〜20+20の間である。すなわち、16〜40の間に輝度差があれば、セグメントの輝度値は正常であると比較部207により判定される。
例えば、比較部207は、セグメント番号1の最新の輝度差が22であり、この値は正常範囲16〜40の間にあるため、セグメント番号1のセグメントは正常な輝度値であると判定する。
図20に示すように、セグメント番号1のOFF時の平均輝度差が3である場合、このセグメント番号1の正常な輝度値の差分値は、3−4〜3+4の間である。すなわち、0〜7の間に輝度差があれば、セグメントの輝度値は正常であると比較部207により判定される。なお、閾値がマイナスになった場合は0に丸め込まれる。
例えば、比較部207は、セグメント番号1の最新の輝度差が3であり、この値は正常範囲0〜7の間にあるため、セグメント番号1のセグメントは正常な輝度値であると判定する。
なお、ONとOFFとで許容する平均輝度差との差で「+」部分に違いがある。ON時の方が、OFF時よりも大きい値が設定されている。この理由について説明する。
図21は、セグメントのON/OFF時の輝度差を説明するための図である。図21(A)は、セグメントがON時の輝度差を示す。図21(A)に示すように、セグメントがONの場合は、領域A又は領域Bとの輝度差が大きくなる。しかし、周囲の外光などの照明条件によって、領域A又は領域BとのON時の輝度差が変動する。
よって、セグメントがONの場合には、大きめの許容値の範囲で最新入力値が許容できるかどうかを比較部207は判定する。したがって、ON時の許容する平均輝度差との差の「+」が20に設定されている。最新入力値とは、最新のセグメントの輝度値と、領域A又は領域Bの輝度値との差分値をいう。
図21(B)は、セグメントがOFF時の輝度差を示す。図21(B)に示すように、常にOFFの領域との比較を行うため、セグメントがOFFの場合、周囲の照明条件によらず領域A又は領域Bとの輝度差は小さくなる。
よって、セグメントがOFFの場合には、小さめの許容値の範囲で最新入力値が許容できるかどうかを比較部207は判定する。したがって、OFF時の許容する平均輝度差との差の「+」が4に設定されている。
このように、各セグメントの平均輝度差が変動することで、正常な輝度差の範囲もセグメント毎に変動する。平均輝度差に(+)の値を加算した値が、正常な輝度差の上限の閾値となり、平均輝度差に(−)の値を減算した値が、正常な輝度差の下限の閾値となる。
更新部601は、ON時及びOFF時のセグメントの輝度差の平均を算出することで、輝度値の異常判定に用いる閾値を更新することになる。これにより、各セグメントに応じた適切な閾値を用いて、輝度値異常を検出することができる。
なお、更新部602は、実施例1で説明した閾値TH1と閾値TH2とを更新するようにしてもよい。この場合、更新部602は、各セグメントのON時/OFF時の輝度値の平均値を算出する。更新部602は、図14(A)に示す場合、ON時の輝度値の平均値に所定値を加算した値を閾値TH1、OFF時の輝度値の平均値に所定値を減算した値をTH2として、閾値を更新すればよい。
<動作>
次に、実施例2における情報処理装置の動作について説明する。図22は、実施例2における情報処理装置の処理の一例を示すフローチャートである。
図22に示すステップS401〜S406の処理は、図16に示すステップS101〜S106の処理と同様であるため、その説明を省略する。
ステップS407で、更新部602は、各セグメントのON/OFFの輝度差分値の平均を算出し、この平均値を用いて輝度値異常判定に用いる閾値を更新する。この閾値は、比較部207により輝度値異常の判定に用いられる。
ステップS408〜S414の処理は、図16に示すステップS107〜S113の処理と同様であるため、その説明を省略する。
以上、実施例2によれば、セグメントの輝度値の異常を判定する閾値を、セグメントの輝度値の計測値を用いてセグメント毎に更新するため、より適切なセグメントの輝度値でセグメントのON/OFFを判定することができる。よって、この適切なONのセグメントを用いて異常判定を行い、判定精度を上げることができる。
[変形例]
なお、前述した各実施例で説明した処理を実現するためのプログラムを記録媒体に記録することで、各実施例での処理をコンピュータに実施させることができる。例えば、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した処理を実現させることも可能である。
なお、記録媒体は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。この記録媒体には、搬送波は含まれない。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した各実施例の構成要素を全部又は複数を組み合わせることも可能である。
なお、以上の各実施例に関し、さらに以下の付記を開示する。
(付記1)
複数のセグメントを用いて表される値の少なくとも1つが、所定時間毎に撮像された各画像から、ONである各セグメントを抽出し、
抽出された前記各セグメントと、記憶部に予め記憶されたセグメントの組み合わせを含む辞書とを比較し、
前記辞書に存在しないセグメントの組み合わせが抽出されている時間を計測し、
計測された時間と所定値との比較結果により、値の切り替わり状態か、故障かを判定する処理をコンピュータに実行させるためのプログラム。
(付記2)
前記時間を計測する処理は、
抽出された前記各セグメントが前記辞書に存在しないセグメントの組み合わせであり、かつ前回抽出された各セグメントと同じである場合に、前記時間を計測する付記1記載のプログラム。
(付記3)
前記セグメントを抽出する処理は、
前記値が複数撮像された画像から、前記値ごとにONである各セグメントを抽出し、
前記辞書と比較する処理は、
前記値ごとに前記辞書と比較し、
前記時間を計測する処理は、
複数の値で、抽出された前記各セグメントが前記辞書に存在しないセグメントの組み合わせであり、かつ該セグメントの組み合わせが同じである場合に、前記時間を計測する付記1記載のプログラム。
(付記4)
前記各セグメントを抽出する処理は、
前記画像から、前記値を含む領域画像を取得し、
前記領域画像内の前記値毎に、前記セグメントに囲まれる第1領域及び第2領域の輝度値を取得し、
前記複数のセグメントにおける各セグメントの輝度値と、前記第1領域又は前記第2領域の輝度値とに基づき、前記各セグメントがONであるか否かを判定する処理を有する付記1乃至3いずれか一項に記載のプログラム。
(付記5)
前記複数のセグメントは、7セグメントであり、
前記第1領域及び前記第2領域の輝度値を取得する処理は、
前記7セグメントの上部の閉領域を前記第1領域とし、前記7セグメントの下部の閉領域を前記第2領域とする付記4記載のプログラム。
(付記6)
前記判定する処理は、
前記7セグメントの上部の各セグメントの輝度値と前記第1領域の輝度値との差分値、前記7セグメントの下部の各セグメントの輝度値と前記第2領域の輝度値との差分値、又は前記7セグメントの中央のセグメントの輝度値と前記第1領域及び前記第2領域の輝度値の平均値との差分値に基づき、各セグメントがONであるか否かを判定する付記5記載のプログラム。
(付記7)
複数のセグメントを用いて表される値の少なくとも1つが、所定時間毎に撮像された各画像から、ONである各セグメントを抽出する抽出部と、
抽出された前記各セグメントと、記憶部に予め記憶されたセグメントの組み合わせを含む辞書とを比較する比較部と、
前記辞書に存在しないセグメントの組み合わせが抽出されている時間を計測する計測部と、
計測された時間と所定値との比較結果により、値の切り替わり状態か、故障かを判定する判定部と、
を備える情報処理装置。
(付記8)
複数のセグメントを用いて表される値の少なくとも1つが、所定時間毎に撮像された各画像から、ONである各セグメントを抽出し、
抽出された前記各セグメントと、記憶部に予め記憶されたセグメントの組み合わせを含む辞書とを比較し、
前記辞書に存在しないセグメントの組み合わせが抽出されている時間を計測し、
計測された時間と所定値との比較結果により、値の切り替わり状態か、故障かを判定する処理をコンピュータが実行する異常判定方法。