画像データの処理方法、プログラム、および端末装置
【課題】画像から取得した数値情報を測定器または身体データの種別ごとに区別する。
【解決手段】画像データの処理方法は、捕捉された画像データを記憶装置(114)に格納させ(500)、画像データから数値情報を抽出し(518)、画像データから形状的特徴を抽出し(520)、記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された種別に基づいて数値情報によって表される測定データを決定し、決定された種別に対応付けて測定データを記憶装置に格納する(522,524)こと、を含む。
【解決手段】画像データの処理方法は、捕捉された画像データを記憶装置(114)に格納させ(500)、画像データから数値情報を抽出し(518)、画像データから形状的特徴を抽出し(520)、記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された種別に基づいて数値情報によって表される測定データを決定し、決定された種別に対応付けて測定データを記憶装置に格納する(522,524)こと、を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データから数値情報を抽出する処理に関する。
【背景技術】
【0002】
例えば個人の食事画像のような生活(ライフ)上の個人的な記録またはログを、ネットワークを介してサーバに蓄積してサーバに管理させることが知られている。また、例えば健康管理のために、測定機器を用いて測定された個人の身体データ(例えば、体重、体温、血圧、等)を、ネットワークを介してサーバに蓄積してサーバに管理させことが知られている。
【0003】
既知のデータ測定および記録システムは、ディジタル測定器と、測定されたディジタル情報をパソコン・キーボード・インタフェースの情報に変換して出力するデータ読取装置と、パソコンとを含んでいる。パソコンは、その変換して出力されたパソコン・キーボード・インタフェースの情報を、テキスト・エディタで記録する。データ読取装置は、表示された測定値を撮影するビデオカメラと、ビデオ信号−RGB変換部と、水平位置設定発信回路と、垂直・水平位置設定同期部とを含んでいる。データ読取装置は、さらに、明暗判断値設定スイッチと、設定位置明暗信号抽出部と、設定確認モニタと、明暗判断部と、明暗信号バッファと、明暗信号−数値変換部と、パソコン・キーボード・インタフェース変換部とを含んでいる。データ読取装置は、測定器に表示された測定値の画像を解析して、画像中の測定値を取得する。
【0004】
測定器に無線機能を組み込み、例えば体重、血圧、等の身体データをその測定器で測定してその測定値をパーソナル・コンピュータに無線で転送して格納し、さらに、その測定値をネットワークを介してサーバに送信して蓄積してサーバに管理させるサービスが知られている。
【0005】
既知の或るネットワーク・システムにおいて、機器が、その機器を特定するための第1の情報を含む第1の通知を管理サーバへ送信し、管理サーバが、画像パターンの種別を含む第2の通知を機器へ送信し、機器が第2の通知内の画像パターンを自身の有する表示画面に表示する。管理サーバは、機器が表示した画像パターンの探索を指示するための第3の通知をカメラ・サーバへ送信し、カメラ・サーバは撮影を指示するための第4の通知をカメラへ送信する。カメラは、第4の通知に応じて機器が表示した画像パターンを撮影すると、その撮影画像をカメラ・サーバへ送信する。カメラ・サーバは、撮影画像を評価して、カメラを特定するための第2の情報、及び、その評価の結果を含む第5の通知を、管理サーバに送信する。管理サーバは、第5の通知を受信すると、評価の結果に基づいて、第1の情報と第2の情報を対応付けて格納する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2001−12976号公報
【特許文献2】特開2008−211412号公報
【非特許文献】
【0007】
【非特許文献1】正藤慶一、“インテル、体重や血圧をパソコン上で管理する新サービスを公開〜「コンティニュア」の統一規格で異なるメーカーも通信可”、[online]、平成21年4月15日、Impress Watch 、[平成23年3月4日検索]、インターネット<http://kaden.watch.impress.co.jp/docs/news/20090415_125414.html>
【発明の概要】
【発明が解決しようとする課題】
【0008】
通常の身体に関する測定データをサーバが管理するサービスでは、ユーザがパーソナル・コンピュータでまたはそのキーボードで測定データを入力する。さらに、上述の既知のデータ測定および記録システムでは、測定器に表示された測定値の画像を解析して画像中の測定値を取得することができる。しかし、上述の既知のデータ測定および記録システムでは、画像から抽出された測定データが、例えば体温、血圧、等の身体データのいずれの測定データかを区別することができず、従って異なる複数の種別の測定データを管理することができない。
【0009】
また、上述の既知のサービスでは、特定の測定器で測定したデータをユーザの入力操作なしで、サーバに無線で転送してサーバで管理することはできる。しかし、異なる測定器で測定した異なる複数の種別の身体データを、ユーザの入力操作なしで区別して、サーバが一元的に管理することはできない。
【0010】
発明者は、ユーザによるデータの入力操作なしで、様々な身体データを区別して管理するために、画像から取得した測定値を測定器または身体データの種別ごとに区別できるようにすると有利である、と認識した。
【0011】
実施形態の目的は、画像から取得した数値情報を測定器または身体データの種別ごとに区別できるようにすることである。
実施形態の別の目的は、ユーザによってデータの入力操作を行うことなく、異なる身体データを区別して管理することができるようにすることである。
【課題を解決するための手段】
【0012】
実施形態の一観点によれば、情報処理装置が、捕捉された画像データを記憶装置に格納させ、その画像データから数値情報を抽出し、その画像データから形状的特徴を抽出し、その記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出されたその形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定されたその種別に基づいてその数値情報によって表される測定データを決定し、決定された種別に対応付けて測定データを記憶装置に格納する処理を実行する、画像データの処理方法が提供される。
【発明の効果】
【0013】
実施形態の一観点によれば、画像から取得した数値情報を測定器または身体データの種別ごとに区別することができ、ユーザによってデータの入力操作を行うことなく、異なる身体データを区別して管理することができる。
【図面の簡単な説明】
【0014】
【図1】図1は、実施形態による、ネットワークを介して接続されるサーバ装置、情報処理端末および携帯端末を含むシステムの例を示している。
【図2】図2は、図1の情報処理端末の概略的な構成(configuration)の例を示している。
【図3】図3は、図1の携帯端末の概略的な構成(configuration)の例を示している。
【図4】図4は、情報処理端末または携帯端末のプロセッサの概略的な構成(configuration)の例を示している。
【図5】図5は、情報処理端末または携帯端末のメモリまたはハードディスク・ドライブに格納される測定器のリストの例を示している。
【図6】図6は、情報処理端末または携帯端末のメモリまたはハードディスク・ドライブに格納される、図5における測定項目のリストの例を示している。
【図7】図7Aは、表示領域を含む体温計の例を示している。図7Bは、カメラまたは撮像部によって撮影された図7Aの体温計の表示領域の画像の例を示している。図7Cは、プロセッサによって抽出された図7Bの画像における数字の列とそれぞれの数字の外接矩形(破線)の例を示している。図7Dは、セグメントに対応する各画素グループの外接矩形(破線)の例を示している。
【図8】図8Aは、表示領域を含む体重計の例を示している。図8Bは、カメラまたは撮像部によって撮影された図8Aの体重計の表示領域の画像の例を示している。図8Cは、プロセッサによって抽出された図8Bの画像における数字の列とそれぞれの数字の外接矩形の例を示している。
【図9】図9Aは、表示領域を含む血圧計の例を示している。図9Bは、カメラまたは撮像部によって撮影された図9Aの血圧計の表示領域の画像の例を示している。
【図10】図10Aは、表示領域を含む別の血圧計の例を示している。図10Bは、カメラまたは撮像部によって撮影された図10Aの血圧計の表示領域の画像の例を示している。
【図11】図11は、情報処理端末または携帯端末のプロセッサによって実行される、測定値の表示画像の撮影からサーバ装置への測定データの送信までの処理のためのフローチャートの例を示している。
【図12A】図12Aおよび12Bは、図11のステップ502における測定器の表示部の画像を含む画像のノイズを除去する処理のためのフローチャートの例を示している。
【図12B】(図12Aで説明)
【図13】図13は、図11のステップ504における画像のフレームの画素をグループ化する処理のためのフローチャートの例を示している。
【図14】図14は、画像のフレームにおいて、表示領域の画素のグループ化の例を示している。
【図15】図15は、図14の表示領域の画素に関するラベル番号、統計的情報、認識された数字を含むラベル・テーブルの例を示している。
【図16A】図16A〜16Dは、図13のステップ670のラベル付けの処理のためのフローチャートの例を示している。
【図16B】(図16Aで説明)
【図16C】(図16Aで説明)
【図16D】(図16Aで説明)
【図17】図17は、図16A〜16Cのステップ780におけるラベル・テーブルの登録の処理のためのフローチャートの例を示している。
【図18】図18は、図11のステップ508における環状を表す画素グループを判定する処理のためのフローチャートの例を示している。
【図19】図19は、図11のステップ510における表示領域の表示枠を表す画素グループを抽出する処理のためのフローチャートの例を示している。
【図20】図20は、図11のステップ512における表示枠を表す画素グループの内側の画素グループを抽出する処理のためのフローチャートの例を示している。
【図21A】図21Aおよび21Bは、図11のステップ514における隣接関係にある画素グループを結合する処理のためのフローチャートの例を示している。
【図21B】(図21Aで説明)
【図22】図22Aは、2つの画素グループの外接矩形が位置的に部分的に重なる例を示している。図22Bは、2つの画素グループの各々を3つの領域のブロックに分割する例を示している。
【図23】図23は、図11のステップ516における画像の傾きを補正する処理のためのフローチャートの例を示している。
【図24】図24Aおよび24Bは、画像の傾きの補正の例を示している。
【図25】図25は、図11のステップ518における認識された数字の列を抽出する処理のためのフローチャートの例を示している。
【図26】図26は、図11のステップ520における使用測定器の表示部に固有の特徴またはパラメータを抽出する処理のためのフローチャートの例を示している。
【図27】図27は、図11のステップ522における、抽出された表示部の特徴に対応する測定項目と、抽出された数字列によって表される測定値とを決定する処理のためのフローチャートの例を示している。
【図28】図28Aは、表示部上の測定項目と測定値の表示の例を示している。図28Bは、表示部上の測定項目と測定値の表示の別の例を示している。
【図29】図29は、情報処理端末または携帯端末の表示部に表示される測定データの履歴データの表示画面の例を示している。
【発明を実施するための形態】
【0015】
発明の目的および利点は、請求の範囲に具体的に記載された構成要素および組み合わせによって実現され達成される。
前述の一般的な説明および以下の詳細な説明は、典型例および説明のためのものであって、本発明を限定するためのものではない、と理解される。
【0016】
本発明の非限定的な実施形態を、図面を参照して説明する。図面において、同様のコンポーネントおよび要素には同じ参照番号が付されている。
【0017】
既知のデータ測定および記録システムによって画像から抽出された測定値を、ネットワークを介してサーバに送信してサーバで管理することが考えられる。しかし、既知のデータ測定および記録システムでは、画像から抽出された測定データが、例えば体温または血圧、等の身体データのいずれの測定データかを区別することができず、従って異なる複数の種別の測定データを管理することができない。また、既知のサービスでは、異なる測定器で測定した様々な種別の身体データを、ユーザの入力操作なしで区別して、サーバにおいて一元的に管理することはできない。
【0018】
発明者は、ユーザによるデータの入力操作なしで、様々な身体データを区別して管理するために、画像から取得した測定値を身体データの種別ごとに区別できるようにすると有利である、と認識した。また、発明者は、一般的なユーザが使用する測定器の種類は限られており、測定器ごとの測定値の表示画像の寸法形状的な特徴および測定項目のデータ形式に関する情報を予め取得することは容易である、と認識した。また、発明者は、測定値の表示画像における数字の列(数値情報)を正しく認識できれば、各測定器の測定値の表示の寸法形状的な特徴に関する既知の情報に基づいてその数字の列によって表される測定項目および測定値を決定することができる、と認識した。発明者は、それによって、その表示画像における測定項目、測定値および単位の画像を文字認識するための機能および精度は低くてよく、文字認識のための処理負荷が軽減できると認識した。
【0019】
図1は、実施形態による、ネットワーク5を介して接続される、サーバ装置30、情報処理端末100、および携帯端末102を含むシステムの例を示している。
図1において、ネットワーク5は、インターネット、公衆交換電話網(PSTN)、パケット交換網(PSN)、ISDN、および/または移動体通信網を含んでいてもよい。情報処理端末100は、情報処理装置であり、ディジタル・カメラ202に接続されて、ディジタル・カメラ202からユーザによって撮影された測定器の表示部の画像のデータを捕捉しまたは取り込んで格納する。情報処理端末100および携帯端末102は、格納された画像データから、測定器の測定値表示および測定項目に関する既知の情報を参照して、文字認識技術によって測定データを抽出し、画像データに含まれる撮影日時を取得してそれを測定日時として決定する。情報処理端末100および携帯端末102は、その測定データをその測定日時の情報とともにネットワーク5を介してサーバ装置30に送信する。サーバ装置30は、測定データを測定日時情報とともに受信して格納し、そのような多数のデータを長い期間にわたって記録データとして管理する。
【0020】
情報処理端末100は、例えばCPU(Central Processing Unit)、主記憶装置、ハードディスク・ドライブ(HDD)、半導体メモリ、バス、入力装置、出力装置、通信インタフェース、記録媒体読取用のドライブ、等を含むコンピュータ、パーソナル・コンピュータ、PDA(Personal Digital Assistant)または装置であってもよい。携帯端末102は、例えば、CPU(Central Processing Unit)、半導体メモリ、バス、入力装置、出力装置、通信インタフェース、記録媒体用インタフェース、撮像部、スピーカ、レシーバ、マイクロホン、等を含む携帯電話機であってもよい。
【0021】
サーバ装置30は、情報処理装置であり、例えば、プロセッサ312、ネットワーク・インタフェース(NW I/F)344、データベースを含む記憶装置16、および記録媒体読み取り用のドライブ328を含んでいる。ドライブ328は、プログラムが記録された例えば光ディスクのような記録媒体129を読み取るためのものである。
【0022】
図2は、図1の情報処理端末100の概略的な構成(configuration)の例を示している。
図2において、情報処理端末100は、プロセッサ112、メモリ114、入出力インタフェース(I/O)116、内部バス、等を含む例えばパーソナル・コンピュータのようなコンピュータまたは装置であってもよい。プロセッサ112は、コンピュータ用のCPU(Central Processing Unit)であってもよい。プロセッサ112およびメモリ114は、入出力インタフェース116に結合されている。メモリ114には、例えば、主記憶装置および半導体メモリ等が含まれる。情報処理端末100は、さらに、入出力インタフェース(I/O)116に結合された、表示装置(DSP)122、入力部または入力装置126、記録媒体読み取り用のドライブ128、およびハードディスク・ドライブ(HDD)130を含んでいる。入力部126は、例えば、キーボード、マウスまたはタッチパッドのようなポインティング・デバイス、およびタッチパネルを含んでいてもよい。ドライブ128は、プログラムが記録された例えば光ディスクのような記録媒体129を読み取るために設けられている。情報処理端末100は、さらに、入出力インタフェース(I/O)116に結合された、USBインタフェース(USB I/F)142、およびネットワーク・インタフェース(NW I/F)144を含んでいる。情報処理端末100において、USBインタフェース142は、少なくともディジタル・カメラ202からの画像信号を入力する入力部としても機能してもよい。
【0023】
プロセッサ112は、画像処理および画像認識の機能を含む例えば集積回路として実装された専用のプロセッサであってもよい。また、プロセッサ112は、メモリ114および/またはハードディスク・ドライブ130に格納されたアプリケーション・プログラムに従って動作するものであってもよい。アプリケーション・プログラムは、記録媒体129に格納されていて、ドライブ128によって記録媒体129から読み出されて情報処理端末100にインストールされてもよい。
【0024】
カメラ202は、USBケーブルによって、USBインタフェース142を介して情報処理端末100に結合される。情報処理端末100は、ネットワーク・インタフェース144を介し、さらに外部ネットワーク5を介して、サーバ装置30に接続されてもよい。
【0025】
図3は、図1の携帯端末102の概略的な構成(configuration)の例を示している。
図3において、携帯端末102は、例えば、プロセッサ112、メモリ114、入出力インタフェース(I/O)116、内部バス、等を含む例えば携帯電話機または携帯情報処理端末であってもよい。携帯端末102は、さらに、入出力インタフェース(I/O)116に結合された、表示装置(DSP)122、入力部または入力装置126、取り外し可能なメモリ129、および撮像部203を含んでいる。入力部126は、例えばキーおよびタッチパネルを含んでいてもよい。取り外し可能なメモリ129は、例えばSDメモリとその書き込み読み取り部を含んでいてもよい。携帯端末102は、さらに、入出力インタフェース(I/O)116に結合された通信部146を含んでいる。携帯端末102は、さらに、入出力インタフェース(I/O)116に結合された、マイクロホン140、スピーカ142、およびレシーバ144を含んでいてもよい。
【0026】
プロセッサ112は、画像処理および画像認識の機能を含む例えば集積回路として実装された専用のプロセッサであってもよい。また、プロセッサ112は、メモリ114に格納されたアプリケーション・プログラムに従って動作するものであってもよい。アプリケーション・プログラムは、取り外し可能なメモリ129に格納されていて、取り外し可能なメモリ129から読み出されて携帯端末102にインストールされてもよい。
【0027】
図4は、情報処理端末100または携帯端末102のプロセッサ112の概略的な構成(configuration)の例を示している。
プロセッサ112は、例えば、制御部1120、ノイズ除去部1122、二値化部1124、グループ化部1126、環状判定部1128、グループ抽出部1130、グループ結合部1132、および画像補正部1134を含んでいてもよい。プロセッサ112は、さらに、例えば、数字抽出部1136、特徴抽出部1138、測定データ決定部1140、およびその他の処理部1144を含んでいてもよい。処理部1144には例えば通信処理部が含まれていてもよい。制御部1120は、ノイズ除去部1122、二値化部1124、グループ化部1126、環状判定部1128、グループ抽出部1130、グループ結合部1132、および画像補正部1134に制御信号を供給して、これらの要素の動作を制御してもよい。制御部1120は、さらに、数字抽出部1136、特徴抽出部1138、測定データ決定部1140、およびその他の処理部1144に制御信号を供給して、これらの要素の動作を制御してもよい。代替形態として、サーバ装置30のプロセッサ112が、要素1122〜1140を含んでいてもよい。
【0028】
図5は、情報処理端末100または携帯端末102のメモリ114またはハードディスク・ドライブ130に格納される測定器のリストの例を示している。測定器のリストは、例えば、測定器の順序番号、測定器の種別(種類)、表示部の表示領域の縦の長さ(高さ)(Wd)および横の長さ(幅)(Hd)、測定値を表す文字(数字)の縦の高さ(Hc)、隣接文字の間隔(Pc)、文字の太さ(Tc)、を含んでいてもよい。測定器のリストは、さらに、測定器の測定項目(身体データ種別)の項目数、測定値の表示の行数、測定項目(身体データ種別)の項目名、使用状態(使用/不使用)、行の間隔(Pl)(図示せず)、値の許容範囲(図示せず)、等を含んでいてもよい。図5のテーブルにおけるデータは、健康データ管理サービス提供業者またはユーザによって予め作成されてもよい。測定器の種別(種類)は、例えば、体重計、体組成計(体脂肪率計、皮下脂肪率計、骨格筋率計、等)、体温計、血圧計、脈拍数計、等、またはこれらの組合せ(例えば、体重体組成計)であってもよい。測定器の種別は、製造業者によって付けられた測定器の名称でなくてよい。各測定項目は、例えば、体重、体組成(体脂肪率、皮下脂肪率、骨格筋率、等)、体温、最高血圧、最低血圧、脈拍数、等であってもよい。使用状態(使用/不使用)は、それぞれの測定器が使用されるかどうかを示す情報であり、ユーザが情報処理端末100または携帯端末の入力部126を操作することによって、設定される。測定器のリストは、さらに、サーバ装置30の記憶装置16に格納されてもよい。
【0029】
図6は、情報処理端末100または携帯端末102のメモリ114またはハードディスク・ドライブ130に格納される、図5における測定項目のリストの例を示している。測定項目のリストは、測定項目名、測定項目のデータ形式(桁数、数字/文字、小数点位置)、測定項目の単位、測定項目の測定値の許容範囲、等を含んでいてもよい。メモリ114またはハードディスク・ドライブ130は、最新のおよび過去のユーザの測定データを格納する。測定項目のリストは、さらに、サーバ装置30の記憶装置16に格納されてもよい。
【0030】
図7Aは、表示領域404を含む体温計402の例を示している。図7Bは、カメラ202または撮像部203によって撮影された図7Aの体温計402の表示部の表示領域404の画像408の例を示している。図7Cは、プロセッサ112によって抽出された図7Bの画像408における数字の列とそれぞれの数字の外接矩形の例を破線で示している。この場合、表示領域404は、1行に1つの測定項目を含んでいる。図7Dは、各セグメントに対応する各画素グループの外接矩形の例を破線で示している。外接矩形は、表示されたものではなく、処理上の仮想的なものである。
【0031】
図8Aは、表示領域414を含む体重計412の例を示している。図8Bは、カメラ202または撮像部203によって撮影された図8Aの体重計412の表示領域414の画像418の例を示している。図8Cは、プロセッサ112によって抽出された図8Bの画像418における数字の列とそれぞれの数字の外接矩形の例を示している。この場合、表示領域414は、1行に1つの測定項目を含んでいる。
【0032】
図9Aは、表示領域424を含む血圧計の例を示している。図9Bは、カメラ202または撮像部203によって撮影された図9Aの血圧計の表示領域424の画像428の例を示している。この場合、表示領域424は、複数の行に複数の測定項目を含んでいる。
【0033】
図10Aは、表示領域434を含む別の血圧計の例を示している。図10Bは、カメラ202または撮像部203によって撮影された図10Aの血圧計の表示領域434の画像438の例を示している。この場合、表示領域434は、1つの行に2つの測定項目を含んでいる。他の形態として、測定器は、ユーザの操作に従って、その表示部に複数の測定値を順に切り替えて表示するものであってもよい。例えば、測定器は、最高血圧、最低血圧、脈拍数の各測定値を順次切り替えて表示してもよい。
【0034】
ユーザは、図7A、8A、9A、10Aのような測定器で体温、体重、血圧等の身体の状態または物理的量を測った後、その表示領域404、414、424または434をカメラ202または携帯端末102の撮像部203を用いて撮像する。ユーザは、その撮影された画像408、418、128、438のデータを、情報処理端末100または携帯端末102のメモリ114またはハードディスク・ドライブ130の記憶領域に格納する。情報処理端末100または携帯端末102のプロセッサ112は、その格納された画像データを処理して、例えば図5Cまたは6Cのような測定値を表す1列以上の数字の列だけを抽出する。小数点は抽出されなくてもよい。
【0035】
図11は、情報処理端末100または携帯端末102のプロセッサ112によって実行される、測定値の表示画像の撮影からサーバ装置30への測定データの送信までの処理のためのフローチャートの例を示している。
【0036】
ステップ500において、プロセッサ112またはその処理部1144は、ユーザの操作に従って、カメラ202または撮像部203によって撮影された測定器の表示部の画像を含む画像のデータをメモリ114またはハードディスク・ドライブ130の画像記憶領域に格納する。その画像データは、カラー多階調画像データであってもよい。プロセッサ112またはその処理部1144は、必要に応じて、その画像データを処理して輝度成分Yの画像データを生成する。
【0037】
ステップ502において、プロセッサ112またはそのノイズ除去部1122は、メモリ114またはハードディスク・ドライブ130において、測定器の表示部の画像を含む画像の輝度を調整し、フィルタを用いてその画像のノイズを除去する。ステップ504において、プロセッサ112または二値化部1124は、その画像を二値化して、二値化された輝度の画像データ(白黒、明暗)を生成する。
【0038】
ステップ506において、プロセッサ112またはそのグループ化部1126は、二値化された画像の画素(例えば、黒または暗の画素)を、例えば1つ以上の画素グループにグループ化する。例えば、測定器の測定値の各桁の数字が7セグメント表示である場合、1つの数字を表す複数の画素が、7セグメント中の2つ以上のセグメントを表すそれぞれの画素グループにグループ化される。例えば、数字“1”を表す上下2つのセグメントを表す複数の画素が、画素の隣接関係に基づいて、2つの画素グループにグループ化される。例えば、数字“8”を表す7つのセグメントを表す複数の画素が、画素の隣接関係に基づいてそれに対応する7つの画素グループにグループ化される。
【0039】
ステップ508において、プロセッサ112またはその環状判定部1128は、その画像における複数の画素グループから、環状を表す画素グループを判定して抽出する。ステップ510において、プロセッサ112または環状判定部1128は、画像におけるその環状の画素グループの中からその内側に他の画素グループを含むものを選択し、その最も内側の環状の画素グループを、測定器の表示領域または表示枠を表す画素グループとして決定する。
【0040】
ステップ512において、プロセッサ112またはそのグループ抽出部1130は、画像における表示枠を表す画素グループの内側にある数字または数字セグメントを表す可能性のある画素グループを抽出する。ステップ514において、プロセッサ112またはそのグループ結合部1132は、画像における抽出された複数の画素グループの中で隣接関係にある画素グループを結合して、各数字を表す結合された画素グループの組をそれぞれ形成する。ステップ516において、プロセッサ112またはその補正部1134は、画像における数字セグメントを表す各画素グループの傾きを検出して、数字を表す画像の傾きを補正して傾きのない数字を形成する。
【0041】
ステップ518において、プロセッサ112またはその数字抽出部1138は、画像における結合された画素グループの各組を文字認識技術によって認識する。プロセッサ112またはその数字抽出部1138は、複数の画素グループから数字だけを認識して数字だけを抽出してもよい。プロセッサ112またはその数字抽出部1138は、他の画素グループから隔てられた1つ以上の領域における1つ以上の数字の列(数字のストリング)を数値情報として抽出する。ステップ520において、プロセッサ112または特徴抽出部1138は、使用した測定器の表示部の画像における表示領域または表示枠の寸法形状および各数字の寸法形状、等を求めて、使用した測定器の表示部に固有の特徴(情報)またはパラメータを抽出する。
【0042】
ステップ522において、プロセッサ112またはその測定データ決定部1140は、画像における抽出された測定器の表示部の特徴または形状的特徴を、メモリ114等に格納された測定器のリストのものと比較する。プロセッサ112または測定データ決定部1140は、そのリスト中から類似または近似している特徴を有する測定器の種別を、使用する測定器の種別として選択する。プロセッサ112または測定データ決定部1140は、さらに、その選択された測定器の種別に対応する1つ以上の測定項目(身体データ種別)を選択する。
【0043】
プロセッサ112または測定データ決定部1140は、さらに、その決定された測定項目のデータ形式に基づいて、画像における抽出された数字の列(数値情報)によって表される測定値を測定データとして決定する。その際、選択された測定器の種別に対応する2つ以上の測定項目が存在する場合、数字列(数値情報)の桁数、数値(大きさ)が、各測定項目のデータ形式(桁数)、数値の許容範囲、出現順序を参照しまたはこれらと比較されて、数字列によって表される測定項目および測定値が決定される。また、複数の数字列が抽出された場合、各数字列が、互いに比較され、各測定項目のデータ形式(桁数等)、数値の許容範囲、出現順序を参照しまたはこれらと比較されて、数字列(数値情報)によって表される測定項目および測定値が決定されてもよい。
【0044】
プロセッサ112または測定データ決定部1140は、さらに、その決定された測定項目および測定値を表示部122に表示してユーザに確認させ、確認された測定項目および測定値を測定データとして決定してもよい。プロセッサ112または測定データ決定部1140は、さらに、その測定器種別および測定項目(身体データ種別)に対応付けて測定値を測定日時情報とともにメモリ114またはハードディスク130に格納する。
【0045】
ステップ524において、プロセッサ112または処理部1144は、その決定された測定器種別、測定項目および測定値(測定データ)を、ユーザの個人情報および日時情報とともに、ネットワーク5を介してサーバ装置30に送信する。サーバ装置30またはそのプロセッサ312は、測定器種別、測定項目および測定値(測定データ)を受信し、測定日時情報に従って測定器種別および測定項目に対応付けて測定値を記憶装置16のデータベース(DB)に格納して、履歴データまたは記録データとして管理する。その後、サーバ装置30またはプロセッサ312は、情報処理端末100または携帯端末102からの要求に応答して、記憶装置16に格納された履歴データまたは記録データを送信する。情報処理端末100または携帯端末102の(プロセッサ112)は、履歴データまたは記録データを受信し、その表示部122上に、測定項目に対応付けて各測定値を測定日時情報の順に表示する。
【0046】
図12Aおよび12Bは、図11のステップ502における、測定器の表示部の画像を含む画像のノイズを除去する処理のためのフローチャートの例を示している。
【0047】
図7Bおよび8Bにおいて、撮影された画像(ピクチャ)のフレーム408、418における輝度補正用の中央の参照枠420の位置が破線で示されている。画像のフレーム408、418の横と縦のサイズは、ピクセル単位の横と縦のサイズxw×yhを有する。参照枠420は、例えばサイズ(xw/10)×(yh/10)を有する。参照枠420は、画像のフレーム408、418の中央領域における基準となる最大の輝度Ymaxを決定するために用いられる。ユーザは、ディジタル・カメラ202のモニタ画面または携帯端末102の表示部122の中央に測定器の表示領域404、414の中心が位置するように、測定器の表示領域を撮影する。それによって、測定器の表示領域404、414の中心は、撮影された測定器の表示領域404、414の概ね中心に位置する。
【0048】
表示領域404、414の周辺またはその外側の領域の画素は、測定器への光の反射等によって不所望に明る過ぎることがあるので、画像全体の最大輝度を参照枠420内の最大輝度に制限するよう処理することが望ましい。
【0049】
図12Aを参照すると、プロセッサ112は、ステップ600においてその処理を開始する。ステップ602において、プロセッサ112は、最大輝度Ymaxを初期値0(ゼロ)(Ymax=0)に、参照枠420の中心座標(xc,yc)を画像の中心座標(xw/2,yh/2)に設定する((xc,yc)=(xw/2,yh/2))。また、プロセッサ112は、参照枠420の左上の座標(xt,yt)を座標(xc−xw/20,yc−yh/20)に設定する((xt,yt)=(xc−xw/20,yc−yh/20))。また、プロセッサ112は、参照枠420の右下の座標(xb,yb)を座標(xt+xw/10,yt+yh/10)に設定する((xb,yb)=(xt+xw/10,yt+yh/10))。さらに、プロセッサ112は、参照枠420における最大の輝度Ymaxを決定する処理を実行するために、注目画素の座標(x,y)を、参照枠420の左上の初期値(xt,yt)に設定する((x,y)=(xt,yt))。
【0050】
ステップ604において、プロセッサ112は、座標(x,y)の注目画素の輝度Y(x,y)が現在の最大輝度Ymaxより大きいかどうかを判定する(Y(x,y)>Ymax?)。輝度Y(x,y)が最大輝度Ymaxより大きいと判定された場合は、ステップ606において、最大輝度Ymax=Y(x,y)と設定する。輝度Y(x,y)が最大輝度Ymaxより大きくないと判定された場合は、手順はステップ608に進む。
【0051】
ステップ608において、プロセッサ112は、注目画素の座標xを1画素分だけ増分する(x=x+1)。ステップ610において、プロセッサ112は、座標xが参照枠420の右下の座標xbより大きいかどうかを判定する(x>xb?)。座標xが参照枠420の座標xbより大きくないと判定された場合は、手順はステップ604に戻る。座標xが参照枠420の座標xbより大きいと判定された場合は、ステップ612において、プロセッサ112は、注目画素の座標xを初期値x=xtと設定し、注目画素の座標yを1画素分だけ増分する(x=xt,y=y+1)。
【0052】
ステップ614において、プロセッサ112は、注目画素の座標yが参照枠420の座標ybより大きいかどうかを判定する(y>yb?)。座標yが参照枠420の右下の座標ybより大きくないと判定された場合は、手順はステップ604に戻る。座標yが参照枠420の右下の座標ybより大きいと判定された場合は、手順は図12Bのステップ616に進む。ステップ602〜614によって、参照枠420内の画素の最大輝度が、基準となる最大輝度Ymaxとして決定される。
【0053】
図12Bを参照すると、ステップ616において、プロセッサ112は、注目画素の座標(x,y)を、画像のフレーム408または418の左上の座標の初期値(1,1)に設定する((x,y)=(1,1))。
【0054】
ステップ618において、プロセッサ112は、座標(x,y)の注目画素の輝度Y(x,y)が最大輝度Ymaxより大きいかどうかを判定する(Y(x,y)>Ymax?)。輝度Y(x,y)が最大輝度Ymaxより大きいと判定された場合は、ステップ620において、最大輝度Y(x,y)=Ymaxと設定する。輝度Y(x,y)が最大輝度Ymaxより大きくないと判定された場合は、手順はステップ622に進む。
【0055】
ステップ622において、プロセッサ112は、注目画素の座標xを1画素分だけ増分する(x=x+1)。ステップ624において、プロセッサ112は、座標xが画像のフレーム408、418の右下の座標xwより大きいかどうかを判定する(x>xw?)。座標xが座標xwより大きくないと判定された場合は、手順はステップ618に戻る。座標xが座標xwより大きいと判定された場合は、ステップ626において、プロセッサ112は、注目画素の座標xを初期値x=1と設定し、注目画素の座標yを1画素分だけ増分する(x=1,y=y+1)。
【0056】
ステップ628において、プロセッサ112は、注目画素の座標yが画像のフレーム408、418の右下の座標yhより大きいかどうかを判定する(y>yh?)。座標yが座標yhより大きくないと判定された場合は、手順はステップ618に戻る。座標yが座標yhより大きいと判定された場合は、手順はステップ630に進む。ステップ616〜628によって、画像のフレーム408、418において最大輝度Y(x,y)を超える輝度Y(x,y)が、最大輝度Ymaxに制限されるように補正される。
【0057】
ステップ630において、プロセッサ112は、既知の形態で、例えば3×3のサイズの重み付け係数を有するフィルタで、画像のフレーム408、418を空間的に濾波してノイズを除去または低減する。その空間的濾波において、例えば3×3のマトリックスの注目画素および近隣画素の値と、そのフィルタにおける対応する行列位置の係数とが乗算され、その積の和によって、注目画素の値が補正される。
【0058】
図11を再び参照すると、ステップ504において、プロセッサ112は、画像のフレームにおける全ての座標(x,y)の画素の輝度Y(x,y)を閾値Ythで処理して、輝度Y(x,y)を値“0”か“1”に二値化し、座標(x,y)の画素Px(x,y)にその値(0、1)を設定する。この場合、値“0”は白または明の輝度を表し、値“1”は黒または暗の輝度を表す。閾値Ythは、例えば、最大輝度Ymaxの1/2、即ちYth=Ymax/2と設定してもよい。プロセッサ112は、例えば、輝度Y(x,y)が閾値Ythかまたはそれより暗い場合には画素Px(x,y)=1(暗)と設定し、輝度Y(x,y)が閾値Ythより明るい場合には画素Px(x,y)=0(明)と設定してもよい。代替形態として、プロセッサ112は、例えば、輝度Y(x,y)が閾値Ythかまたはそれより明るい場合に画素Px(x,y)=1(明)と設定し、輝度Y(x,y)が閾値Ythより暗い場合に画素Px(x,y)=0(暗)と設定してもよい。画像の二値化によって、画像中の数字の認識が容易になる。
【0059】
図13は、図11のステップ506における、画像のフレーム408、418、428、438の画素をグループ化する処理のためのフローチャートの例を示している。
【0060】
図14は、画像のフレーム(408、418、428、438)において、表示領域(404、414、424、434)の画素のグループ化の例を示している。
図14において、隣接関係にある輝度1(暗)を表す複数の画素または1つのセグメントの複数の画素に、同じラベル番号またはグループ番号11〜45のいずれかが付けられている。この場合、一例として、測定器の表示部の二値画像において、上下2つの行に数値“51.8”および“32.4”の画像を含む画像の各画素に、ラベル番号が付与されている。
【0061】
図15は、図14の画像における測定器の表示領域(404、414、424、434)の画素に関するラベル番号、統計的情報、認識された数字を含むラベル・テーブルの例を示している。
【0062】
図15において、左側の項目番号または行番号1〜35は異なるラベル番号(列2)に対応し、上側の列番号1〜13の項目は各ラベル番号の画素グループに関する統計的情報、寸法形状、形状的特徴、認識対象かどうか、認識結果(数字)、等の項目に対応する。列2〜8は、列1の各ラベル番号の画素グループに対する、画素の個数、画素の座標xの最小値(xmin)、座標yの最小値(ymin)、座標xの最大値(xmax)、座標yの最大値(ymax)、中心画素の座標x(xc)、中心画素の座標y(yc)を含んでいる。列9〜12は、列1の各ラベル番号の画素グループに対して、環状かどうか、包囲(包囲線または輪郭線)かどうか、認識対象かどうか、ラベル結合番号、認識結果の数字を含んでいる。1つのラベル結合番号は、隣接関係にある複数の画素グループを、1つの数字を表す可能性がある組として結合するための識別番号である。
【0063】
図13を参照すると、プロセッサ112は、ステップ660においてその処理を開始する。ステップ662において、プロセッサ112は、ラベル番号i_LBLを初期値i_LBL=11、注目画素の座標(x,y)を初期値x=2、y=2と設定する。ここで、ラベル番号i_LBLは、輝度値“0”(明)、“1”(暗)と区別するために、11以上の整数(i_LBL≧11)とする。
【0064】
ステップ664において、プロセッサ112は、ラベル番号i_LBLがラベル番号の上限の閾値i_LBL_maxより大きいかどうかを判定する。ラベル番号i_LBLが閾値i_LBL_maxより大きいと判定された場合は、手順はステップ680に進む。ラベル番号i_LBLが閾値i_LBL_maxより大きくないと判定された場合は、ステップ666において、プロセッサ112は、座標(x,y)の注目画素Px(x,y)の値が二値化された“1”(暗)かどうかを判定する。この場合、輝度“1”は黒または暗いレベルを表し、輝度“0”は白または明るいレベルを表すものとする。注目画素Px(x,y)に既にラベルが付与されている場合は、注目画素はPx(x,y)≧11の値を有する。注目画素Px(x,y)が輝度1(暗)であると判定された場合は、プロセッサ112は、ステップ670において注目画素とその隣接画素に対してラベル付けを行う。その後、手順はステップ671に進む。ステップ666において画素Px(x,y)が輝度1(暗)でない、即ち輝度0(ゼロ)(明)またはラベル番号(≧11)と判定された場合は、手順はステップ672に進む。
【0065】
ステップ670において、画像において互いに隣接関係にある輝度1(暗)の画素Px(x,y)のグループに同じ1つのラベル番号i_LBL(≧11)が付与される。ステップ670は、輝度1(暗)の画素グループのグループ数、即ちラベル番号i_LBLの数の回数だけ実行される。
【0066】
ステップ671において、プロセッサ112は、ラベル番号i_LBLを1だけ増分する(i_LBL=i_LBL+1)。
【0067】
ステップ672において、プロセッサ112は、注目画素の座標xを1画素分だけ増分する(x=x+1)。ステップ674において、プロセッサ112は、座標xが画像のフレーム408、418の右下の座標xw以上かどうかを判定する(x≧xw?)。座標xが座標xw以上でないと判定された場合は、手順はステップ664に戻る。座標xが座標xw以上であると判定された場合は、ステップ676において、プロセッサ112は、注目画素の座標xを初期値x=2に設定し、注目画素のy座標を1画素分だけ増分する(x=2,y=y+1)。
【0068】
ステップ678において、プロセッサ112は、注目画素の座標yが画像のフレーム408、418の右下の座標yh以上かどうかを判定する(y≧yh?)。座標yが座標yh以上でないと判定された場合は、手順はステップ664に戻る。座標yが座標yh以上であると判定された場合は、手順はステップ680に進む。
【0069】
ステップ662〜678によって、画像のフレーム408、418の輝度1(暗)の全ての画素Px(x,y)=1がラベル番号(Px(x,y)≧11)に置換される。ステップ680において、プロセッサ112は、ラベル番号i_LBLの総数または最大のラベル順序番号Itを、最後の最大の値のラベル番号It=i_LBL−10と設定する。これは、ラベル番号i_LBLの初期値をi_LBL=11と設定したからである。
【0070】
図16A〜16Dは、図13のステップ670のラベル付けの処理のためのフローチャートの例を示している。
【0071】
図16Aを参照すると、プロセッサ112は、ステップ700においてその処理を開始する。ステップ702において、プロセッサ112は、座標(x,y)の注目画素Px(x,y)にラベル番号i_LBLを設定する(Px(x,y)=i_LBL)。最初の画素Px(x,y)は、例えばPx(x,y)=i_LBL=11(ラベル番号)である。プロセッサ112は、図15のラベルのテーブルにおいて、ラベル順序番号I(=i_LBL−10)のラベル・テーブルの項目1(列1)として、ラベル番号L_TBL(I,1)=L_TBL(i_LBL−10,1)を現在の注目画素のラベル番号i_LBLと設定する。プロセッサ112は、ラベル順序番号I=i_LBL−10のラベル・テーブルの項目2(列2)として、そのラベル番号i_LBLを有する画素の総数(画素数)L_TBL(I,2)を初期値L_TBL(I,2)=1と設定する。プロセッサ112は、ラベル順序番号I=i_LBL−10のラベル・テーブルの項目3、4(列3、4)として、ラベル番号i_LBLを有する画素の左側の最小x座標L_TBL(I,3)およびラベルの上側の最小y座標L_TBL(I,4)をそれぞれ座標xおよびyと設定する。プロセッサ112は、ラベル順序番号I=i_LBL−10のラベル・テーブルの項目5、6(列5、6)として、ラベル番号i_LBLを有する画素の右側の最大x座標L_TBL(I,5)および下側の最大y座標L_TBL(I,6)をそれぞれ座標xおよびyと設定する。
【0072】
ステップ704において、プロセッサ112は、処理のカウント(計数値)i_CNTを初期値i_CNT=0と設定し、座標パラメータ(xs,ys)を(xs,ys)=(2,2)と設定する。ステップ705において、プロセッサ112は、座標(xs,ys)の注目画素P(xs,ys)が現在のラベル番号i_LBLかどうかを判定する(P(xs,ys)=i_LBL?)。画素P(xs,ys)=i_LBLでないと判定された場合は、手順は図16Dのステップ762に進む。画素P(xs,ys)=i_LBLであると判定された場合は、手順は、ステップ706に進む。
【0073】
ステップ706において、プロセッサ112は、座標(xs,ys)の注目画素に対する隣接の画素を選択するための座標パラメータxm=xs−1、xp=xs+1、ym=ys−1、yp=ys+1を設定する。画素位置xm=xs−1は注目画素の座標xsの左側の位置を表す。画素位置xp=xs+1は注目画素の座標xsの右側の位置を表す。画素位置ym=ys−1は注目画素の座標ysの上側の位置を表す。画素位置yp=ys+1は注目画素の座標ysの下側の位置を表す。これらの4つの座標パラメータと注目画素の座標(xs,ys)とによって、3×3の座標位置のうちの8つの隣接画素の位置が選択される。
【0074】
ステップ708において、プロセッサ112は、注目画素Px(x,y)の左上の座標(xm,ym)の画素Px(xm,ym)がPx(xm,ym)=1(暗)かどうかを判定する。隣接の画素Px(xm,ym)が輝度1(暗)でない、即ち輝度0(ゼロ)(明)またはラベル番号(≧11)と判定された場合は、手順は図16Bのステップ722に進む。画素Px(xm,ym)が輝度1(暗)と判定された場合は、ステップ710において、プロセッサ112は、画素Px(xm,ym)の現在の値1を現在のラベル番号i_LBL(≧11)で置換して、画素Px(xm,ym)を現在のラベル番号i_LBL(≧11)と設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順は図16Bのステップ722に進む。
【0075】
図16Bのステップ722において、プロセッサ112は、注目画素P(x,y)の上の座標(x,ym)の画素Px(x,ym)がPx(x,ym)=1(暗)かどうかを判定する。隣接の画素Px(x,ym)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ732に進む。画素Px(x,ym)が輝度1(暗)と判定された場合は、ステップ724において、プロセッサ112は、画素Px(x,ym)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ732に進む。
【0076】
ステップ732において、プロセッサ112は、注目画素P(x,y)の右上の座標(xp,ym)の画素Px(xp,ym)が輝度1(暗)かどうかを判定する。隣接画素Px(xp,ym)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ738に進む。画素Px(xp,ym)が輝度1(暗)と判定された場合は、ステップ734において、プロセッサ112は、画素Px(xp,ym)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ738に進む。
【0077】
ステップ738において、プロセッサ112は、注目画素P(x,y)の左の座標(xm,y)の画素Px(xm,y)が輝度1(暗)かどうかを判定する。隣接の画素Px(xm,y)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ738に進む。画素Px(xm,y)が輝度1(暗)と判定された場合は、ステップ740において、プロセッサ112は、画素Px(xm,y)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順は図16Cのステップ742に進む。
【0078】
図16Cのステップ742において、プロセッサ112は、注目画素P(x,y)の右の座標(x,yp)の画素Px(x,yp)が輝度1(暗)かどうかを判定する。画素Px(x,yp)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ748に進む。画素Px(x,yp)が輝度1(暗)と判定された場合は、ステップ744において、プロセッサ112は、画素Px(x,yp)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ748に進む。
【0079】
ステップ748において、プロセッサ112は、注目画素P(x,y)の左下の座標(xm,yp)の画素Px(xm,yp)が輝度1(暗)かどうかを判定する。隣接の画素Px(xm,yp)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ752に進む。画素Px(xm,yp)が輝度1(暗)と判定された場合は、ステップ750において、プロセッサ112は、画素Px(xm,yp)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ752に進む。
【0080】
ステップ752において、プロセッサ112は、注目画素P(x,y)の下の座標(x,yp)の画素Px(x,yp)が輝度1(暗)かどうかを判定する。画素Px(x,yp)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順は図16Dのステップ758に進む。画素Px(x,yp)が輝度1(暗)と判定された場合は、ステップ754において、プロセッサ112は、画素Px(x,yp)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順は図16Dのステップ758に進む。
【0081】
図16Dのステップ758において、プロセッサ112は、注目画素P(x,y)の右下の座標(xp,yp)の画素Px(xp,yp)が輝度1(暗)かどうかを判定する。画素Px(xp,yp)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ762に進む。画素Px(xp,yp)が輝度1(暗)と判定された場合は、ステップ760において、プロセッサ112は、画素Px(xp,yp)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ762に進む。
【0082】
ステップ762において、プロセッサ112は、注目画素の座標xsを1画素分だけ増分する(xs=xs+1)。ステップ764において、プロセッサ112は、座標xsが画像のフレーム408、418の右下の座標xwより小さいかどうかを判定する(xs<xw?)。座標xsが座標xwより小さいと判定された場合は、手順は図16Aのステップ705に戻る。座標xsが標xwより小さくないと判定された場合は、ステップ766において、プロセッサ112は、注目画素の座標xsを初期値xs=2と設定し、注目画素の座標yを1画素分だけ増分する(xs=2,ys=ys+1)。
【0083】
ステップ768において、プロセッサ112は、注目画素の座標yが画像のフレーム408、418の右下のy座標yhより小さいかどうかを判定する(y<yh?)。座標yが座標yhより小さいと判定された場合は、手順は図16Aのステップ705に戻る。座標yが座標yhより小さくないと判定された場合は、ステップ770において、プロセッサ112は、カウントi_CNTが0より大きいかどうかを判定する。カウントi_CNTが0より大きいと判定された場合は、手順は図16Aのステップ704に戻る。カウントi_CNTが0より大きくないと判定された場合は、新しくラベル付けされた画素および新しくラベル付けされる画素が他に存在しないので、手順は図16A〜16Dのルーチンを出る。
【0084】
図16A〜16Dの処理によって、画像における輝度1(暗)の全ての画素に、いずれかの画素グループのラベル番号が付けられる。ラベル番号の付与の処理は、これに限定されるものではない。
【0085】
図17は、図16A〜16Cのステップ780における、ラベル・テーブルの登録の処理のためのフローチャートの例を示している。
【0086】
図17を参照すると、プロセッサ112は、ステップ780においてその処理を開始する。ステップ782において、プロセッサ112は、処理のカウントi_CNTを1だけ増分し(i_CNT=i_CNT+1)、現在のラベル番号i_LBLの画素の画素数L_TBL(I,2)を1だけ増分する(L_TBL(I,2)=L_TBL(I,2)+1)に設定する。
【0087】
ステップ784において、プロセッサ112は、ラベル番号i_LBLが付与された隣接画素Px(x,y)の座標x(即ちxm、xs、xpのいずれか)が、ラベル番号i_LBLを有する現在の左側の最小x座標L_TBL(i_LBL−1,3)より小さいかどうかを判定する。隣接画素Px(x,y)は、前の図16A〜16Dのステップ710、724、734、740744、750、754、760においてラベル番号i_LBLが付与されたものである。座標xが最小x座標L_TBL(i_LBL−1,3)より小さくないと判定された場合は、手順はステップ788に進む。座標xが最小x座標L_TBL(i_LBL−1,3)より小さいと判定された場合は、ステップ786において、プロセッサ112は、最小x座標L_TBL(i_LBL−1,3)を現在の隣接画素の座標xと設定する(L_TBL(i_LBL−1,3)=x)。その後、手順はステップ788に進む。
【0088】
ステップ788において、プロセッサ112は、ラベル番号i_LBLが付与された隣接画素Px(x,y)の座標y(即ちym、ys、ypのいずれか)が、ラベル番号i_LBLを有する現在の上側の最小y座標L_TBL(i_LBL−1,4)より小さいかどうかを判定する。座標yが最小y座標L_TBL(i_LBL−1,4)より小さくないと判定された場合は、手順はステップ792に進む。座標yが最小y座標L_TBL(i_LBL−1,4)より小さいと判定された場合は、ステップ790において、プロセッサ112は、最小y座標L_TBL(i_LBL−1,4)を座標yと設定する(L_TBL(i_LBL−1,4)=y)。その後、手順はステップ792に進む。
【0089】
ステップ792において、プロセッサ112は、ラベル番号i_LBLが付与された隣接画素Px(x,y)の座標x(即ちxm、xsまたはxp)が、ラベル番号i_LBLを有する現在の右側の最大x座標L_TBL(i_LBL−1,5)より大きいかどうかを判定する。座標xが最大x座標L_TBL(i_LBL−1,5)より大きくないと判定された場合は、手順はステップ796に進む。座標xが最大x座標L_TBL(i_LBL−1,5)より大きいと判定された場合は、ステップ794において、プロセッサ112は、最大x座標L_TBL(i_LBL−1,5)を座標xと設定する(L_TBL(i_LBL−1,5)=x)。その後、手順はステップ796に進む。
【0090】
ステップ796において、プロセッサ112は、ラベル番号i_LBLが付与された隣接画素Px(x,y)の座標y(即ちym、ysまたはyp)が、ラベル番号i_LBLを有する現在の下側の最大y座標L_TBL(i_LBL−1,6)より大きいかどうかを判定する。座標yが最大y座標L_TBL(i_LBL−1,6)より大きくないと判定された場合は、手順は図17のルーチンを出る。座標yが最大y座標L_TBL(i_LBL−1,6)より大きいと判定された場合は、ステップ798において、プロセッサ112は、最大y座標L_TBL(i_LBL−1,6)を座標yと設定する(L_TBL(i_LBL−1,6)=y)。その後、手順は図17のルーチンを出る。
【0091】
このようにして、或るラベル番号i_LBLを有する画素グループのうちで、最も左にある画素の座標x、最も右にある画素の座標x、最も上にある画素の座標y、最も下にある画素の座標yが決定される。
【0092】
図18は、図11のステップ508における、環状を表す画素グループを判定する処理のためのフローチャートの例を示している。
【0093】
図18を参照すると、プロセッサ112は、ステップ800においてその処理を開始する。ステップ802において、プロセッサ112は、画素グループのラベル順序番号I=i_LBL−10を初期値I=1と設定する。ステップ804において、プロセッサ112は、ラベル番号i_LBLをラベル・テーブル(図15)のラベル番号i_TBL(I,1)=i_TBL(i_LBL−10,1)と設定する。また、プロセッサ112は、そのラベル番号i_LBLの画素グループの中心x座標を、その最大および最小のx座標L_TBL(I,3)とL_TBL(I,5)の中心として、xc=(L_TBL(I,3)+L_TBL(I,5))/2と設定する。さらに、プロセッサ112は、そのラベル番号i_LBLの画素グループの中心y座標を、その最大および最小のy座標L_TBL(I,4)とL_TBL(I,6)の中心として、yc=(L_TBL(I,4)+L_TBL(I,6))/2と設定する。
【0094】
ステップ806において、プロセッサ112は、ラベル番号i_LBLの画素グループの中心座標(xc,yc)の画素のラベル番号がラベル番号i_LBLと同じかどうかを判定する(Px(xc,yc)=i_LBL?)。中心座標の画素のラベル番号Px(xc,yc)が画素グループのラベル番号i_LBLと同じでない場合、その画素グループは環状の形状を有する可能性があり、手順はステップ808に進む。中心座標の画素のラベル番号Px(xc,yc)が画素グループのラベル番号i_LBLと同じであると判定された場合、その画素グループは環状でなく、手順はステップ816に進む。
【0095】
ステップ808において、プロセッサ112は、画素グループが環状であるかどうかを確認するために、中心座標(xc,yc)を始点として、画像の上方向に画素グループのラベル番号i_LBLを有する輪郭線画素までトレース位置を移動する。ステップ810において、プロセッサ112は、その輪郭線画素を始点として、中心座標(xc,yc)を回転中心として、例えば正方向または負方向(時計回り)の回転または周方向に、ラベル番号i_LBLの画素グループの輪郭線に沿ってその画素グループをトレースする。トレース位置が始点に戻った場合には、プロセッサ112は、その画素グループが環状であると判定する。一方、位置が画素グループの外接矩形に達したり、またはトレース方向と逆方向に移動した場合には、プロセッサ112は、その画素グループは環状でないと判定する。
【0096】
ステップ812において、プロセッサ112は、ラベル順序番号Iの画素グループが環状かどうかを判定する。画素グループが環状でないと判定された場合は、手順はステップ816に進む。画素グループが環状であると判定された場合は、ステップ814において、ラベルのテーブル(図15)において、ラベル番号i_LBLを有する画素グループの環状パラメータL_TBL(I,9)をL_TBL(I,9)=“環状”と設定する。
【0097】
ステップ816において、プロセッサ112は、画素グループのラベル順序番号Iを1だけ増分する(I=I+1)。ステップ818において、プロセッサ112は、ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合は、手順はステップ804に戻る。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいと判定された場合は、手順は図18のルーチンを出る。
【0098】
このようにして、全てのラベル番号i_LBLの画素グループについて、環状かどうかを判定して、環状である画素グループが特定される。
【0099】
図19は、図11のステップ510における、表示領域(404、414、424、434)の表示枠を表す画素グループを抽出する処理のためのフローチャートの例を示している。
【0100】
図19を参照すると、プロセッサ112は、ステップ850においてその処理を開始する。ステップ852において、プロセッサ112は、画素グループのラベル順序番号Iを初期値I=1と設定する。ステップ854において、プロセッサ112は、ラベル番号i_LBLをラベル・テーブル(図15)上のラベル番号L_TBL(I,1)と設定する(i_LBL=L_TBL(I,1))。
【0101】
ステップ856において、プロセッサ112は、ラベル・テーブル(図15)においてラベル順序番号Iの環状パラメータL_TBL(I,9)が“環状”かどうかを判定する。それが“環状”でないと判定された場合は、手順はステップ866に進む。それが“環状”であると判定された場合は、ステップ858において、プロセッサ112は、画像においてそのラベル番号L_TBL(I,1)を有する画素グループの内側における別の画素グループの有無を検索する。ステップ862において、プロセッサ112は、そのラベル番号L_TBL(I,1)の画素グループの内側に別の画素グループが存在するかどうかを判定する。その画素グループの内側に別の画素グループが存在しないと判定された場合は、手順はステップ866に進む。その画素グループの内側に別の画素グループが存在すると判定された場合は、その画素グループが他の画素グループを包囲しているので、ステップ864において、プロセッサ112は、ラベル順序番号I即ちラベル番号L_TBL(I,1)の画素グループの包囲パラメータL_TBL(I,10)=“包囲”(または“輪郭”)と設定する。
【0102】
ステップ866において、プロセッサ112はラベル順序番号Iを1だけ増分する(I=I+1)。ステップ868において、プロセッサ112は、ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合は、手順はステップ854に戻る。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きい、即ち全てのラベル番号i_LBLについて“環状”かどうかを判定したと判定された場合は、ステップ870において、プロセッサ112は、最も内側の“包囲”を表す画素グループを“表示枠”と決定する。プロセッサ112は、さらに、“表示枠”と決定された画素グループの横幅Wdと縦の高さHdを求める。その後、手順は図19のルーチンを出る。
【0103】
このようにして、測定器の表示部または表示領域の画像において、数字を表す画素グループを含んでいる最も内側にある環状の表示枠(404、414、424、434)の画素グループが抽出される。
【0104】
図20は、図11のステップ512における、“表示枠”を表す画素グループの内側にある画素グループを抽出する処理のためのフローチャートの例を示している。
【0105】
図20を参照すると、プロセッサ112は、ステップ900においてその処理を開始する。ステップ902において、プロセッサ112は、画素グループのラベル順序番号Iを初期値I=1と設定する。ステップ904において、プロセッサ112は、ラベル番号i_LBLをラベル・テーブル(図15)のラベル番号i_LBL=L_TBL(I,1)と設定する。
【0106】
ステップ906において、プロセッサ112は、測定器の表示部の画像においてラベル番号L_TBL(I,1)の画素グループが表示枠(の画素グループ)の内側にあるかどうかを判定する。画素グループが表示枠の内側にないと判定された場合は、手順はステップ910に進む。画素グループが表示枠の内側にあると判定された場合は、ステップ908において、プロセッサ112は、そのラベル番号の対象パラメータL_TBL(I,11)をL_TBL(I,11)=“対象”と設定する。それによって、表示枠の内側にある認識対象または抽出対象となる数字を表す可能性のある画素グループが抽出される。
【0107】
ステップ910において、プロセッサ112は、画素グループのラベル順序番号Iを1だけ増分する(I=I+1)。ステップ912において、プロセッサ112は、ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合は、手順はステップ904に戻る。ラベル順序番号Iがラベル数It(最大i_LBL−10)より大きいと判定された場合は、手順は図20のルーチンを出る。それによって、全ての画素グループについて、認識対象または抽出対象となる数字を表す可能性のある画素グループであるかどうかが決定される。
【0108】
図21Aおよび21Bは、図11のステップ514における、隣接関係にある画素グループを結合する処理のためのフローチャートの例を示している。
【0109】
図21Aを参照すると、プロセッサ112は、ステップ950においてその処理を開始する。ステップ952において、プロセッサ112は、画素グループのラベル順序番号Iを初期値I=1と設定する。ステップ954において、プロセッサ112は、ラベル・テーブル(図15)においてラベル順序番号Iのラベル番号i_LBLの画素グループの対象パラメータL_TBL(I,11)が“対象”であるかどうかを判定する。その画素グループが“対象”でないと判定された場合は、手順はステップ974に進む。その画素グループが“対象”であると判定された場合は、ステップ958において、プロセッサ112は、別のラベル順序番号J=I+1を設定する。
【0110】
ステップ958において、プロセッサ112は、ラベル順序番号Iのラベル番号i_LBLの画素グループの対象パラメータL_TBL(J,11)が“対象”であるかどうかを判定する。その画素グループが“対象”でないと判定された場合は、手順はステップ970に進む。その画素グループが“対象”であると判定された場合は、ステップ960において、プロセッサ112は、2つのラベル順序番号I、Jのラベル番号i_LBLの対象パラメータL_TBL(I,11)とL_TBL(J,11)の画素グループの外接矩形(例えば図7Dの破線)が位置的に部分的に重なるかどうかを判定する。
【0111】
図22Aは、2つの画素グループの外接矩形が位置的に部分的に重なる例を示している。
【0112】
それらが重なると判定された場合は、手順はステップ966に進む。それらが重ならないと判定された場合は、ステップ962において、プロセッサ112は、2つの画素グループの各々を複数の領域のブロックに分割し、2つのグループの各ブロックのうち互いに最も近いブロックの組合せを選択する。
【0113】
図22Bは、隣接する2つの画素グループの各々を3つの領域のブロックに分割する例を示している。
【0114】
ステップ964において、プロセッサ112は、その組合せの2つの画素ブロックの間の距離が閾値より小さいかどうかを判定する。その距離が閾値より小さいと判定された場合は、手順はステップ970へ進む。その距離が閾値より小さくないと判定された場合は、手順はステップ966に進む。2つの画素グループの各々を複数の領域のブロックに分割してそれぞれの距離を比較することによって、一方の画素グループの全ての画素と他方の画素グループの全ての画素との間の各距離を閾値と比較する必要がなくなり、処理負荷が小さくなり、処理が高速化できる。
【0115】
ステップ966において、プロセッサ112は、その組合せの2つの画素グループを、1つの数字を表す可能性のある同じ結合関係にある画素グループとして結合する。そのために、2つの画素グループのラベル番号i_LBLのラベル結合パラメータi_LBL(I,12)に、1つの画素グループのラベル番号または同じ結合関係にある他の画素グループの最も小さいラベル番号i_LBLを付与する。その後、手順は図21Bのステップ970へ進む。
【0116】
図21Bのステップ970において、プロセッサ112は、他方の画素グループのラベル順序番号Jを1だけ増分する(J=J+1)。ステップ972において、プロセッサ112は、ラベル順序番号Jがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Jがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合、手順はステップ958に戻る。ラベル順序番号Jがラベル数It(最大ラベル番号i_LBL−10)より大きいと判定された場合は、ステップ974において、プロセッサ112は、一方の画素グループのラベル順序番号Iを1だけ増分する(I=I+1)。ステップ976において、プロセッサ112は、ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合、手順はステップ954に戻る。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいと判定された場合は、手順は図22Aおよび22Bのルーチンを出る。
【0117】
図23は、図11のステップ516における、画像の傾きを補正する処理のためのフローチャートの例を示している。
図24Aおよび24Bは、画像の傾きの補正の例を示している。
【0118】
図23を参照すると、プロセッサ112は、ステップ1100においてその処理を開始する。ステップ1102において、プロセッサ112は、画素グループの外接矩形の右辺(図24)または左辺から水平方向の最も近い画素グループの画素までの距離から、画像の傾きθ(tanθまたはcotθ)を求める。
【0119】
ステップ1104において、プロセッサ112は、傾きθがあるかどうか(=0°)かどうかを判定する。傾きがない(θ=0°)と判定された場合は、手順は図23Aのルーチンを出る。傾きがある(θ≠0°)と判定された場合は、ステップ1106において、プロセッサ112は、画像における各画素グループの画素を傾き分(−θ)だけ水平方向に移動させて、傾きθを補正する。その後、手順は図23のルーチンを出る。
それによって、図24Aおよび24Bに示されているように、傾きθを有する図24Aの画像が、図24Bの傾きのない画像に補正される。
【0120】
図25は、図11のステップ518における、認識された数字の列または数値情報を抽出する処理のためのフローチャートの例を示している。
【0121】
図25を参照すると、プロセッサ112は、ステップ1150においてその処理を開始する。ステップ1152において、プロセッサ112は、ラベル・テーブル(図15)において、数字を表す可能性のある結合された画素グループの組の外接矩形(図7C、8Cの破線)の縦と横の長さの比を求め、縦と横の比が閾値(例えば、7:1または7/1)より大きいかどうかを判定する。縦と横の比が閾値より大きいと判定された場合は、ステップ1154において、プロセッサ112は、ラベル・テーブルにおいてその画素グループの組を数字“1”と判定する。その後、手順は図25のルーチンを出る。
【0122】
ステップ1152において縦と横の比が閾値より大きくないと判定された場合は、ステップ1156において、プロセッサ112は、結合された画素グループの組をその外接矩形(図7C、8Cの破線)に基づいて縦と横方向に複数の領域の画素ブロック(例えば、7×4個のブロック)に分割し、各画素ブロックにおいてラベル番号を有する画素数を求める。
【0123】
ステップ1162において、プロセッサ112は、画像における各位置の画素ブロックにおける画素(暗)数の割合または占有率(%)を、数字“0” 、“2”〜“9”を表すパターンの各位置のブロックにおける値1(暗)の割合または占有率(%)と比較する。数字“0” 、“2”〜“9”を表すパターンの各位置のブロックにおける値1(暗)の割合または占有率(%)は、メモリ114またはハードディスク・ドライブ130に予め格納されている。プロセッサ112は、画像の画素ブロックのパターンが、予め格納された各数字のブロックのパターンと許容誤差の範囲内で一致するかどうかを判定する。画像の画素ブロックのパターンが数字“0” 、“2”〜“9”のいずれかのブロックのパターンと許容誤差の範囲内で一致すると判定された場合は、ステップ1166において、プロセッサ112は、その画素グループの組を数字“0” 、“2”〜“9”のいずれかと判定する。ステップ1162において画像の画素ブロックのパターンが各数字のブロックのパターンと一致しないと判定された場合は、ステップ1164において、プロセッサ112は、認識結果を、測定値を表す数字ではないと判定する。プロセッサ112は、ラベル・テーブル(図15)において、画素グループの組に対して、認識された結果の数字を格納する。例えば、小数点“.”、単位“℃”、“mmHg”、数字以外の文字および記号、小さい数字、等、を表す画素グループは、測定値を表す数字ではないと判定されてもよい。その後、手順は図25のルーチンを出る。
【0124】
このようにして、簡易な数字認識のための処理形態で、測定器の表示部の画像から、測定値を表す個々の数字が抽出される。
【0125】
図25のフローチャートは、同じラベル結合番号が付与された画素グループの組(各数字)について実行され、それによって、各数字を表す文字が認識されて抽出される。
【0126】
図26は、図11のステップ520における、使用した測定器の表示部に固有の特徴またはパラメータを抽出する処理のためのフローチャートの例を示している。
【0127】
図26を参照すると、プロセッサ112は、ステップ1200においてその処理を開始する。ステップ1202において、プロセッサ112は、各数字を表すものとして認識された結合関係にある画素グループの組(各数字)の外接矩形(図7C、8Cの破線)の縦と横の長さの最大値を求め、その平均値を数字の横幅Wcと縦の高さHcとして求める。プロセッサ112は、数字の横幅Wcと縦の高さHcをメモリ114またはハードディスク・ドライブ130に格納する。
【0128】
ステップ1204において、プロセッサ112は、数字の画素グループの数字(文字)の太さTcを求める。そのために、プロセッサ112は、各画素グループをxおよび/またはy方向に走査し、黒の画像の連続画素の数が閾値の以下でかつ最も長い距離を数字(文字)の太さとして求め、その平均値を数字の太さTcとして決定してもよい。その閾値は、例えば、数字の横幅Wcに1/3を乗じた値Wc/3であってもよい。プロセッサ112は、数字の太さTcをメモリ114またはハードディスク・ドライブ130に格納する。
【0129】
ステップ1206において、プロセッサ112は、数字として認識された組(即ち数字)の画素グループから文字の間隔Pcと文字の行間隔Plを求める。そのために、プロセッサ112は、隣接の数字の画素グループの組の外接矩形(例えば、右辺)の間のx方向の間隔(ピッチ)を文字間隔として求め、その平均値を隣接の数字間の文字間隔Pcとして決定してもよい。プロセッサ112は、隣接する2つの数字の間の間隔が、他の隣接の数字の間隔の平均より閾値(例えば、2倍、2Pc)以上離れている場合は、それらを互いに異なる測定項目の数字と判定し、文字間隔の平均値Pcを求めるのに使用しないようにしてもよい。また、プロセッサ112は、隣接する数字の高さの中心座標yの平均値をy方向の行位置として求め、垂直方向の隣接する2つの行位置の間の距離の平均値をその2つの行の間の行間隔Plとして決定してもよい。プロセッサ112は、さらに、隣接の数字の平均の文字間隔Pcを基準(=1.0)として、他のパラメータ、例えば、数字の文字の横と縦の長さ、行の間隔、数字の太さ、等の寸法を正規化してもよい。プロセッサ112は、文字間隔Pcおよび行間隔Plをメモリ114またはハードディスク・ドライブ130に格納する。
【0130】
ステップ1208において、プロセッサ112は、数字の文字間隔Pcと、数字の垂直方向の行間隔Plとから、複数の数字を項目別に分けてグループ化する。1行の数字の文字間隔Pcが閾値(例えば、2倍の文字間隔2Pc)以下の場合は、プロセッサ112は、その数字を1つの測定項目にグループ化する。一方、1行における隣接する2つの数字の文字間隔Pcが閾値より大きい場合は、プロセッサ112は、その2つの数字を、その間隔によって識別される異なる測定項目に分離しグループ化する。プロセッサ112は、さらに、異なる行の数字を、行毎の異なる測定項目にグループ化する。このようにして、各測定項目の数値を表す桁数と数値を有する数字の列(数値情報)が決定される。この場合、数字以外の文字、記号、小数点、等は、無視されて処理の対象外とされてもよい。プロセッサ112は、その決定された項目別の数字の列(数値情報)をメモリ114またはハードディスク・ドライブ130に格納する。
【0131】
ステップ1210において、プロセッサ112は、平均の文字間隔Pc(=1.0)を基準にして、表示領域または表示枠(404、414、424、434)の縦と横の長さ(Hd,Wd)を正規化して(Hd/Pc,Wd/Pc)、正規化された表示領域の寸法形状(Hd,Wd)を決定する。代替形態として、文字間隔Pcの代わりに、平均の文字の高さHcを基準として、表示領域または表示枠の縦横の寸法形状(Hd,Wd)を正規化してもよい。プロセッサ112は、その決定された表示領域の寸法形状(Hd,Wd)をメモリ114またはハードディスク・ドライブ130に格納する。
【0132】
図27は、図11のステップ522における、抽出された表示部の特徴に対応する測定項目と、抽出された数字列によって表される測定値とを決定する処理のためのフローチャートの例を示している。
【0133】
図27を参照すると、プロセッサ112は、ステップ1250においてその処理を開始する。ステップ1252において、プロセッサ112は、測定器のリスト(図5)を参照して、抽出された表示部の特徴に類似するリスト中の表示部の特徴を選択する。そのために、プロセッサ112は、画像の表示部の特徴として、表示領域(表示枠)の寸法形状(Hd,Wd)、文字のサイズ(高さHc)、文字間隔(Pc)および文字の太さを、測定器のリスト(図5)における使用される各測定器の順序番号(No.1、4、7)のものと比較する。プロセッサ112は、抽出された表示部の寸法形状的な特徴に類似するまたはそれに近いリスト中の表示部の特徴またはそれに対応する測定器の順序番号を選択する。
【0134】
ステップ1254において、プロセッサ112は、測定器のリストにおいて選択された測定器の表示部の特徴または順序番号に対応する測定器種別をリスト中から決定または選択する。プロセッサ112は、その決定された測定器種別をメモリ114またはハードディスク・ドライブ130に格納する。
【0135】
ステップ1256において、プロセッサ112は、測定器のリストにおいてその選択された測定器種別に対応する測定項目を決定する。選択された測定器種別に対応する1つの測定項目だけが存在する場合は、測定器種別の選択によって測定項目が一意的に決定される。測定器種別に対応する2つ以上の測定項目が存在する場合は、可能性ある2つ以上の測定項目が仮に決定される。
【0136】
ステップ1258において、プロセッサ112は、測定項目のリスト(図6)を参照して、決定された測定項目に基づいて、抽出された数字列(数値情報)によって表される測定値を決定する。そのために、プロセッサ112は、数字列によって表される測定値(データ)を、その決定された測定項目のデータ形式に基づいて決定する。例えば、数字列(数値情報)が“370”であり、測定項目が体温である場合には、両者が3桁の数字であり、下位第1桁と第2桁の間に小数点があるので、測定値は“37.0”または“37.0℃”と決定される。
【0137】
測定器種別に対応する2つ以上の測定項目が存在する場合は、次のように処理してもよい。プロセッサ112は、画像における数字列(数値情報)の桁数、数値の大きさ、項目の出現順序を、測定項目のリスト(図6)における各測定項目のデータ形式(桁数)、出現順序、および任意に数値の許容範囲(図示せず)を参照しまたはこれらと比較してもよい。それによって、プロセッサ112は、数字列によって表される測定項目およびその測定値(データ)を決定する。その比較において、小数点は無視してもよい。プロセッサ112は、さらに、決定された測定項目に基づいて、測定項目のリスト(図6)を参照して、数字列によって表される小数点を含む数値および単位を測定値として決定する。また、プロセッサ112は、画像から抽出された2つ以上の数字列を、互いに比較し、測定項目のリスト中の各測定項目のデータ形式(桁数)、出現順序、および任意に数値の許容範囲を参照してまたはこれらと比較してもよい。それによって、プロセッサ112は、各数字列(数値情報)によって表される測定項目およびその測定値(データ)を決定しもよい。
【0138】
例えば、プロセッサ112は、画像から抽出された血圧に関する2組の数字列(数値情報)を比較して、大きい値の数字の列(数値情報)を最高血圧を表すものと決定し、小さい値の数字の列(数値情報)を最低血圧を表すものと決定してもよい。例えば、プロセッサ112は、画像から抽出された血圧と脈拍数に関する3組の数字の列(数値情報)を、測定器のリスト(図5)および測定項目のリスト(図6)と比較して、画像中の順におよびリスト中の出現順に最高血圧、最低血圧、脈拍を表すものと決定してもよい。
【0139】
例えば、画像から抽出された数字列“65”について、測定項目“最高血圧”と“最低血圧”が選択され、画像中の出現順序が2番目であり、別の数字列“120”より小さいとする。一方、測定項目のリストにおいて、“最低血圧”が3桁の数字で、許容範囲が“40〜80”で、測定項目“最高血圧”の後に出現するとする。この場合、数字列“65”に対して、測定項目のリスト中の“最低血圧”が測定項目として選択され、測定値として“65”または“65mmHg”が決定される。
【0140】
ステップ11258の後、手順は、ステップ1260進むか、またはステップ1262に進んでもよい。
【0141】
ステップ1260において、プロセッサ112は、さらに、今回の測定値(データ)の数値を、補助データとしての基準数値と比較して、今回の測定値の数値が基準数値の許容範囲内にあるかを判定して、決定した測定器種別および測定項目が妥当かどうかを判定してもよい。補助データとしての基準数値は、例えば、ユーザの個人データに近い年齢、性別等の一般的な測定項目(身体データ種別)の数値であっても、またはユーザ個人によって設定された数値であっても、またはユーザ個人の前回もしくは数回前以内の過去の測定値であってもよい。測定項目における数値の許容範囲は、例えば一般的な基準数値の±15%以内もしくは±特定の数値以内であっても、ユーザ個人の過去の測定値の±10%以内もしくは±特定の数値以内であってもよい。ユーザの過去の測定データは、メモリ114またはハードディスク・ドライブ130およびサーバ装置30に格納されている。例えば、測定項目が最高血圧の場合、その数値の許容範囲は、ユーザ個人の最高血圧120±12(割合10%)であってもよい。例えば、測定項目が体温の場合、その数値の許容範囲は、ユーザ個人の体温36.8の±2.5(特定の数値)であってもよい。
【0142】
プロセッサ112は、測定値の数値が許容範囲にないと判定された場合、決定した測定器種別および項目名が妥当でないと判断してもよい。その場合、手順はステップ1256または1254に戻る。数値が許容範囲にないと判定された場合には、手順はステップ1256に戻って、プロセッサ112は、複数の測定項目の中から選択された表示部の特徴に対応する可能性のある別の測定項目を選択してもよい。それでもステップ1260において、再び、測定値の数値が基準数値の許容範囲にないと判定された場合には、手順はステップ1254に戻ってもよい。この場合、プロセッサ112は、ステップ1254において測定器のリストの中の表示部の特徴の中から、抽出された表示部の特徴に類似する別の表示部の特徴を決定し、ステップ1256においてそれに対応する測定項目を決定して、測定値を決定してもよい。このような上述の表示部の特徴の比較を繰り返して、測定器種別および測定項目がより妥当な別の測定器種別および測定項目が選択されるようにしてもよい。ステップ1260において、プロセッサ112は、1つの数字列に対してステップ1256を複数回実行することによって決定された各測定項目の測定値と各基準値との間の差に基づいて、より妥当な測定項目および測定値を決定してもよい。
【0143】
このようにして、ユーザの入力操作なしで、かつ高機能および高精度の文字認識技術を用いることなく、画像から抽出された数字の列(数値情報)からその数字の列によって表される測定項目および測定値が決定される。
【0144】
ステップ1262において、プロセッサ112は、画像データに含まれる撮影日時を取得して測定日時として決定し、決定された測定器種別と測定項目に対応付けて測定値をその測定日時の情報とともに、メモリ114またはハードディスク・ドライブ130に格納する。
【0145】
ステップ1264において、プロセッサ112は、決定された測定器種別、測定日時、測定項目(身体データ種別)および測定値を、測定日時情報および撮像画像とともに、表示装置122に表示して(図28、29)、ユーザに測定項目と測定値を確認させる。
【0146】
図28Aは、表示部122上の測定項目(体温)と測定値の表示1310の例を示している。図28Bは、表示部122上の測定項目(体重)と測定値の表示1320の別の例を示している。
【0147】
ユーザは、表示された内容が正しければ、入力部126における確認用のキーを操作して、測定項目と測定値を測定データとして決定する。ユーザは、その測定項目と測定値に誤りがあれば、入力部126を操作して修正することができ、その修正された測定項目と測定値を確認して決定する。プロセッサ112は、ユーザの入力部126による操作に従って、測定器名、測定日時、測定データを決定しまたは修正する。プロセッサ112は、その決定された測定データを、メモリ114またはハードディスク・ドライブ130に今回の測定データとして格納する。
【0148】
ユーザは、同じ身体データを測定するために異なる種別の測定器を使用することがある。そのような場合でも、プロセッサ112は、表示装置122に共通の測定項目と測定値を表示するだけでよく、それぞれの測定器名または測定器種別を区別して表示しなくてもよい。例えば、プロセッサ112は、体温計Aの測定値と体温計Bの測定値のいずれも、測定項目“体温”として表示すればよく、体温計Aと体温計Bを区別して表示しなくてよい。
【0149】
図11のステップ524において、プロセッサ112は、ユーザの入力部126による操作に従って、ユーザの個人情報(識別情報、氏名、性別、年齢、等)とともに、測定器の名称、測定日時、測定項目名、測定値(測定データ)をサーバ装置30に送信する。
【0150】
サーバ装置30のプロセッサ312は、受信したユーザの測定器の種別、測定日時、測定項目、測定値(測定データ)を記憶装置16のデータベース(DB)にして、履歴データまたは記録データとして管理する。データベースには、ユーザの個人情報、測定日時、測定項目(身体データ種別)、測定値が蓄積されて管理される。測定に使用された測定器種別は蓄積されても、蓄積されなくてもよい。
【0151】
その後、サーバ装置30またはプロセッサ312は、情報処理端末100または携帯端末102からの要求に応答して、記憶装置16に格納された履歴データまたは記録データを送信する。その履歴データには、測定データの分析結果および/または助言に関する情報を付加してもよい。情報処理端末100または携帯端末102の(プロセッサ112)は、履歴データまたは記録データ等を受信する。
【0152】
図29は、情報処理端末100または携帯端末102の表示部122に表示される測定データの履歴データの表示画面の例を示している。
情報処理端末100または携帯端末102の(プロセッサ112)は、受信した履歴データのファイルを図29に示されているようにその表示部122上に表示する。図29に示されているように、表示部122に測定項目に対応付けて各測定値が測定日時情報の順に表示される。さらに、前述したような付加情報が表示部122に表示されてもよい。
【0153】
図11のフローチャートの少なくとも一部、例えばステップ502〜522の全てまたは一部は、サーバ装置30のプロセッサ312に実行させることもできる。この場合、メモリ114の代わりに記憶装置16が使用される。
【0154】
この場合、ステップ500において、プロセッサ312またはその処理部1144は、ユーザの操作に従って情報処理端末100または携帯端末102から、カメラ202または撮像部203によって撮影された測定器の表示部の画像を含む画像のデータを受信して記憶装置16のデータベース(DB)に格納する。
【0155】
同様に、ステップ502は、プロセッサ312またはそのノイズ除去部1122によって実行される。ステップ504は、プロセッサ312またはその二値化部1124によって実行される。ステップ506は、プロセッサ312またはそのグループ化部1126によって実行される。ステップ508は、プロセッサ312またはその環状判定部1128によって実行される。ステップ510は、プロセッサ312または環状判定部1128によって実行される。ステップ512は、プロセッサ312またはそのグループ抽出部1130によって実行される。ステップ514は、プロセッサ312またはそのグループ結合部1132によって実行される。ステップ518は、プロセッサ312またはその数字抽出部1138によって実行される。ステップ520は、プロセッサ312または特徴抽出部1138によって実行される。
【0156】
ステップ522は、プロセッサ312またはその測定データ決定部1140によって実行される。ステップ522のステップ1264(図27)において、プロセッサ312またはその測定データ決定部1140は、測定項目および測定値を情報処理端末100または携帯端末102に送信して、その表示部122に表示させ、ユーザにそれを確認させ、誤っている場合には修正させる。ユーザは、情報処理端末100または携帯端末102上で確認された測定項目および測定値を測定データとして決定して、メモリ114またはハードディスク130に格納させ、その決定された測定データをサーバ装置30に送信する。
【0157】
ステップ524において、プロセッサ312または処理部1144は、受信したその決定された測定データとしての測定項目(身体データ種別)および測定値を、ユーザの個人情報および測定日時とともに、測定データを記憶装置16のデータベース(DB)に格納して履歴データまたは記録データとして管理する。
【0158】
上述の実施形態によれば、通信機能のないより多種類の測定器の測定データを捕捉してサーバ装置30に送信して、長い期間にわたる多種類の測定データを履歴データとしてサーバ装置30に管理させることができる。それによって、ユーザに関するより多くの測定項目の測定データに基づいて、サーバ装置30によってユーザの健康に関するより適切な分析を行い、より適した分析結果および助言を付加情報としてユーザに提示することができる。
【0159】
ここで挙げた全ての例および条件的表現は、発明者が技術促進に貢献した発明および概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例および条件に限定することなく解釈され、また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない、と理解される。本発明の実施形態を詳細に説明したが、本発明の精神および範囲から逸脱することなく、それに対して種々の変更、置換および変形を施すことができる、と理解される。
【0160】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1) 情報処理装置が、
捕捉された画像データを記憶装置に格納させ
前記画像データから数値情報を抽出し
前記画像データから形状的特徴を抽出し
前記記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する
処理を実行すること
を特徴とする画像データの処理方法。
(付記2) 前記情報処理装置が、前記記憶装置に格納された前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納する処理を実行することを特徴とする、付記1に記載の方法。
(付記3) 前記測定データを格納する際、前記測定データをさらに日時情報とともに格納することを特徴とする、付記1または2に記載の画像データの処理方法。
(付記4) 前記情報処理装置が、さらに、前記記憶装置に格納された該種別に対応付けられた該測定データを別の装置に送信する処理を実行することを特徴とする付記1乃至3のいずれかに記載の方法。
(付記5) 前記情報処理装置が、さらに、前記測定データを含む複数の測定データに関する履歴情報の要求に応答して、別の装置に送信された前記身体データ種別に対応付けられた前記測定データを前記別の装置から受信して、該複数の測定データを日時情報の順に表示装置に表示させる処理を実行すること、を特徴とする、付記2乃至4のいずれかに記載の方法。
(付記6) 決定された前記身体データ種別に基づいて前記数値情報によって表される前記測定データを決定する際に、前記数値情報が、身体データ種別によって表される値として許容範囲にあるかどうかを判定し、
前記数値情報が前記許容範囲にないと判定された場合には、選択された形状的特徴に対応する可能性のある別の身体データ種別を該身体データ種別として選択し、または、前記記憶装置に格納された前記複数の形状的特徴の中から、抽出された前記形状的特徴に類似する他の形状的特徴を決定し、該他の形状的特徴に基づいて該測定データを決定することを特徴とする、付記2または3に記載の方法。
(付記7) 捕捉された画像データを記憶装置に格納させ。
前記画像データから数値情報を抽出し。
前記画像データから形状的特徴を抽出し。
前記記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する
処理を、情報処理装置に実行させるためのプログラム。
(付記8) 前記記憶装置に格納された前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納する処理を、前記情報処理装置に実行させるための付記7に記載のプログラム。
(付記9) さらに、前記測定データを含む複数の測定データに関する履歴情報の要求に応答して、別の装置に送信された前記身体データ種別に対応付けられた前記測定データを前記別の装置から受信して、該複数の測定データを日時情報の順に表示装置に表示させる処理を、前記情報処理装置に実行させるための、付記8に記載のプログラム。
(付記10) 複数の身体データ測定器の種別と、前記複数の測定器の種別にそれぞれ対応付けられた前記複数の身体データ測定器各々の表示部に関する複数の形状的特徴とを格納し、捕捉された画像データを格納する記憶部と、
前記画像データから数値情報を抽出する数字抽出部と、
前記画像データから形状的特徴を抽出する特徴抽出部と、
前記複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する処理部と、
を含むことを特徴とする、端末装置。
(付記11) 前記記憶部は、前記複数の形状的特徴にそれぞれ対応付けられた複数の身体データ種別を格納し、
前記処理部は、前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納すること、を特徴とする、付記10に記載の端末装置。
【0161】
5 ネットワーク
30 サーバ装置
312 データベース
312 プロセッサ
100 情報処理端末
102 携帯端末
112 プロセッサ
114 メモリ
130 ハードディスク・ドライブ
202 ディジタル・カメラ
203 撮像部
【技術分野】
【0001】
本発明は、画像データから数値情報を抽出する処理に関する。
【背景技術】
【0002】
例えば個人の食事画像のような生活(ライフ)上の個人的な記録またはログを、ネットワークを介してサーバに蓄積してサーバに管理させることが知られている。また、例えば健康管理のために、測定機器を用いて測定された個人の身体データ(例えば、体重、体温、血圧、等)を、ネットワークを介してサーバに蓄積してサーバに管理させことが知られている。
【0003】
既知のデータ測定および記録システムは、ディジタル測定器と、測定されたディジタル情報をパソコン・キーボード・インタフェースの情報に変換して出力するデータ読取装置と、パソコンとを含んでいる。パソコンは、その変換して出力されたパソコン・キーボード・インタフェースの情報を、テキスト・エディタで記録する。データ読取装置は、表示された測定値を撮影するビデオカメラと、ビデオ信号−RGB変換部と、水平位置設定発信回路と、垂直・水平位置設定同期部とを含んでいる。データ読取装置は、さらに、明暗判断値設定スイッチと、設定位置明暗信号抽出部と、設定確認モニタと、明暗判断部と、明暗信号バッファと、明暗信号−数値変換部と、パソコン・キーボード・インタフェース変換部とを含んでいる。データ読取装置は、測定器に表示された測定値の画像を解析して、画像中の測定値を取得する。
【0004】
測定器に無線機能を組み込み、例えば体重、血圧、等の身体データをその測定器で測定してその測定値をパーソナル・コンピュータに無線で転送して格納し、さらに、その測定値をネットワークを介してサーバに送信して蓄積してサーバに管理させるサービスが知られている。
【0005】
既知の或るネットワーク・システムにおいて、機器が、その機器を特定するための第1の情報を含む第1の通知を管理サーバへ送信し、管理サーバが、画像パターンの種別を含む第2の通知を機器へ送信し、機器が第2の通知内の画像パターンを自身の有する表示画面に表示する。管理サーバは、機器が表示した画像パターンの探索を指示するための第3の通知をカメラ・サーバへ送信し、カメラ・サーバは撮影を指示するための第4の通知をカメラへ送信する。カメラは、第4の通知に応じて機器が表示した画像パターンを撮影すると、その撮影画像をカメラ・サーバへ送信する。カメラ・サーバは、撮影画像を評価して、カメラを特定するための第2の情報、及び、その評価の結果を含む第5の通知を、管理サーバに送信する。管理サーバは、第5の通知を受信すると、評価の結果に基づいて、第1の情報と第2の情報を対応付けて格納する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2001−12976号公報
【特許文献2】特開2008−211412号公報
【非特許文献】
【0007】
【非特許文献1】正藤慶一、“インテル、体重や血圧をパソコン上で管理する新サービスを公開〜「コンティニュア」の統一規格で異なるメーカーも通信可”、[online]、平成21年4月15日、Impress Watch 、[平成23年3月4日検索]、インターネット<http://kaden.watch.impress.co.jp/docs/news/20090415_125414.html>
【発明の概要】
【発明が解決しようとする課題】
【0008】
通常の身体に関する測定データをサーバが管理するサービスでは、ユーザがパーソナル・コンピュータでまたはそのキーボードで測定データを入力する。さらに、上述の既知のデータ測定および記録システムでは、測定器に表示された測定値の画像を解析して画像中の測定値を取得することができる。しかし、上述の既知のデータ測定および記録システムでは、画像から抽出された測定データが、例えば体温、血圧、等の身体データのいずれの測定データかを区別することができず、従って異なる複数の種別の測定データを管理することができない。
【0009】
また、上述の既知のサービスでは、特定の測定器で測定したデータをユーザの入力操作なしで、サーバに無線で転送してサーバで管理することはできる。しかし、異なる測定器で測定した異なる複数の種別の身体データを、ユーザの入力操作なしで区別して、サーバが一元的に管理することはできない。
【0010】
発明者は、ユーザによるデータの入力操作なしで、様々な身体データを区別して管理するために、画像から取得した測定値を測定器または身体データの種別ごとに区別できるようにすると有利である、と認識した。
【0011】
実施形態の目的は、画像から取得した数値情報を測定器または身体データの種別ごとに区別できるようにすることである。
実施形態の別の目的は、ユーザによってデータの入力操作を行うことなく、異なる身体データを区別して管理することができるようにすることである。
【課題を解決するための手段】
【0012】
実施形態の一観点によれば、情報処理装置が、捕捉された画像データを記憶装置に格納させ、その画像データから数値情報を抽出し、その画像データから形状的特徴を抽出し、その記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出されたその形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定されたその種別に基づいてその数値情報によって表される測定データを決定し、決定された種別に対応付けて測定データを記憶装置に格納する処理を実行する、画像データの処理方法が提供される。
【発明の効果】
【0013】
実施形態の一観点によれば、画像から取得した数値情報を測定器または身体データの種別ごとに区別することができ、ユーザによってデータの入力操作を行うことなく、異なる身体データを区別して管理することができる。
【図面の簡単な説明】
【0014】
【図1】図1は、実施形態による、ネットワークを介して接続されるサーバ装置、情報処理端末および携帯端末を含むシステムの例を示している。
【図2】図2は、図1の情報処理端末の概略的な構成(configuration)の例を示している。
【図3】図3は、図1の携帯端末の概略的な構成(configuration)の例を示している。
【図4】図4は、情報処理端末または携帯端末のプロセッサの概略的な構成(configuration)の例を示している。
【図5】図5は、情報処理端末または携帯端末のメモリまたはハードディスク・ドライブに格納される測定器のリストの例を示している。
【図6】図6は、情報処理端末または携帯端末のメモリまたはハードディスク・ドライブに格納される、図5における測定項目のリストの例を示している。
【図7】図7Aは、表示領域を含む体温計の例を示している。図7Bは、カメラまたは撮像部によって撮影された図7Aの体温計の表示領域の画像の例を示している。図7Cは、プロセッサによって抽出された図7Bの画像における数字の列とそれぞれの数字の外接矩形(破線)の例を示している。図7Dは、セグメントに対応する各画素グループの外接矩形(破線)の例を示している。
【図8】図8Aは、表示領域を含む体重計の例を示している。図8Bは、カメラまたは撮像部によって撮影された図8Aの体重計の表示領域の画像の例を示している。図8Cは、プロセッサによって抽出された図8Bの画像における数字の列とそれぞれの数字の外接矩形の例を示している。
【図9】図9Aは、表示領域を含む血圧計の例を示している。図9Bは、カメラまたは撮像部によって撮影された図9Aの血圧計の表示領域の画像の例を示している。
【図10】図10Aは、表示領域を含む別の血圧計の例を示している。図10Bは、カメラまたは撮像部によって撮影された図10Aの血圧計の表示領域の画像の例を示している。
【図11】図11は、情報処理端末または携帯端末のプロセッサによって実行される、測定値の表示画像の撮影からサーバ装置への測定データの送信までの処理のためのフローチャートの例を示している。
【図12A】図12Aおよび12Bは、図11のステップ502における測定器の表示部の画像を含む画像のノイズを除去する処理のためのフローチャートの例を示している。
【図12B】(図12Aで説明)
【図13】図13は、図11のステップ504における画像のフレームの画素をグループ化する処理のためのフローチャートの例を示している。
【図14】図14は、画像のフレームにおいて、表示領域の画素のグループ化の例を示している。
【図15】図15は、図14の表示領域の画素に関するラベル番号、統計的情報、認識された数字を含むラベル・テーブルの例を示している。
【図16A】図16A〜16Dは、図13のステップ670のラベル付けの処理のためのフローチャートの例を示している。
【図16B】(図16Aで説明)
【図16C】(図16Aで説明)
【図16D】(図16Aで説明)
【図17】図17は、図16A〜16Cのステップ780におけるラベル・テーブルの登録の処理のためのフローチャートの例を示している。
【図18】図18は、図11のステップ508における環状を表す画素グループを判定する処理のためのフローチャートの例を示している。
【図19】図19は、図11のステップ510における表示領域の表示枠を表す画素グループを抽出する処理のためのフローチャートの例を示している。
【図20】図20は、図11のステップ512における表示枠を表す画素グループの内側の画素グループを抽出する処理のためのフローチャートの例を示している。
【図21A】図21Aおよび21Bは、図11のステップ514における隣接関係にある画素グループを結合する処理のためのフローチャートの例を示している。
【図21B】(図21Aで説明)
【図22】図22Aは、2つの画素グループの外接矩形が位置的に部分的に重なる例を示している。図22Bは、2つの画素グループの各々を3つの領域のブロックに分割する例を示している。
【図23】図23は、図11のステップ516における画像の傾きを補正する処理のためのフローチャートの例を示している。
【図24】図24Aおよび24Bは、画像の傾きの補正の例を示している。
【図25】図25は、図11のステップ518における認識された数字の列を抽出する処理のためのフローチャートの例を示している。
【図26】図26は、図11のステップ520における使用測定器の表示部に固有の特徴またはパラメータを抽出する処理のためのフローチャートの例を示している。
【図27】図27は、図11のステップ522における、抽出された表示部の特徴に対応する測定項目と、抽出された数字列によって表される測定値とを決定する処理のためのフローチャートの例を示している。
【図28】図28Aは、表示部上の測定項目と測定値の表示の例を示している。図28Bは、表示部上の測定項目と測定値の表示の別の例を示している。
【図29】図29は、情報処理端末または携帯端末の表示部に表示される測定データの履歴データの表示画面の例を示している。
【発明を実施するための形態】
【0015】
発明の目的および利点は、請求の範囲に具体的に記載された構成要素および組み合わせによって実現され達成される。
前述の一般的な説明および以下の詳細な説明は、典型例および説明のためのものであって、本発明を限定するためのものではない、と理解される。
【0016】
本発明の非限定的な実施形態を、図面を参照して説明する。図面において、同様のコンポーネントおよび要素には同じ参照番号が付されている。
【0017】
既知のデータ測定および記録システムによって画像から抽出された測定値を、ネットワークを介してサーバに送信してサーバで管理することが考えられる。しかし、既知のデータ測定および記録システムでは、画像から抽出された測定データが、例えば体温または血圧、等の身体データのいずれの測定データかを区別することができず、従って異なる複数の種別の測定データを管理することができない。また、既知のサービスでは、異なる測定器で測定した様々な種別の身体データを、ユーザの入力操作なしで区別して、サーバにおいて一元的に管理することはできない。
【0018】
発明者は、ユーザによるデータの入力操作なしで、様々な身体データを区別して管理するために、画像から取得した測定値を身体データの種別ごとに区別できるようにすると有利である、と認識した。また、発明者は、一般的なユーザが使用する測定器の種類は限られており、測定器ごとの測定値の表示画像の寸法形状的な特徴および測定項目のデータ形式に関する情報を予め取得することは容易である、と認識した。また、発明者は、測定値の表示画像における数字の列(数値情報)を正しく認識できれば、各測定器の測定値の表示の寸法形状的な特徴に関する既知の情報に基づいてその数字の列によって表される測定項目および測定値を決定することができる、と認識した。発明者は、それによって、その表示画像における測定項目、測定値および単位の画像を文字認識するための機能および精度は低くてよく、文字認識のための処理負荷が軽減できると認識した。
【0019】
図1は、実施形態による、ネットワーク5を介して接続される、サーバ装置30、情報処理端末100、および携帯端末102を含むシステムの例を示している。
図1において、ネットワーク5は、インターネット、公衆交換電話網(PSTN)、パケット交換網(PSN)、ISDN、および/または移動体通信網を含んでいてもよい。情報処理端末100は、情報処理装置であり、ディジタル・カメラ202に接続されて、ディジタル・カメラ202からユーザによって撮影された測定器の表示部の画像のデータを捕捉しまたは取り込んで格納する。情報処理端末100および携帯端末102は、格納された画像データから、測定器の測定値表示および測定項目に関する既知の情報を参照して、文字認識技術によって測定データを抽出し、画像データに含まれる撮影日時を取得してそれを測定日時として決定する。情報処理端末100および携帯端末102は、その測定データをその測定日時の情報とともにネットワーク5を介してサーバ装置30に送信する。サーバ装置30は、測定データを測定日時情報とともに受信して格納し、そのような多数のデータを長い期間にわたって記録データとして管理する。
【0020】
情報処理端末100は、例えばCPU(Central Processing Unit)、主記憶装置、ハードディスク・ドライブ(HDD)、半導体メモリ、バス、入力装置、出力装置、通信インタフェース、記録媒体読取用のドライブ、等を含むコンピュータ、パーソナル・コンピュータ、PDA(Personal Digital Assistant)または装置であってもよい。携帯端末102は、例えば、CPU(Central Processing Unit)、半導体メモリ、バス、入力装置、出力装置、通信インタフェース、記録媒体用インタフェース、撮像部、スピーカ、レシーバ、マイクロホン、等を含む携帯電話機であってもよい。
【0021】
サーバ装置30は、情報処理装置であり、例えば、プロセッサ312、ネットワーク・インタフェース(NW I/F)344、データベースを含む記憶装置16、および記録媒体読み取り用のドライブ328を含んでいる。ドライブ328は、プログラムが記録された例えば光ディスクのような記録媒体129を読み取るためのものである。
【0022】
図2は、図1の情報処理端末100の概略的な構成(configuration)の例を示している。
図2において、情報処理端末100は、プロセッサ112、メモリ114、入出力インタフェース(I/O)116、内部バス、等を含む例えばパーソナル・コンピュータのようなコンピュータまたは装置であってもよい。プロセッサ112は、コンピュータ用のCPU(Central Processing Unit)であってもよい。プロセッサ112およびメモリ114は、入出力インタフェース116に結合されている。メモリ114には、例えば、主記憶装置および半導体メモリ等が含まれる。情報処理端末100は、さらに、入出力インタフェース(I/O)116に結合された、表示装置(DSP)122、入力部または入力装置126、記録媒体読み取り用のドライブ128、およびハードディスク・ドライブ(HDD)130を含んでいる。入力部126は、例えば、キーボード、マウスまたはタッチパッドのようなポインティング・デバイス、およびタッチパネルを含んでいてもよい。ドライブ128は、プログラムが記録された例えば光ディスクのような記録媒体129を読み取るために設けられている。情報処理端末100は、さらに、入出力インタフェース(I/O)116に結合された、USBインタフェース(USB I/F)142、およびネットワーク・インタフェース(NW I/F)144を含んでいる。情報処理端末100において、USBインタフェース142は、少なくともディジタル・カメラ202からの画像信号を入力する入力部としても機能してもよい。
【0023】
プロセッサ112は、画像処理および画像認識の機能を含む例えば集積回路として実装された専用のプロセッサであってもよい。また、プロセッサ112は、メモリ114および/またはハードディスク・ドライブ130に格納されたアプリケーション・プログラムに従って動作するものであってもよい。アプリケーション・プログラムは、記録媒体129に格納されていて、ドライブ128によって記録媒体129から読み出されて情報処理端末100にインストールされてもよい。
【0024】
カメラ202は、USBケーブルによって、USBインタフェース142を介して情報処理端末100に結合される。情報処理端末100は、ネットワーク・インタフェース144を介し、さらに外部ネットワーク5を介して、サーバ装置30に接続されてもよい。
【0025】
図3は、図1の携帯端末102の概略的な構成(configuration)の例を示している。
図3において、携帯端末102は、例えば、プロセッサ112、メモリ114、入出力インタフェース(I/O)116、内部バス、等を含む例えば携帯電話機または携帯情報処理端末であってもよい。携帯端末102は、さらに、入出力インタフェース(I/O)116に結合された、表示装置(DSP)122、入力部または入力装置126、取り外し可能なメモリ129、および撮像部203を含んでいる。入力部126は、例えばキーおよびタッチパネルを含んでいてもよい。取り外し可能なメモリ129は、例えばSDメモリとその書き込み読み取り部を含んでいてもよい。携帯端末102は、さらに、入出力インタフェース(I/O)116に結合された通信部146を含んでいる。携帯端末102は、さらに、入出力インタフェース(I/O)116に結合された、マイクロホン140、スピーカ142、およびレシーバ144を含んでいてもよい。
【0026】
プロセッサ112は、画像処理および画像認識の機能を含む例えば集積回路として実装された専用のプロセッサであってもよい。また、プロセッサ112は、メモリ114に格納されたアプリケーション・プログラムに従って動作するものであってもよい。アプリケーション・プログラムは、取り外し可能なメモリ129に格納されていて、取り外し可能なメモリ129から読み出されて携帯端末102にインストールされてもよい。
【0027】
図4は、情報処理端末100または携帯端末102のプロセッサ112の概略的な構成(configuration)の例を示している。
プロセッサ112は、例えば、制御部1120、ノイズ除去部1122、二値化部1124、グループ化部1126、環状判定部1128、グループ抽出部1130、グループ結合部1132、および画像補正部1134を含んでいてもよい。プロセッサ112は、さらに、例えば、数字抽出部1136、特徴抽出部1138、測定データ決定部1140、およびその他の処理部1144を含んでいてもよい。処理部1144には例えば通信処理部が含まれていてもよい。制御部1120は、ノイズ除去部1122、二値化部1124、グループ化部1126、環状判定部1128、グループ抽出部1130、グループ結合部1132、および画像補正部1134に制御信号を供給して、これらの要素の動作を制御してもよい。制御部1120は、さらに、数字抽出部1136、特徴抽出部1138、測定データ決定部1140、およびその他の処理部1144に制御信号を供給して、これらの要素の動作を制御してもよい。代替形態として、サーバ装置30のプロセッサ112が、要素1122〜1140を含んでいてもよい。
【0028】
図5は、情報処理端末100または携帯端末102のメモリ114またはハードディスク・ドライブ130に格納される測定器のリストの例を示している。測定器のリストは、例えば、測定器の順序番号、測定器の種別(種類)、表示部の表示領域の縦の長さ(高さ)(Wd)および横の長さ(幅)(Hd)、測定値を表す文字(数字)の縦の高さ(Hc)、隣接文字の間隔(Pc)、文字の太さ(Tc)、を含んでいてもよい。測定器のリストは、さらに、測定器の測定項目(身体データ種別)の項目数、測定値の表示の行数、測定項目(身体データ種別)の項目名、使用状態(使用/不使用)、行の間隔(Pl)(図示せず)、値の許容範囲(図示せず)、等を含んでいてもよい。図5のテーブルにおけるデータは、健康データ管理サービス提供業者またはユーザによって予め作成されてもよい。測定器の種別(種類)は、例えば、体重計、体組成計(体脂肪率計、皮下脂肪率計、骨格筋率計、等)、体温計、血圧計、脈拍数計、等、またはこれらの組合せ(例えば、体重体組成計)であってもよい。測定器の種別は、製造業者によって付けられた測定器の名称でなくてよい。各測定項目は、例えば、体重、体組成(体脂肪率、皮下脂肪率、骨格筋率、等)、体温、最高血圧、最低血圧、脈拍数、等であってもよい。使用状態(使用/不使用)は、それぞれの測定器が使用されるかどうかを示す情報であり、ユーザが情報処理端末100または携帯端末の入力部126を操作することによって、設定される。測定器のリストは、さらに、サーバ装置30の記憶装置16に格納されてもよい。
【0029】
図6は、情報処理端末100または携帯端末102のメモリ114またはハードディスク・ドライブ130に格納される、図5における測定項目のリストの例を示している。測定項目のリストは、測定項目名、測定項目のデータ形式(桁数、数字/文字、小数点位置)、測定項目の単位、測定項目の測定値の許容範囲、等を含んでいてもよい。メモリ114またはハードディスク・ドライブ130は、最新のおよび過去のユーザの測定データを格納する。測定項目のリストは、さらに、サーバ装置30の記憶装置16に格納されてもよい。
【0030】
図7Aは、表示領域404を含む体温計402の例を示している。図7Bは、カメラ202または撮像部203によって撮影された図7Aの体温計402の表示部の表示領域404の画像408の例を示している。図7Cは、プロセッサ112によって抽出された図7Bの画像408における数字の列とそれぞれの数字の外接矩形の例を破線で示している。この場合、表示領域404は、1行に1つの測定項目を含んでいる。図7Dは、各セグメントに対応する各画素グループの外接矩形の例を破線で示している。外接矩形は、表示されたものではなく、処理上の仮想的なものである。
【0031】
図8Aは、表示領域414を含む体重計412の例を示している。図8Bは、カメラ202または撮像部203によって撮影された図8Aの体重計412の表示領域414の画像418の例を示している。図8Cは、プロセッサ112によって抽出された図8Bの画像418における数字の列とそれぞれの数字の外接矩形の例を示している。この場合、表示領域414は、1行に1つの測定項目を含んでいる。
【0032】
図9Aは、表示領域424を含む血圧計の例を示している。図9Bは、カメラ202または撮像部203によって撮影された図9Aの血圧計の表示領域424の画像428の例を示している。この場合、表示領域424は、複数の行に複数の測定項目を含んでいる。
【0033】
図10Aは、表示領域434を含む別の血圧計の例を示している。図10Bは、カメラ202または撮像部203によって撮影された図10Aの血圧計の表示領域434の画像438の例を示している。この場合、表示領域434は、1つの行に2つの測定項目を含んでいる。他の形態として、測定器は、ユーザの操作に従って、その表示部に複数の測定値を順に切り替えて表示するものであってもよい。例えば、測定器は、最高血圧、最低血圧、脈拍数の各測定値を順次切り替えて表示してもよい。
【0034】
ユーザは、図7A、8A、9A、10Aのような測定器で体温、体重、血圧等の身体の状態または物理的量を測った後、その表示領域404、414、424または434をカメラ202または携帯端末102の撮像部203を用いて撮像する。ユーザは、その撮影された画像408、418、128、438のデータを、情報処理端末100または携帯端末102のメモリ114またはハードディスク・ドライブ130の記憶領域に格納する。情報処理端末100または携帯端末102のプロセッサ112は、その格納された画像データを処理して、例えば図5Cまたは6Cのような測定値を表す1列以上の数字の列だけを抽出する。小数点は抽出されなくてもよい。
【0035】
図11は、情報処理端末100または携帯端末102のプロセッサ112によって実行される、測定値の表示画像の撮影からサーバ装置30への測定データの送信までの処理のためのフローチャートの例を示している。
【0036】
ステップ500において、プロセッサ112またはその処理部1144は、ユーザの操作に従って、カメラ202または撮像部203によって撮影された測定器の表示部の画像を含む画像のデータをメモリ114またはハードディスク・ドライブ130の画像記憶領域に格納する。その画像データは、カラー多階調画像データであってもよい。プロセッサ112またはその処理部1144は、必要に応じて、その画像データを処理して輝度成分Yの画像データを生成する。
【0037】
ステップ502において、プロセッサ112またはそのノイズ除去部1122は、メモリ114またはハードディスク・ドライブ130において、測定器の表示部の画像を含む画像の輝度を調整し、フィルタを用いてその画像のノイズを除去する。ステップ504において、プロセッサ112または二値化部1124は、その画像を二値化して、二値化された輝度の画像データ(白黒、明暗)を生成する。
【0038】
ステップ506において、プロセッサ112またはそのグループ化部1126は、二値化された画像の画素(例えば、黒または暗の画素)を、例えば1つ以上の画素グループにグループ化する。例えば、測定器の測定値の各桁の数字が7セグメント表示である場合、1つの数字を表す複数の画素が、7セグメント中の2つ以上のセグメントを表すそれぞれの画素グループにグループ化される。例えば、数字“1”を表す上下2つのセグメントを表す複数の画素が、画素の隣接関係に基づいて、2つの画素グループにグループ化される。例えば、数字“8”を表す7つのセグメントを表す複数の画素が、画素の隣接関係に基づいてそれに対応する7つの画素グループにグループ化される。
【0039】
ステップ508において、プロセッサ112またはその環状判定部1128は、その画像における複数の画素グループから、環状を表す画素グループを判定して抽出する。ステップ510において、プロセッサ112または環状判定部1128は、画像におけるその環状の画素グループの中からその内側に他の画素グループを含むものを選択し、その最も内側の環状の画素グループを、測定器の表示領域または表示枠を表す画素グループとして決定する。
【0040】
ステップ512において、プロセッサ112またはそのグループ抽出部1130は、画像における表示枠を表す画素グループの内側にある数字または数字セグメントを表す可能性のある画素グループを抽出する。ステップ514において、プロセッサ112またはそのグループ結合部1132は、画像における抽出された複数の画素グループの中で隣接関係にある画素グループを結合して、各数字を表す結合された画素グループの組をそれぞれ形成する。ステップ516において、プロセッサ112またはその補正部1134は、画像における数字セグメントを表す各画素グループの傾きを検出して、数字を表す画像の傾きを補正して傾きのない数字を形成する。
【0041】
ステップ518において、プロセッサ112またはその数字抽出部1138は、画像における結合された画素グループの各組を文字認識技術によって認識する。プロセッサ112またはその数字抽出部1138は、複数の画素グループから数字だけを認識して数字だけを抽出してもよい。プロセッサ112またはその数字抽出部1138は、他の画素グループから隔てられた1つ以上の領域における1つ以上の数字の列(数字のストリング)を数値情報として抽出する。ステップ520において、プロセッサ112または特徴抽出部1138は、使用した測定器の表示部の画像における表示領域または表示枠の寸法形状および各数字の寸法形状、等を求めて、使用した測定器の表示部に固有の特徴(情報)またはパラメータを抽出する。
【0042】
ステップ522において、プロセッサ112またはその測定データ決定部1140は、画像における抽出された測定器の表示部の特徴または形状的特徴を、メモリ114等に格納された測定器のリストのものと比較する。プロセッサ112または測定データ決定部1140は、そのリスト中から類似または近似している特徴を有する測定器の種別を、使用する測定器の種別として選択する。プロセッサ112または測定データ決定部1140は、さらに、その選択された測定器の種別に対応する1つ以上の測定項目(身体データ種別)を選択する。
【0043】
プロセッサ112または測定データ決定部1140は、さらに、その決定された測定項目のデータ形式に基づいて、画像における抽出された数字の列(数値情報)によって表される測定値を測定データとして決定する。その際、選択された測定器の種別に対応する2つ以上の測定項目が存在する場合、数字列(数値情報)の桁数、数値(大きさ)が、各測定項目のデータ形式(桁数)、数値の許容範囲、出現順序を参照しまたはこれらと比較されて、数字列によって表される測定項目および測定値が決定される。また、複数の数字列が抽出された場合、各数字列が、互いに比較され、各測定項目のデータ形式(桁数等)、数値の許容範囲、出現順序を参照しまたはこれらと比較されて、数字列(数値情報)によって表される測定項目および測定値が決定されてもよい。
【0044】
プロセッサ112または測定データ決定部1140は、さらに、その決定された測定項目および測定値を表示部122に表示してユーザに確認させ、確認された測定項目および測定値を測定データとして決定してもよい。プロセッサ112または測定データ決定部1140は、さらに、その測定器種別および測定項目(身体データ種別)に対応付けて測定値を測定日時情報とともにメモリ114またはハードディスク130に格納する。
【0045】
ステップ524において、プロセッサ112または処理部1144は、その決定された測定器種別、測定項目および測定値(測定データ)を、ユーザの個人情報および日時情報とともに、ネットワーク5を介してサーバ装置30に送信する。サーバ装置30またはそのプロセッサ312は、測定器種別、測定項目および測定値(測定データ)を受信し、測定日時情報に従って測定器種別および測定項目に対応付けて測定値を記憶装置16のデータベース(DB)に格納して、履歴データまたは記録データとして管理する。その後、サーバ装置30またはプロセッサ312は、情報処理端末100または携帯端末102からの要求に応答して、記憶装置16に格納された履歴データまたは記録データを送信する。情報処理端末100または携帯端末102の(プロセッサ112)は、履歴データまたは記録データを受信し、その表示部122上に、測定項目に対応付けて各測定値を測定日時情報の順に表示する。
【0046】
図12Aおよび12Bは、図11のステップ502における、測定器の表示部の画像を含む画像のノイズを除去する処理のためのフローチャートの例を示している。
【0047】
図7Bおよび8Bにおいて、撮影された画像(ピクチャ)のフレーム408、418における輝度補正用の中央の参照枠420の位置が破線で示されている。画像のフレーム408、418の横と縦のサイズは、ピクセル単位の横と縦のサイズxw×yhを有する。参照枠420は、例えばサイズ(xw/10)×(yh/10)を有する。参照枠420は、画像のフレーム408、418の中央領域における基準となる最大の輝度Ymaxを決定するために用いられる。ユーザは、ディジタル・カメラ202のモニタ画面または携帯端末102の表示部122の中央に測定器の表示領域404、414の中心が位置するように、測定器の表示領域を撮影する。それによって、測定器の表示領域404、414の中心は、撮影された測定器の表示領域404、414の概ね中心に位置する。
【0048】
表示領域404、414の周辺またはその外側の領域の画素は、測定器への光の反射等によって不所望に明る過ぎることがあるので、画像全体の最大輝度を参照枠420内の最大輝度に制限するよう処理することが望ましい。
【0049】
図12Aを参照すると、プロセッサ112は、ステップ600においてその処理を開始する。ステップ602において、プロセッサ112は、最大輝度Ymaxを初期値0(ゼロ)(Ymax=0)に、参照枠420の中心座標(xc,yc)を画像の中心座標(xw/2,yh/2)に設定する((xc,yc)=(xw/2,yh/2))。また、プロセッサ112は、参照枠420の左上の座標(xt,yt)を座標(xc−xw/20,yc−yh/20)に設定する((xt,yt)=(xc−xw/20,yc−yh/20))。また、プロセッサ112は、参照枠420の右下の座標(xb,yb)を座標(xt+xw/10,yt+yh/10)に設定する((xb,yb)=(xt+xw/10,yt+yh/10))。さらに、プロセッサ112は、参照枠420における最大の輝度Ymaxを決定する処理を実行するために、注目画素の座標(x,y)を、参照枠420の左上の初期値(xt,yt)に設定する((x,y)=(xt,yt))。
【0050】
ステップ604において、プロセッサ112は、座標(x,y)の注目画素の輝度Y(x,y)が現在の最大輝度Ymaxより大きいかどうかを判定する(Y(x,y)>Ymax?)。輝度Y(x,y)が最大輝度Ymaxより大きいと判定された場合は、ステップ606において、最大輝度Ymax=Y(x,y)と設定する。輝度Y(x,y)が最大輝度Ymaxより大きくないと判定された場合は、手順はステップ608に進む。
【0051】
ステップ608において、プロセッサ112は、注目画素の座標xを1画素分だけ増分する(x=x+1)。ステップ610において、プロセッサ112は、座標xが参照枠420の右下の座標xbより大きいかどうかを判定する(x>xb?)。座標xが参照枠420の座標xbより大きくないと判定された場合は、手順はステップ604に戻る。座標xが参照枠420の座標xbより大きいと判定された場合は、ステップ612において、プロセッサ112は、注目画素の座標xを初期値x=xtと設定し、注目画素の座標yを1画素分だけ増分する(x=xt,y=y+1)。
【0052】
ステップ614において、プロセッサ112は、注目画素の座標yが参照枠420の座標ybより大きいかどうかを判定する(y>yb?)。座標yが参照枠420の右下の座標ybより大きくないと判定された場合は、手順はステップ604に戻る。座標yが参照枠420の右下の座標ybより大きいと判定された場合は、手順は図12Bのステップ616に進む。ステップ602〜614によって、参照枠420内の画素の最大輝度が、基準となる最大輝度Ymaxとして決定される。
【0053】
図12Bを参照すると、ステップ616において、プロセッサ112は、注目画素の座標(x,y)を、画像のフレーム408または418の左上の座標の初期値(1,1)に設定する((x,y)=(1,1))。
【0054】
ステップ618において、プロセッサ112は、座標(x,y)の注目画素の輝度Y(x,y)が最大輝度Ymaxより大きいかどうかを判定する(Y(x,y)>Ymax?)。輝度Y(x,y)が最大輝度Ymaxより大きいと判定された場合は、ステップ620において、最大輝度Y(x,y)=Ymaxと設定する。輝度Y(x,y)が最大輝度Ymaxより大きくないと判定された場合は、手順はステップ622に進む。
【0055】
ステップ622において、プロセッサ112は、注目画素の座標xを1画素分だけ増分する(x=x+1)。ステップ624において、プロセッサ112は、座標xが画像のフレーム408、418の右下の座標xwより大きいかどうかを判定する(x>xw?)。座標xが座標xwより大きくないと判定された場合は、手順はステップ618に戻る。座標xが座標xwより大きいと判定された場合は、ステップ626において、プロセッサ112は、注目画素の座標xを初期値x=1と設定し、注目画素の座標yを1画素分だけ増分する(x=1,y=y+1)。
【0056】
ステップ628において、プロセッサ112は、注目画素の座標yが画像のフレーム408、418の右下の座標yhより大きいかどうかを判定する(y>yh?)。座標yが座標yhより大きくないと判定された場合は、手順はステップ618に戻る。座標yが座標yhより大きいと判定された場合は、手順はステップ630に進む。ステップ616〜628によって、画像のフレーム408、418において最大輝度Y(x,y)を超える輝度Y(x,y)が、最大輝度Ymaxに制限されるように補正される。
【0057】
ステップ630において、プロセッサ112は、既知の形態で、例えば3×3のサイズの重み付け係数を有するフィルタで、画像のフレーム408、418を空間的に濾波してノイズを除去または低減する。その空間的濾波において、例えば3×3のマトリックスの注目画素および近隣画素の値と、そのフィルタにおける対応する行列位置の係数とが乗算され、その積の和によって、注目画素の値が補正される。
【0058】
図11を再び参照すると、ステップ504において、プロセッサ112は、画像のフレームにおける全ての座標(x,y)の画素の輝度Y(x,y)を閾値Ythで処理して、輝度Y(x,y)を値“0”か“1”に二値化し、座標(x,y)の画素Px(x,y)にその値(0、1)を設定する。この場合、値“0”は白または明の輝度を表し、値“1”は黒または暗の輝度を表す。閾値Ythは、例えば、最大輝度Ymaxの1/2、即ちYth=Ymax/2と設定してもよい。プロセッサ112は、例えば、輝度Y(x,y)が閾値Ythかまたはそれより暗い場合には画素Px(x,y)=1(暗)と設定し、輝度Y(x,y)が閾値Ythより明るい場合には画素Px(x,y)=0(明)と設定してもよい。代替形態として、プロセッサ112は、例えば、輝度Y(x,y)が閾値Ythかまたはそれより明るい場合に画素Px(x,y)=1(明)と設定し、輝度Y(x,y)が閾値Ythより暗い場合に画素Px(x,y)=0(暗)と設定してもよい。画像の二値化によって、画像中の数字の認識が容易になる。
【0059】
図13は、図11のステップ506における、画像のフレーム408、418、428、438の画素をグループ化する処理のためのフローチャートの例を示している。
【0060】
図14は、画像のフレーム(408、418、428、438)において、表示領域(404、414、424、434)の画素のグループ化の例を示している。
図14において、隣接関係にある輝度1(暗)を表す複数の画素または1つのセグメントの複数の画素に、同じラベル番号またはグループ番号11〜45のいずれかが付けられている。この場合、一例として、測定器の表示部の二値画像において、上下2つの行に数値“51.8”および“32.4”の画像を含む画像の各画素に、ラベル番号が付与されている。
【0061】
図15は、図14の画像における測定器の表示領域(404、414、424、434)の画素に関するラベル番号、統計的情報、認識された数字を含むラベル・テーブルの例を示している。
【0062】
図15において、左側の項目番号または行番号1〜35は異なるラベル番号(列2)に対応し、上側の列番号1〜13の項目は各ラベル番号の画素グループに関する統計的情報、寸法形状、形状的特徴、認識対象かどうか、認識結果(数字)、等の項目に対応する。列2〜8は、列1の各ラベル番号の画素グループに対する、画素の個数、画素の座標xの最小値(xmin)、座標yの最小値(ymin)、座標xの最大値(xmax)、座標yの最大値(ymax)、中心画素の座標x(xc)、中心画素の座標y(yc)を含んでいる。列9〜12は、列1の各ラベル番号の画素グループに対して、環状かどうか、包囲(包囲線または輪郭線)かどうか、認識対象かどうか、ラベル結合番号、認識結果の数字を含んでいる。1つのラベル結合番号は、隣接関係にある複数の画素グループを、1つの数字を表す可能性がある組として結合するための識別番号である。
【0063】
図13を参照すると、プロセッサ112は、ステップ660においてその処理を開始する。ステップ662において、プロセッサ112は、ラベル番号i_LBLを初期値i_LBL=11、注目画素の座標(x,y)を初期値x=2、y=2と設定する。ここで、ラベル番号i_LBLは、輝度値“0”(明)、“1”(暗)と区別するために、11以上の整数(i_LBL≧11)とする。
【0064】
ステップ664において、プロセッサ112は、ラベル番号i_LBLがラベル番号の上限の閾値i_LBL_maxより大きいかどうかを判定する。ラベル番号i_LBLが閾値i_LBL_maxより大きいと判定された場合は、手順はステップ680に進む。ラベル番号i_LBLが閾値i_LBL_maxより大きくないと判定された場合は、ステップ666において、プロセッサ112は、座標(x,y)の注目画素Px(x,y)の値が二値化された“1”(暗)かどうかを判定する。この場合、輝度“1”は黒または暗いレベルを表し、輝度“0”は白または明るいレベルを表すものとする。注目画素Px(x,y)に既にラベルが付与されている場合は、注目画素はPx(x,y)≧11の値を有する。注目画素Px(x,y)が輝度1(暗)であると判定された場合は、プロセッサ112は、ステップ670において注目画素とその隣接画素に対してラベル付けを行う。その後、手順はステップ671に進む。ステップ666において画素Px(x,y)が輝度1(暗)でない、即ち輝度0(ゼロ)(明)またはラベル番号(≧11)と判定された場合は、手順はステップ672に進む。
【0065】
ステップ670において、画像において互いに隣接関係にある輝度1(暗)の画素Px(x,y)のグループに同じ1つのラベル番号i_LBL(≧11)が付与される。ステップ670は、輝度1(暗)の画素グループのグループ数、即ちラベル番号i_LBLの数の回数だけ実行される。
【0066】
ステップ671において、プロセッサ112は、ラベル番号i_LBLを1だけ増分する(i_LBL=i_LBL+1)。
【0067】
ステップ672において、プロセッサ112は、注目画素の座標xを1画素分だけ増分する(x=x+1)。ステップ674において、プロセッサ112は、座標xが画像のフレーム408、418の右下の座標xw以上かどうかを判定する(x≧xw?)。座標xが座標xw以上でないと判定された場合は、手順はステップ664に戻る。座標xが座標xw以上であると判定された場合は、ステップ676において、プロセッサ112は、注目画素の座標xを初期値x=2に設定し、注目画素のy座標を1画素分だけ増分する(x=2,y=y+1)。
【0068】
ステップ678において、プロセッサ112は、注目画素の座標yが画像のフレーム408、418の右下の座標yh以上かどうかを判定する(y≧yh?)。座標yが座標yh以上でないと判定された場合は、手順はステップ664に戻る。座標yが座標yh以上であると判定された場合は、手順はステップ680に進む。
【0069】
ステップ662〜678によって、画像のフレーム408、418の輝度1(暗)の全ての画素Px(x,y)=1がラベル番号(Px(x,y)≧11)に置換される。ステップ680において、プロセッサ112は、ラベル番号i_LBLの総数または最大のラベル順序番号Itを、最後の最大の値のラベル番号It=i_LBL−10と設定する。これは、ラベル番号i_LBLの初期値をi_LBL=11と設定したからである。
【0070】
図16A〜16Dは、図13のステップ670のラベル付けの処理のためのフローチャートの例を示している。
【0071】
図16Aを参照すると、プロセッサ112は、ステップ700においてその処理を開始する。ステップ702において、プロセッサ112は、座標(x,y)の注目画素Px(x,y)にラベル番号i_LBLを設定する(Px(x,y)=i_LBL)。最初の画素Px(x,y)は、例えばPx(x,y)=i_LBL=11(ラベル番号)である。プロセッサ112は、図15のラベルのテーブルにおいて、ラベル順序番号I(=i_LBL−10)のラベル・テーブルの項目1(列1)として、ラベル番号L_TBL(I,1)=L_TBL(i_LBL−10,1)を現在の注目画素のラベル番号i_LBLと設定する。プロセッサ112は、ラベル順序番号I=i_LBL−10のラベル・テーブルの項目2(列2)として、そのラベル番号i_LBLを有する画素の総数(画素数)L_TBL(I,2)を初期値L_TBL(I,2)=1と設定する。プロセッサ112は、ラベル順序番号I=i_LBL−10のラベル・テーブルの項目3、4(列3、4)として、ラベル番号i_LBLを有する画素の左側の最小x座標L_TBL(I,3)およびラベルの上側の最小y座標L_TBL(I,4)をそれぞれ座標xおよびyと設定する。プロセッサ112は、ラベル順序番号I=i_LBL−10のラベル・テーブルの項目5、6(列5、6)として、ラベル番号i_LBLを有する画素の右側の最大x座標L_TBL(I,5)および下側の最大y座標L_TBL(I,6)をそれぞれ座標xおよびyと設定する。
【0072】
ステップ704において、プロセッサ112は、処理のカウント(計数値)i_CNTを初期値i_CNT=0と設定し、座標パラメータ(xs,ys)を(xs,ys)=(2,2)と設定する。ステップ705において、プロセッサ112は、座標(xs,ys)の注目画素P(xs,ys)が現在のラベル番号i_LBLかどうかを判定する(P(xs,ys)=i_LBL?)。画素P(xs,ys)=i_LBLでないと判定された場合は、手順は図16Dのステップ762に進む。画素P(xs,ys)=i_LBLであると判定された場合は、手順は、ステップ706に進む。
【0073】
ステップ706において、プロセッサ112は、座標(xs,ys)の注目画素に対する隣接の画素を選択するための座標パラメータxm=xs−1、xp=xs+1、ym=ys−1、yp=ys+1を設定する。画素位置xm=xs−1は注目画素の座標xsの左側の位置を表す。画素位置xp=xs+1は注目画素の座標xsの右側の位置を表す。画素位置ym=ys−1は注目画素の座標ysの上側の位置を表す。画素位置yp=ys+1は注目画素の座標ysの下側の位置を表す。これらの4つの座標パラメータと注目画素の座標(xs,ys)とによって、3×3の座標位置のうちの8つの隣接画素の位置が選択される。
【0074】
ステップ708において、プロセッサ112は、注目画素Px(x,y)の左上の座標(xm,ym)の画素Px(xm,ym)がPx(xm,ym)=1(暗)かどうかを判定する。隣接の画素Px(xm,ym)が輝度1(暗)でない、即ち輝度0(ゼロ)(明)またはラベル番号(≧11)と判定された場合は、手順は図16Bのステップ722に進む。画素Px(xm,ym)が輝度1(暗)と判定された場合は、ステップ710において、プロセッサ112は、画素Px(xm,ym)の現在の値1を現在のラベル番号i_LBL(≧11)で置換して、画素Px(xm,ym)を現在のラベル番号i_LBL(≧11)と設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順は図16Bのステップ722に進む。
【0075】
図16Bのステップ722において、プロセッサ112は、注目画素P(x,y)の上の座標(x,ym)の画素Px(x,ym)がPx(x,ym)=1(暗)かどうかを判定する。隣接の画素Px(x,ym)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ732に進む。画素Px(x,ym)が輝度1(暗)と判定された場合は、ステップ724において、プロセッサ112は、画素Px(x,ym)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ732に進む。
【0076】
ステップ732において、プロセッサ112は、注目画素P(x,y)の右上の座標(xp,ym)の画素Px(xp,ym)が輝度1(暗)かどうかを判定する。隣接画素Px(xp,ym)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ738に進む。画素Px(xp,ym)が輝度1(暗)と判定された場合は、ステップ734において、プロセッサ112は、画素Px(xp,ym)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ738に進む。
【0077】
ステップ738において、プロセッサ112は、注目画素P(x,y)の左の座標(xm,y)の画素Px(xm,y)が輝度1(暗)かどうかを判定する。隣接の画素Px(xm,y)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ738に進む。画素Px(xm,y)が輝度1(暗)と判定された場合は、ステップ740において、プロセッサ112は、画素Px(xm,y)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順は図16Cのステップ742に進む。
【0078】
図16Cのステップ742において、プロセッサ112は、注目画素P(x,y)の右の座標(x,yp)の画素Px(x,yp)が輝度1(暗)かどうかを判定する。画素Px(x,yp)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ748に進む。画素Px(x,yp)が輝度1(暗)と判定された場合は、ステップ744において、プロセッサ112は、画素Px(x,yp)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ748に進む。
【0079】
ステップ748において、プロセッサ112は、注目画素P(x,y)の左下の座標(xm,yp)の画素Px(xm,yp)が輝度1(暗)かどうかを判定する。隣接の画素Px(xm,yp)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ752に進む。画素Px(xm,yp)が輝度1(暗)と判定された場合は、ステップ750において、プロセッサ112は、画素Px(xm,yp)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ752に進む。
【0080】
ステップ752において、プロセッサ112は、注目画素P(x,y)の下の座標(x,yp)の画素Px(x,yp)が輝度1(暗)かどうかを判定する。画素Px(x,yp)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順は図16Dのステップ758に進む。画素Px(x,yp)が輝度1(暗)と判定された場合は、ステップ754において、プロセッサ112は、画素Px(x,yp)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順は図16Dのステップ758に進む。
【0081】
図16Dのステップ758において、プロセッサ112は、注目画素P(x,y)の右下の座標(xp,yp)の画素Px(xp,yp)が輝度1(暗)かどうかを判定する。画素Px(xp,yp)が輝度1(暗)でない、即ち輝度0(明)またはラベル番号(≧11)と判定された場合は、手順はステップ762に進む。画素Px(xp,yp)が輝度1(暗)と判定された場合は、ステップ760において、プロセッサ112は、画素Px(xp,yp)に現在のラベル番号i_LBLを設定する。ステップ780において、プロセッサ112は、後で説明するようにラベル・テーブルの登録を実行する。その後、手順はステップ762に進む。
【0082】
ステップ762において、プロセッサ112は、注目画素の座標xsを1画素分だけ増分する(xs=xs+1)。ステップ764において、プロセッサ112は、座標xsが画像のフレーム408、418の右下の座標xwより小さいかどうかを判定する(xs<xw?)。座標xsが座標xwより小さいと判定された場合は、手順は図16Aのステップ705に戻る。座標xsが標xwより小さくないと判定された場合は、ステップ766において、プロセッサ112は、注目画素の座標xsを初期値xs=2と設定し、注目画素の座標yを1画素分だけ増分する(xs=2,ys=ys+1)。
【0083】
ステップ768において、プロセッサ112は、注目画素の座標yが画像のフレーム408、418の右下のy座標yhより小さいかどうかを判定する(y<yh?)。座標yが座標yhより小さいと判定された場合は、手順は図16Aのステップ705に戻る。座標yが座標yhより小さくないと判定された場合は、ステップ770において、プロセッサ112は、カウントi_CNTが0より大きいかどうかを判定する。カウントi_CNTが0より大きいと判定された場合は、手順は図16Aのステップ704に戻る。カウントi_CNTが0より大きくないと判定された場合は、新しくラベル付けされた画素および新しくラベル付けされる画素が他に存在しないので、手順は図16A〜16Dのルーチンを出る。
【0084】
図16A〜16Dの処理によって、画像における輝度1(暗)の全ての画素に、いずれかの画素グループのラベル番号が付けられる。ラベル番号の付与の処理は、これに限定されるものではない。
【0085】
図17は、図16A〜16Cのステップ780における、ラベル・テーブルの登録の処理のためのフローチャートの例を示している。
【0086】
図17を参照すると、プロセッサ112は、ステップ780においてその処理を開始する。ステップ782において、プロセッサ112は、処理のカウントi_CNTを1だけ増分し(i_CNT=i_CNT+1)、現在のラベル番号i_LBLの画素の画素数L_TBL(I,2)を1だけ増分する(L_TBL(I,2)=L_TBL(I,2)+1)に設定する。
【0087】
ステップ784において、プロセッサ112は、ラベル番号i_LBLが付与された隣接画素Px(x,y)の座標x(即ちxm、xs、xpのいずれか)が、ラベル番号i_LBLを有する現在の左側の最小x座標L_TBL(i_LBL−1,3)より小さいかどうかを判定する。隣接画素Px(x,y)は、前の図16A〜16Dのステップ710、724、734、740744、750、754、760においてラベル番号i_LBLが付与されたものである。座標xが最小x座標L_TBL(i_LBL−1,3)より小さくないと判定された場合は、手順はステップ788に進む。座標xが最小x座標L_TBL(i_LBL−1,3)より小さいと判定された場合は、ステップ786において、プロセッサ112は、最小x座標L_TBL(i_LBL−1,3)を現在の隣接画素の座標xと設定する(L_TBL(i_LBL−1,3)=x)。その後、手順はステップ788に進む。
【0088】
ステップ788において、プロセッサ112は、ラベル番号i_LBLが付与された隣接画素Px(x,y)の座標y(即ちym、ys、ypのいずれか)が、ラベル番号i_LBLを有する現在の上側の最小y座標L_TBL(i_LBL−1,4)より小さいかどうかを判定する。座標yが最小y座標L_TBL(i_LBL−1,4)より小さくないと判定された場合は、手順はステップ792に進む。座標yが最小y座標L_TBL(i_LBL−1,4)より小さいと判定された場合は、ステップ790において、プロセッサ112は、最小y座標L_TBL(i_LBL−1,4)を座標yと設定する(L_TBL(i_LBL−1,4)=y)。その後、手順はステップ792に進む。
【0089】
ステップ792において、プロセッサ112は、ラベル番号i_LBLが付与された隣接画素Px(x,y)の座標x(即ちxm、xsまたはxp)が、ラベル番号i_LBLを有する現在の右側の最大x座標L_TBL(i_LBL−1,5)より大きいかどうかを判定する。座標xが最大x座標L_TBL(i_LBL−1,5)より大きくないと判定された場合は、手順はステップ796に進む。座標xが最大x座標L_TBL(i_LBL−1,5)より大きいと判定された場合は、ステップ794において、プロセッサ112は、最大x座標L_TBL(i_LBL−1,5)を座標xと設定する(L_TBL(i_LBL−1,5)=x)。その後、手順はステップ796に進む。
【0090】
ステップ796において、プロセッサ112は、ラベル番号i_LBLが付与された隣接画素Px(x,y)の座標y(即ちym、ysまたはyp)が、ラベル番号i_LBLを有する現在の下側の最大y座標L_TBL(i_LBL−1,6)より大きいかどうかを判定する。座標yが最大y座標L_TBL(i_LBL−1,6)より大きくないと判定された場合は、手順は図17のルーチンを出る。座標yが最大y座標L_TBL(i_LBL−1,6)より大きいと判定された場合は、ステップ798において、プロセッサ112は、最大y座標L_TBL(i_LBL−1,6)を座標yと設定する(L_TBL(i_LBL−1,6)=y)。その後、手順は図17のルーチンを出る。
【0091】
このようにして、或るラベル番号i_LBLを有する画素グループのうちで、最も左にある画素の座標x、最も右にある画素の座標x、最も上にある画素の座標y、最も下にある画素の座標yが決定される。
【0092】
図18は、図11のステップ508における、環状を表す画素グループを判定する処理のためのフローチャートの例を示している。
【0093】
図18を参照すると、プロセッサ112は、ステップ800においてその処理を開始する。ステップ802において、プロセッサ112は、画素グループのラベル順序番号I=i_LBL−10を初期値I=1と設定する。ステップ804において、プロセッサ112は、ラベル番号i_LBLをラベル・テーブル(図15)のラベル番号i_TBL(I,1)=i_TBL(i_LBL−10,1)と設定する。また、プロセッサ112は、そのラベル番号i_LBLの画素グループの中心x座標を、その最大および最小のx座標L_TBL(I,3)とL_TBL(I,5)の中心として、xc=(L_TBL(I,3)+L_TBL(I,5))/2と設定する。さらに、プロセッサ112は、そのラベル番号i_LBLの画素グループの中心y座標を、その最大および最小のy座標L_TBL(I,4)とL_TBL(I,6)の中心として、yc=(L_TBL(I,4)+L_TBL(I,6))/2と設定する。
【0094】
ステップ806において、プロセッサ112は、ラベル番号i_LBLの画素グループの中心座標(xc,yc)の画素のラベル番号がラベル番号i_LBLと同じかどうかを判定する(Px(xc,yc)=i_LBL?)。中心座標の画素のラベル番号Px(xc,yc)が画素グループのラベル番号i_LBLと同じでない場合、その画素グループは環状の形状を有する可能性があり、手順はステップ808に進む。中心座標の画素のラベル番号Px(xc,yc)が画素グループのラベル番号i_LBLと同じであると判定された場合、その画素グループは環状でなく、手順はステップ816に進む。
【0095】
ステップ808において、プロセッサ112は、画素グループが環状であるかどうかを確認するために、中心座標(xc,yc)を始点として、画像の上方向に画素グループのラベル番号i_LBLを有する輪郭線画素までトレース位置を移動する。ステップ810において、プロセッサ112は、その輪郭線画素を始点として、中心座標(xc,yc)を回転中心として、例えば正方向または負方向(時計回り)の回転または周方向に、ラベル番号i_LBLの画素グループの輪郭線に沿ってその画素グループをトレースする。トレース位置が始点に戻った場合には、プロセッサ112は、その画素グループが環状であると判定する。一方、位置が画素グループの外接矩形に達したり、またはトレース方向と逆方向に移動した場合には、プロセッサ112は、その画素グループは環状でないと判定する。
【0096】
ステップ812において、プロセッサ112は、ラベル順序番号Iの画素グループが環状かどうかを判定する。画素グループが環状でないと判定された場合は、手順はステップ816に進む。画素グループが環状であると判定された場合は、ステップ814において、ラベルのテーブル(図15)において、ラベル番号i_LBLを有する画素グループの環状パラメータL_TBL(I,9)をL_TBL(I,9)=“環状”と設定する。
【0097】
ステップ816において、プロセッサ112は、画素グループのラベル順序番号Iを1だけ増分する(I=I+1)。ステップ818において、プロセッサ112は、ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合は、手順はステップ804に戻る。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいと判定された場合は、手順は図18のルーチンを出る。
【0098】
このようにして、全てのラベル番号i_LBLの画素グループについて、環状かどうかを判定して、環状である画素グループが特定される。
【0099】
図19は、図11のステップ510における、表示領域(404、414、424、434)の表示枠を表す画素グループを抽出する処理のためのフローチャートの例を示している。
【0100】
図19を参照すると、プロセッサ112は、ステップ850においてその処理を開始する。ステップ852において、プロセッサ112は、画素グループのラベル順序番号Iを初期値I=1と設定する。ステップ854において、プロセッサ112は、ラベル番号i_LBLをラベル・テーブル(図15)上のラベル番号L_TBL(I,1)と設定する(i_LBL=L_TBL(I,1))。
【0101】
ステップ856において、プロセッサ112は、ラベル・テーブル(図15)においてラベル順序番号Iの環状パラメータL_TBL(I,9)が“環状”かどうかを判定する。それが“環状”でないと判定された場合は、手順はステップ866に進む。それが“環状”であると判定された場合は、ステップ858において、プロセッサ112は、画像においてそのラベル番号L_TBL(I,1)を有する画素グループの内側における別の画素グループの有無を検索する。ステップ862において、プロセッサ112は、そのラベル番号L_TBL(I,1)の画素グループの内側に別の画素グループが存在するかどうかを判定する。その画素グループの内側に別の画素グループが存在しないと判定された場合は、手順はステップ866に進む。その画素グループの内側に別の画素グループが存在すると判定された場合は、その画素グループが他の画素グループを包囲しているので、ステップ864において、プロセッサ112は、ラベル順序番号I即ちラベル番号L_TBL(I,1)の画素グループの包囲パラメータL_TBL(I,10)=“包囲”(または“輪郭”)と設定する。
【0102】
ステップ866において、プロセッサ112はラベル順序番号Iを1だけ増分する(I=I+1)。ステップ868において、プロセッサ112は、ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合は、手順はステップ854に戻る。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きい、即ち全てのラベル番号i_LBLについて“環状”かどうかを判定したと判定された場合は、ステップ870において、プロセッサ112は、最も内側の“包囲”を表す画素グループを“表示枠”と決定する。プロセッサ112は、さらに、“表示枠”と決定された画素グループの横幅Wdと縦の高さHdを求める。その後、手順は図19のルーチンを出る。
【0103】
このようにして、測定器の表示部または表示領域の画像において、数字を表す画素グループを含んでいる最も内側にある環状の表示枠(404、414、424、434)の画素グループが抽出される。
【0104】
図20は、図11のステップ512における、“表示枠”を表す画素グループの内側にある画素グループを抽出する処理のためのフローチャートの例を示している。
【0105】
図20を参照すると、プロセッサ112は、ステップ900においてその処理を開始する。ステップ902において、プロセッサ112は、画素グループのラベル順序番号Iを初期値I=1と設定する。ステップ904において、プロセッサ112は、ラベル番号i_LBLをラベル・テーブル(図15)のラベル番号i_LBL=L_TBL(I,1)と設定する。
【0106】
ステップ906において、プロセッサ112は、測定器の表示部の画像においてラベル番号L_TBL(I,1)の画素グループが表示枠(の画素グループ)の内側にあるかどうかを判定する。画素グループが表示枠の内側にないと判定された場合は、手順はステップ910に進む。画素グループが表示枠の内側にあると判定された場合は、ステップ908において、プロセッサ112は、そのラベル番号の対象パラメータL_TBL(I,11)をL_TBL(I,11)=“対象”と設定する。それによって、表示枠の内側にある認識対象または抽出対象となる数字を表す可能性のある画素グループが抽出される。
【0107】
ステップ910において、プロセッサ112は、画素グループのラベル順序番号Iを1だけ増分する(I=I+1)。ステップ912において、プロセッサ112は、ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合は、手順はステップ904に戻る。ラベル順序番号Iがラベル数It(最大i_LBL−10)より大きいと判定された場合は、手順は図20のルーチンを出る。それによって、全ての画素グループについて、認識対象または抽出対象となる数字を表す可能性のある画素グループであるかどうかが決定される。
【0108】
図21Aおよび21Bは、図11のステップ514における、隣接関係にある画素グループを結合する処理のためのフローチャートの例を示している。
【0109】
図21Aを参照すると、プロセッサ112は、ステップ950においてその処理を開始する。ステップ952において、プロセッサ112は、画素グループのラベル順序番号Iを初期値I=1と設定する。ステップ954において、プロセッサ112は、ラベル・テーブル(図15)においてラベル順序番号Iのラベル番号i_LBLの画素グループの対象パラメータL_TBL(I,11)が“対象”であるかどうかを判定する。その画素グループが“対象”でないと判定された場合は、手順はステップ974に進む。その画素グループが“対象”であると判定された場合は、ステップ958において、プロセッサ112は、別のラベル順序番号J=I+1を設定する。
【0110】
ステップ958において、プロセッサ112は、ラベル順序番号Iのラベル番号i_LBLの画素グループの対象パラメータL_TBL(J,11)が“対象”であるかどうかを判定する。その画素グループが“対象”でないと判定された場合は、手順はステップ970に進む。その画素グループが“対象”であると判定された場合は、ステップ960において、プロセッサ112は、2つのラベル順序番号I、Jのラベル番号i_LBLの対象パラメータL_TBL(I,11)とL_TBL(J,11)の画素グループの外接矩形(例えば図7Dの破線)が位置的に部分的に重なるかどうかを判定する。
【0111】
図22Aは、2つの画素グループの外接矩形が位置的に部分的に重なる例を示している。
【0112】
それらが重なると判定された場合は、手順はステップ966に進む。それらが重ならないと判定された場合は、ステップ962において、プロセッサ112は、2つの画素グループの各々を複数の領域のブロックに分割し、2つのグループの各ブロックのうち互いに最も近いブロックの組合せを選択する。
【0113】
図22Bは、隣接する2つの画素グループの各々を3つの領域のブロックに分割する例を示している。
【0114】
ステップ964において、プロセッサ112は、その組合せの2つの画素ブロックの間の距離が閾値より小さいかどうかを判定する。その距離が閾値より小さいと判定された場合は、手順はステップ970へ進む。その距離が閾値より小さくないと判定された場合は、手順はステップ966に進む。2つの画素グループの各々を複数の領域のブロックに分割してそれぞれの距離を比較することによって、一方の画素グループの全ての画素と他方の画素グループの全ての画素との間の各距離を閾値と比較する必要がなくなり、処理負荷が小さくなり、処理が高速化できる。
【0115】
ステップ966において、プロセッサ112は、その組合せの2つの画素グループを、1つの数字を表す可能性のある同じ結合関係にある画素グループとして結合する。そのために、2つの画素グループのラベル番号i_LBLのラベル結合パラメータi_LBL(I,12)に、1つの画素グループのラベル番号または同じ結合関係にある他の画素グループの最も小さいラベル番号i_LBLを付与する。その後、手順は図21Bのステップ970へ進む。
【0116】
図21Bのステップ970において、プロセッサ112は、他方の画素グループのラベル順序番号Jを1だけ増分する(J=J+1)。ステップ972において、プロセッサ112は、ラベル順序番号Jがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Jがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合、手順はステップ958に戻る。ラベル順序番号Jがラベル数It(最大ラベル番号i_LBL−10)より大きいと判定された場合は、ステップ974において、プロセッサ112は、一方の画素グループのラベル順序番号Iを1だけ増分する(I=I+1)。ステップ976において、プロセッサ112は、ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいかどうかを判定する。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きくないと判定された場合、手順はステップ954に戻る。ラベル順序番号Iがラベル数It(最大ラベル番号i_LBL−10)より大きいと判定された場合は、手順は図22Aおよび22Bのルーチンを出る。
【0117】
図23は、図11のステップ516における、画像の傾きを補正する処理のためのフローチャートの例を示している。
図24Aおよび24Bは、画像の傾きの補正の例を示している。
【0118】
図23を参照すると、プロセッサ112は、ステップ1100においてその処理を開始する。ステップ1102において、プロセッサ112は、画素グループの外接矩形の右辺(図24)または左辺から水平方向の最も近い画素グループの画素までの距離から、画像の傾きθ(tanθまたはcotθ)を求める。
【0119】
ステップ1104において、プロセッサ112は、傾きθがあるかどうか(=0°)かどうかを判定する。傾きがない(θ=0°)と判定された場合は、手順は図23Aのルーチンを出る。傾きがある(θ≠0°)と判定された場合は、ステップ1106において、プロセッサ112は、画像における各画素グループの画素を傾き分(−θ)だけ水平方向に移動させて、傾きθを補正する。その後、手順は図23のルーチンを出る。
それによって、図24Aおよび24Bに示されているように、傾きθを有する図24Aの画像が、図24Bの傾きのない画像に補正される。
【0120】
図25は、図11のステップ518における、認識された数字の列または数値情報を抽出する処理のためのフローチャートの例を示している。
【0121】
図25を参照すると、プロセッサ112は、ステップ1150においてその処理を開始する。ステップ1152において、プロセッサ112は、ラベル・テーブル(図15)において、数字を表す可能性のある結合された画素グループの組の外接矩形(図7C、8Cの破線)の縦と横の長さの比を求め、縦と横の比が閾値(例えば、7:1または7/1)より大きいかどうかを判定する。縦と横の比が閾値より大きいと判定された場合は、ステップ1154において、プロセッサ112は、ラベル・テーブルにおいてその画素グループの組を数字“1”と判定する。その後、手順は図25のルーチンを出る。
【0122】
ステップ1152において縦と横の比が閾値より大きくないと判定された場合は、ステップ1156において、プロセッサ112は、結合された画素グループの組をその外接矩形(図7C、8Cの破線)に基づいて縦と横方向に複数の領域の画素ブロック(例えば、7×4個のブロック)に分割し、各画素ブロックにおいてラベル番号を有する画素数を求める。
【0123】
ステップ1162において、プロセッサ112は、画像における各位置の画素ブロックにおける画素(暗)数の割合または占有率(%)を、数字“0” 、“2”〜“9”を表すパターンの各位置のブロックにおける値1(暗)の割合または占有率(%)と比較する。数字“0” 、“2”〜“9”を表すパターンの各位置のブロックにおける値1(暗)の割合または占有率(%)は、メモリ114またはハードディスク・ドライブ130に予め格納されている。プロセッサ112は、画像の画素ブロックのパターンが、予め格納された各数字のブロックのパターンと許容誤差の範囲内で一致するかどうかを判定する。画像の画素ブロックのパターンが数字“0” 、“2”〜“9”のいずれかのブロックのパターンと許容誤差の範囲内で一致すると判定された場合は、ステップ1166において、プロセッサ112は、その画素グループの組を数字“0” 、“2”〜“9”のいずれかと判定する。ステップ1162において画像の画素ブロックのパターンが各数字のブロックのパターンと一致しないと判定された場合は、ステップ1164において、プロセッサ112は、認識結果を、測定値を表す数字ではないと判定する。プロセッサ112は、ラベル・テーブル(図15)において、画素グループの組に対して、認識された結果の数字を格納する。例えば、小数点“.”、単位“℃”、“mmHg”、数字以外の文字および記号、小さい数字、等、を表す画素グループは、測定値を表す数字ではないと判定されてもよい。その後、手順は図25のルーチンを出る。
【0124】
このようにして、簡易な数字認識のための処理形態で、測定器の表示部の画像から、測定値を表す個々の数字が抽出される。
【0125】
図25のフローチャートは、同じラベル結合番号が付与された画素グループの組(各数字)について実行され、それによって、各数字を表す文字が認識されて抽出される。
【0126】
図26は、図11のステップ520における、使用した測定器の表示部に固有の特徴またはパラメータを抽出する処理のためのフローチャートの例を示している。
【0127】
図26を参照すると、プロセッサ112は、ステップ1200においてその処理を開始する。ステップ1202において、プロセッサ112は、各数字を表すものとして認識された結合関係にある画素グループの組(各数字)の外接矩形(図7C、8Cの破線)の縦と横の長さの最大値を求め、その平均値を数字の横幅Wcと縦の高さHcとして求める。プロセッサ112は、数字の横幅Wcと縦の高さHcをメモリ114またはハードディスク・ドライブ130に格納する。
【0128】
ステップ1204において、プロセッサ112は、数字の画素グループの数字(文字)の太さTcを求める。そのために、プロセッサ112は、各画素グループをxおよび/またはy方向に走査し、黒の画像の連続画素の数が閾値の以下でかつ最も長い距離を数字(文字)の太さとして求め、その平均値を数字の太さTcとして決定してもよい。その閾値は、例えば、数字の横幅Wcに1/3を乗じた値Wc/3であってもよい。プロセッサ112は、数字の太さTcをメモリ114またはハードディスク・ドライブ130に格納する。
【0129】
ステップ1206において、プロセッサ112は、数字として認識された組(即ち数字)の画素グループから文字の間隔Pcと文字の行間隔Plを求める。そのために、プロセッサ112は、隣接の数字の画素グループの組の外接矩形(例えば、右辺)の間のx方向の間隔(ピッチ)を文字間隔として求め、その平均値を隣接の数字間の文字間隔Pcとして決定してもよい。プロセッサ112は、隣接する2つの数字の間の間隔が、他の隣接の数字の間隔の平均より閾値(例えば、2倍、2Pc)以上離れている場合は、それらを互いに異なる測定項目の数字と判定し、文字間隔の平均値Pcを求めるのに使用しないようにしてもよい。また、プロセッサ112は、隣接する数字の高さの中心座標yの平均値をy方向の行位置として求め、垂直方向の隣接する2つの行位置の間の距離の平均値をその2つの行の間の行間隔Plとして決定してもよい。プロセッサ112は、さらに、隣接の数字の平均の文字間隔Pcを基準(=1.0)として、他のパラメータ、例えば、数字の文字の横と縦の長さ、行の間隔、数字の太さ、等の寸法を正規化してもよい。プロセッサ112は、文字間隔Pcおよび行間隔Plをメモリ114またはハードディスク・ドライブ130に格納する。
【0130】
ステップ1208において、プロセッサ112は、数字の文字間隔Pcと、数字の垂直方向の行間隔Plとから、複数の数字を項目別に分けてグループ化する。1行の数字の文字間隔Pcが閾値(例えば、2倍の文字間隔2Pc)以下の場合は、プロセッサ112は、その数字を1つの測定項目にグループ化する。一方、1行における隣接する2つの数字の文字間隔Pcが閾値より大きい場合は、プロセッサ112は、その2つの数字を、その間隔によって識別される異なる測定項目に分離しグループ化する。プロセッサ112は、さらに、異なる行の数字を、行毎の異なる測定項目にグループ化する。このようにして、各測定項目の数値を表す桁数と数値を有する数字の列(数値情報)が決定される。この場合、数字以外の文字、記号、小数点、等は、無視されて処理の対象外とされてもよい。プロセッサ112は、その決定された項目別の数字の列(数値情報)をメモリ114またはハードディスク・ドライブ130に格納する。
【0131】
ステップ1210において、プロセッサ112は、平均の文字間隔Pc(=1.0)を基準にして、表示領域または表示枠(404、414、424、434)の縦と横の長さ(Hd,Wd)を正規化して(Hd/Pc,Wd/Pc)、正規化された表示領域の寸法形状(Hd,Wd)を決定する。代替形態として、文字間隔Pcの代わりに、平均の文字の高さHcを基準として、表示領域または表示枠の縦横の寸法形状(Hd,Wd)を正規化してもよい。プロセッサ112は、その決定された表示領域の寸法形状(Hd,Wd)をメモリ114またはハードディスク・ドライブ130に格納する。
【0132】
図27は、図11のステップ522における、抽出された表示部の特徴に対応する測定項目と、抽出された数字列によって表される測定値とを決定する処理のためのフローチャートの例を示している。
【0133】
図27を参照すると、プロセッサ112は、ステップ1250においてその処理を開始する。ステップ1252において、プロセッサ112は、測定器のリスト(図5)を参照して、抽出された表示部の特徴に類似するリスト中の表示部の特徴を選択する。そのために、プロセッサ112は、画像の表示部の特徴として、表示領域(表示枠)の寸法形状(Hd,Wd)、文字のサイズ(高さHc)、文字間隔(Pc)および文字の太さを、測定器のリスト(図5)における使用される各測定器の順序番号(No.1、4、7)のものと比較する。プロセッサ112は、抽出された表示部の寸法形状的な特徴に類似するまたはそれに近いリスト中の表示部の特徴またはそれに対応する測定器の順序番号を選択する。
【0134】
ステップ1254において、プロセッサ112は、測定器のリストにおいて選択された測定器の表示部の特徴または順序番号に対応する測定器種別をリスト中から決定または選択する。プロセッサ112は、その決定された測定器種別をメモリ114またはハードディスク・ドライブ130に格納する。
【0135】
ステップ1256において、プロセッサ112は、測定器のリストにおいてその選択された測定器種別に対応する測定項目を決定する。選択された測定器種別に対応する1つの測定項目だけが存在する場合は、測定器種別の選択によって測定項目が一意的に決定される。測定器種別に対応する2つ以上の測定項目が存在する場合は、可能性ある2つ以上の測定項目が仮に決定される。
【0136】
ステップ1258において、プロセッサ112は、測定項目のリスト(図6)を参照して、決定された測定項目に基づいて、抽出された数字列(数値情報)によって表される測定値を決定する。そのために、プロセッサ112は、数字列によって表される測定値(データ)を、その決定された測定項目のデータ形式に基づいて決定する。例えば、数字列(数値情報)が“370”であり、測定項目が体温である場合には、両者が3桁の数字であり、下位第1桁と第2桁の間に小数点があるので、測定値は“37.0”または“37.0℃”と決定される。
【0137】
測定器種別に対応する2つ以上の測定項目が存在する場合は、次のように処理してもよい。プロセッサ112は、画像における数字列(数値情報)の桁数、数値の大きさ、項目の出現順序を、測定項目のリスト(図6)における各測定項目のデータ形式(桁数)、出現順序、および任意に数値の許容範囲(図示せず)を参照しまたはこれらと比較してもよい。それによって、プロセッサ112は、数字列によって表される測定項目およびその測定値(データ)を決定する。その比較において、小数点は無視してもよい。プロセッサ112は、さらに、決定された測定項目に基づいて、測定項目のリスト(図6)を参照して、数字列によって表される小数点を含む数値および単位を測定値として決定する。また、プロセッサ112は、画像から抽出された2つ以上の数字列を、互いに比較し、測定項目のリスト中の各測定項目のデータ形式(桁数)、出現順序、および任意に数値の許容範囲を参照してまたはこれらと比較してもよい。それによって、プロセッサ112は、各数字列(数値情報)によって表される測定項目およびその測定値(データ)を決定しもよい。
【0138】
例えば、プロセッサ112は、画像から抽出された血圧に関する2組の数字列(数値情報)を比較して、大きい値の数字の列(数値情報)を最高血圧を表すものと決定し、小さい値の数字の列(数値情報)を最低血圧を表すものと決定してもよい。例えば、プロセッサ112は、画像から抽出された血圧と脈拍数に関する3組の数字の列(数値情報)を、測定器のリスト(図5)および測定項目のリスト(図6)と比較して、画像中の順におよびリスト中の出現順に最高血圧、最低血圧、脈拍を表すものと決定してもよい。
【0139】
例えば、画像から抽出された数字列“65”について、測定項目“最高血圧”と“最低血圧”が選択され、画像中の出現順序が2番目であり、別の数字列“120”より小さいとする。一方、測定項目のリストにおいて、“最低血圧”が3桁の数字で、許容範囲が“40〜80”で、測定項目“最高血圧”の後に出現するとする。この場合、数字列“65”に対して、測定項目のリスト中の“最低血圧”が測定項目として選択され、測定値として“65”または“65mmHg”が決定される。
【0140】
ステップ11258の後、手順は、ステップ1260進むか、またはステップ1262に進んでもよい。
【0141】
ステップ1260において、プロセッサ112は、さらに、今回の測定値(データ)の数値を、補助データとしての基準数値と比較して、今回の測定値の数値が基準数値の許容範囲内にあるかを判定して、決定した測定器種別および測定項目が妥当かどうかを判定してもよい。補助データとしての基準数値は、例えば、ユーザの個人データに近い年齢、性別等の一般的な測定項目(身体データ種別)の数値であっても、またはユーザ個人によって設定された数値であっても、またはユーザ個人の前回もしくは数回前以内の過去の測定値であってもよい。測定項目における数値の許容範囲は、例えば一般的な基準数値の±15%以内もしくは±特定の数値以内であっても、ユーザ個人の過去の測定値の±10%以内もしくは±特定の数値以内であってもよい。ユーザの過去の測定データは、メモリ114またはハードディスク・ドライブ130およびサーバ装置30に格納されている。例えば、測定項目が最高血圧の場合、その数値の許容範囲は、ユーザ個人の最高血圧120±12(割合10%)であってもよい。例えば、測定項目が体温の場合、その数値の許容範囲は、ユーザ個人の体温36.8の±2.5(特定の数値)であってもよい。
【0142】
プロセッサ112は、測定値の数値が許容範囲にないと判定された場合、決定した測定器種別および項目名が妥当でないと判断してもよい。その場合、手順はステップ1256または1254に戻る。数値が許容範囲にないと判定された場合には、手順はステップ1256に戻って、プロセッサ112は、複数の測定項目の中から選択された表示部の特徴に対応する可能性のある別の測定項目を選択してもよい。それでもステップ1260において、再び、測定値の数値が基準数値の許容範囲にないと判定された場合には、手順はステップ1254に戻ってもよい。この場合、プロセッサ112は、ステップ1254において測定器のリストの中の表示部の特徴の中から、抽出された表示部の特徴に類似する別の表示部の特徴を決定し、ステップ1256においてそれに対応する測定項目を決定して、測定値を決定してもよい。このような上述の表示部の特徴の比較を繰り返して、測定器種別および測定項目がより妥当な別の測定器種別および測定項目が選択されるようにしてもよい。ステップ1260において、プロセッサ112は、1つの数字列に対してステップ1256を複数回実行することによって決定された各測定項目の測定値と各基準値との間の差に基づいて、より妥当な測定項目および測定値を決定してもよい。
【0143】
このようにして、ユーザの入力操作なしで、かつ高機能および高精度の文字認識技術を用いることなく、画像から抽出された数字の列(数値情報)からその数字の列によって表される測定項目および測定値が決定される。
【0144】
ステップ1262において、プロセッサ112は、画像データに含まれる撮影日時を取得して測定日時として決定し、決定された測定器種別と測定項目に対応付けて測定値をその測定日時の情報とともに、メモリ114またはハードディスク・ドライブ130に格納する。
【0145】
ステップ1264において、プロセッサ112は、決定された測定器種別、測定日時、測定項目(身体データ種別)および測定値を、測定日時情報および撮像画像とともに、表示装置122に表示して(図28、29)、ユーザに測定項目と測定値を確認させる。
【0146】
図28Aは、表示部122上の測定項目(体温)と測定値の表示1310の例を示している。図28Bは、表示部122上の測定項目(体重)と測定値の表示1320の別の例を示している。
【0147】
ユーザは、表示された内容が正しければ、入力部126における確認用のキーを操作して、測定項目と測定値を測定データとして決定する。ユーザは、その測定項目と測定値に誤りがあれば、入力部126を操作して修正することができ、その修正された測定項目と測定値を確認して決定する。プロセッサ112は、ユーザの入力部126による操作に従って、測定器名、測定日時、測定データを決定しまたは修正する。プロセッサ112は、その決定された測定データを、メモリ114またはハードディスク・ドライブ130に今回の測定データとして格納する。
【0148】
ユーザは、同じ身体データを測定するために異なる種別の測定器を使用することがある。そのような場合でも、プロセッサ112は、表示装置122に共通の測定項目と測定値を表示するだけでよく、それぞれの測定器名または測定器種別を区別して表示しなくてもよい。例えば、プロセッサ112は、体温計Aの測定値と体温計Bの測定値のいずれも、測定項目“体温”として表示すればよく、体温計Aと体温計Bを区別して表示しなくてよい。
【0149】
図11のステップ524において、プロセッサ112は、ユーザの入力部126による操作に従って、ユーザの個人情報(識別情報、氏名、性別、年齢、等)とともに、測定器の名称、測定日時、測定項目名、測定値(測定データ)をサーバ装置30に送信する。
【0150】
サーバ装置30のプロセッサ312は、受信したユーザの測定器の種別、測定日時、測定項目、測定値(測定データ)を記憶装置16のデータベース(DB)にして、履歴データまたは記録データとして管理する。データベースには、ユーザの個人情報、測定日時、測定項目(身体データ種別)、測定値が蓄積されて管理される。測定に使用された測定器種別は蓄積されても、蓄積されなくてもよい。
【0151】
その後、サーバ装置30またはプロセッサ312は、情報処理端末100または携帯端末102からの要求に応答して、記憶装置16に格納された履歴データまたは記録データを送信する。その履歴データには、測定データの分析結果および/または助言に関する情報を付加してもよい。情報処理端末100または携帯端末102の(プロセッサ112)は、履歴データまたは記録データ等を受信する。
【0152】
図29は、情報処理端末100または携帯端末102の表示部122に表示される測定データの履歴データの表示画面の例を示している。
情報処理端末100または携帯端末102の(プロセッサ112)は、受信した履歴データのファイルを図29に示されているようにその表示部122上に表示する。図29に示されているように、表示部122に測定項目に対応付けて各測定値が測定日時情報の順に表示される。さらに、前述したような付加情報が表示部122に表示されてもよい。
【0153】
図11のフローチャートの少なくとも一部、例えばステップ502〜522の全てまたは一部は、サーバ装置30のプロセッサ312に実行させることもできる。この場合、メモリ114の代わりに記憶装置16が使用される。
【0154】
この場合、ステップ500において、プロセッサ312またはその処理部1144は、ユーザの操作に従って情報処理端末100または携帯端末102から、カメラ202または撮像部203によって撮影された測定器の表示部の画像を含む画像のデータを受信して記憶装置16のデータベース(DB)に格納する。
【0155】
同様に、ステップ502は、プロセッサ312またはそのノイズ除去部1122によって実行される。ステップ504は、プロセッサ312またはその二値化部1124によって実行される。ステップ506は、プロセッサ312またはそのグループ化部1126によって実行される。ステップ508は、プロセッサ312またはその環状判定部1128によって実行される。ステップ510は、プロセッサ312または環状判定部1128によって実行される。ステップ512は、プロセッサ312またはそのグループ抽出部1130によって実行される。ステップ514は、プロセッサ312またはそのグループ結合部1132によって実行される。ステップ518は、プロセッサ312またはその数字抽出部1138によって実行される。ステップ520は、プロセッサ312または特徴抽出部1138によって実行される。
【0156】
ステップ522は、プロセッサ312またはその測定データ決定部1140によって実行される。ステップ522のステップ1264(図27)において、プロセッサ312またはその測定データ決定部1140は、測定項目および測定値を情報処理端末100または携帯端末102に送信して、その表示部122に表示させ、ユーザにそれを確認させ、誤っている場合には修正させる。ユーザは、情報処理端末100または携帯端末102上で確認された測定項目および測定値を測定データとして決定して、メモリ114またはハードディスク130に格納させ、その決定された測定データをサーバ装置30に送信する。
【0157】
ステップ524において、プロセッサ312または処理部1144は、受信したその決定された測定データとしての測定項目(身体データ種別)および測定値を、ユーザの個人情報および測定日時とともに、測定データを記憶装置16のデータベース(DB)に格納して履歴データまたは記録データとして管理する。
【0158】
上述の実施形態によれば、通信機能のないより多種類の測定器の測定データを捕捉してサーバ装置30に送信して、長い期間にわたる多種類の測定データを履歴データとしてサーバ装置30に管理させることができる。それによって、ユーザに関するより多くの測定項目の測定データに基づいて、サーバ装置30によってユーザの健康に関するより適切な分析を行い、より適した分析結果および助言を付加情報としてユーザに提示することができる。
【0159】
ここで挙げた全ての例および条件的表現は、発明者が技術促進に貢献した発明および概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例および条件に限定することなく解釈され、また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない、と理解される。本発明の実施形態を詳細に説明したが、本発明の精神および範囲から逸脱することなく、それに対して種々の変更、置換および変形を施すことができる、と理解される。
【0160】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1) 情報処理装置が、
捕捉された画像データを記憶装置に格納させ
前記画像データから数値情報を抽出し
前記画像データから形状的特徴を抽出し
前記記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する
処理を実行すること
を特徴とする画像データの処理方法。
(付記2) 前記情報処理装置が、前記記憶装置に格納された前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納する処理を実行することを特徴とする、付記1に記載の方法。
(付記3) 前記測定データを格納する際、前記測定データをさらに日時情報とともに格納することを特徴とする、付記1または2に記載の画像データの処理方法。
(付記4) 前記情報処理装置が、さらに、前記記憶装置に格納された該種別に対応付けられた該測定データを別の装置に送信する処理を実行することを特徴とする付記1乃至3のいずれかに記載の方法。
(付記5) 前記情報処理装置が、さらに、前記測定データを含む複数の測定データに関する履歴情報の要求に応答して、別の装置に送信された前記身体データ種別に対応付けられた前記測定データを前記別の装置から受信して、該複数の測定データを日時情報の順に表示装置に表示させる処理を実行すること、を特徴とする、付記2乃至4のいずれかに記載の方法。
(付記6) 決定された前記身体データ種別に基づいて前記数値情報によって表される前記測定データを決定する際に、前記数値情報が、身体データ種別によって表される値として許容範囲にあるかどうかを判定し、
前記数値情報が前記許容範囲にないと判定された場合には、選択された形状的特徴に対応する可能性のある別の身体データ種別を該身体データ種別として選択し、または、前記記憶装置に格納された前記複数の形状的特徴の中から、抽出された前記形状的特徴に類似する他の形状的特徴を決定し、該他の形状的特徴に基づいて該測定データを決定することを特徴とする、付記2または3に記載の方法。
(付記7) 捕捉された画像データを記憶装置に格納させ。
前記画像データから数値情報を抽出し。
前記画像データから形状的特徴を抽出し。
前記記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する
処理を、情報処理装置に実行させるためのプログラム。
(付記8) 前記記憶装置に格納された前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納する処理を、前記情報処理装置に実行させるための付記7に記載のプログラム。
(付記9) さらに、前記測定データを含む複数の測定データに関する履歴情報の要求に応答して、別の装置に送信された前記身体データ種別に対応付けられた前記測定データを前記別の装置から受信して、該複数の測定データを日時情報の順に表示装置に表示させる処理を、前記情報処理装置に実行させるための、付記8に記載のプログラム。
(付記10) 複数の身体データ測定器の種別と、前記複数の測定器の種別にそれぞれ対応付けられた前記複数の身体データ測定器各々の表示部に関する複数の形状的特徴とを格納し、捕捉された画像データを格納する記憶部と、
前記画像データから数値情報を抽出する数字抽出部と、
前記画像データから形状的特徴を抽出する特徴抽出部と、
前記複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する処理部と、
を含むことを特徴とする、端末装置。
(付記11) 前記記憶部は、前記複数の形状的特徴にそれぞれ対応付けられた複数の身体データ種別を格納し、
前記処理部は、前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納すること、を特徴とする、付記10に記載の端末装置。
【0161】
5 ネットワーク
30 サーバ装置
312 データベース
312 プロセッサ
100 情報処理端末
102 携帯端末
112 プロセッサ
114 メモリ
130 ハードディスク・ドライブ
202 ディジタル・カメラ
203 撮像部
【特許請求の範囲】
【請求項1】
情報処理装置が、
捕捉された画像データを記憶装置に格納させ、
前記画像データから数値情報を抽出し、
前記画像データから形状的特徴を抽出し、
前記記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する
処理を実行すること
を特徴とする画像データの処理方法。
【請求項2】
前記情報処理装置が、前記記憶装置に格納された前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納する処理を実行することを特徴とする、請求項1に記載の方法。
【請求項3】
前記情報処理装置が、さらに、前記測定データを含む複数の測定データに関する履歴情報の要求に応答して、別の装置に送信された前記身体データ種別に対応付けられた前記測定データを前記別の装置から受信して、該複数の測定データを日時情報の順に表示装置に表示させる処理を実行すること、を特徴とする、請求項2に記載の方法。
【請求項4】
捕捉された画像データを記憶装置に格納させ、
前記画像データから数値情報を抽出し、
前記画像データから形状的特徴を抽出し、
前記記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する
処理を、情報処理装置に実行させるためのプログラム。
【請求項5】
前記記憶装置に格納された前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納する処理を、前記情報処理装置に実行させるための請求項5に記載のプログラム。
【請求項6】
複数の身体データ測定器の種別と、前記複数の測定器の種別にそれぞれ対応付けられた前記複数の身体データ測定器各々の表示部に関する複数の形状的特徴とを格納し、捕捉された画像データを格納する記憶部と、
前記画像データから数値情報を抽出する数字抽出部と、
前記画像データから形状的特徴を抽出する特徴抽出部と、
前記複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する処理部と、
を含むことを特徴とする、端末装置。
【請求項7】
前記記憶部は、前記複数の形状的特徴にそれぞれ対応付けられた複数の身体データ種別を格納し、
前記処理部は、前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納すること、を特徴とする、請求項6に記載の端末装置。
【請求項1】
情報処理装置が、
捕捉された画像データを記憶装置に格納させ、
前記画像データから数値情報を抽出し、
前記画像データから形状的特徴を抽出し、
前記記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する
処理を実行すること
を特徴とする画像データの処理方法。
【請求項2】
前記情報処理装置が、前記記憶装置に格納された前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納する処理を実行することを特徴とする、請求項1に記載の方法。
【請求項3】
前記情報処理装置が、さらに、前記測定データを含む複数の測定データに関する履歴情報の要求に応答して、別の装置に送信された前記身体データ種別に対応付けられた前記測定データを前記別の装置から受信して、該複数の測定データを日時情報の順に表示装置に表示させる処理を実行すること、を特徴とする、請求項2に記載の方法。
【請求項4】
捕捉された画像データを記憶装置に格納させ、
前記画像データから数値情報を抽出し、
前記画像データから形状的特徴を抽出し、
前記記憶装置に格納された、複数の身体データ測定器各々の表示部に関する複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する
処理を、情報処理装置に実行させるためのプログラム。
【請求項5】
前記記憶装置に格納された前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納する処理を、前記情報処理装置に実行させるための請求項5に記載のプログラム。
【請求項6】
複数の身体データ測定器の種別と、前記複数の測定器の種別にそれぞれ対応付けられた前記複数の身体データ測定器各々の表示部に関する複数の形状的特徴とを格納し、捕捉された画像データを格納する記憶部と、
前記画像データから数値情報を抽出する数字抽出部と、
前記画像データから形状的特徴を抽出する特徴抽出部と、
前記複数の形状的特徴の中から、抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ測定器の種別を決定し、決定された前記種別に基づいて前記数値情報によって表される測定データを決定し、決定された該種別に対応付けて該測定データを前記記憶装置に格納する処理部と、
を含むことを特徴とする、端末装置。
【請求項7】
前記記憶部は、前記複数の形状的特徴にそれぞれ対応付けられた複数の身体データ種別を格納し、
前記処理部は、前記複数の形状的特徴の中から、前記画像データから抽出された前記形状的特徴に類似する形状的特徴を選択し、選択された形状的特徴に対応する身体データ種別を決定し、決定された身体データ種別に基づいて前記数値情報によって表される前記測定データを決定し、決定された該身体データ種別に対応付けて該測定データを前記記憶装置に格納すること、を特徴とする、請求項6に記載の端末装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16A】
【図16B】
【図16C】
【図16D】
【図17】
【図18】
【図19】
【図20】
【図21A】
【図21B】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16A】
【図16B】
【図16C】
【図16D】
【図17】
【図18】
【図19】
【図20】
【図21A】
【図21B】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開2012−183269(P2012−183269A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−50275(P2011−50275)
【出願日】平成23年3月8日(2011.3.8)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願日】平成23年3月8日(2011.3.8)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]