(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024033802
(43)【公開日】2024-03-13
(54)【発明の名称】角度計測装置、角度計測方法、角度計測プログラム
(51)【国際特許分類】
G06T 7/60 20170101AFI20240306BHJP
【FI】
G06T7/60 150Z
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022137635
(22)【出願日】2022-08-31
(11)【特許番号】
(45)【特許公報発行日】2023-02-08
(71)【出願人】
【識別番号】000000181
【氏名又は名称】岩崎通信機株式会社
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】▲高▼木 宏明
(72)【発明者】
【氏名】三浦 良輔
(72)【発明者】
【氏名】本吉 智之
(72)【発明者】
【氏名】新倉 魁
(72)【発明者】
【氏名】廣岡 裕樹
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA24
5L096EA18
5L096EA43
5L096FA02
5L096FA59
5L096FA67
5L096FA69
5L096GA38
5L096JA11
(57)【要約】 (修正有)
【課題】針のエッジの形状に影響を受けることなく、針が指す角度を測定する角度計測装置、角度計測方法及び角度計測プログラムを提供する。
【解決手段】メータの針が指す角度を求める角度計測装置400は、抽出部110、検出部120及び算出部130を備える。抽出部110は、取得した画像である取得画像から、針の所定部分を含む領域である処理対象領域を抽出し、処理対象領域に基づいた二値化画像を得る。検出部120は、二値化画像から、細線化処理によって針の中心線に対応する線分を検出する。算出部130は、線分から、針の角度を算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
メータの針が指す角度を求める角度計測装置であって、
取得した画像である取得画像から、前記針の所定部分を含む領域である処理対象領域を抽出し、前記処理対象領域に基づいた二値化画像を得る抽出部と、
前記二値化画像から、細線化処理によって前記針の中心線に対応する線分を検出する検出部と、
前記線分から、前記針の角度を算出する算出部と
を備える角度計測装置。
【請求項2】
請求項1記載の角度計測装置であって、
画像記録部と、
前記メータの初期状態を撮影した初期撮影画像を表示し、利用者に前記メータを正面から見たときには長方形の頂点となる前記初期撮影画像上の4点を指定させ、特定点とする特定点指定部と、
前記特定点が長方形の頂点となるように前記初期撮影画像を変換するための変換条件を求め、前記画像記録部に記録する変換条件取得部と、
前記メータを撮影した撮影画像を、前記変換条件にしたがって変換し、変換後の画像を取得画像として出力する画像変換部
も備えることを特徴とする角度計測装置。
【請求項3】
請求項1記載の角度計測装置であって、
前記メータの初期状態を撮影した初期撮影画像から求めた特徴量である初期特徴量を記録する初期記録部と、
前記メータを撮影した撮影画像から求めた特徴量である取得特徴量と前記初期特徴量を対比し、特徴量が一致する前記初期取得画像内の点と前記取得画像の点とを、特徴点として関連付ける特徴関連部と、
関連付けされた特徴点同士が一致するように前記撮影画像を補正し、補正後の画像を撮影画像として出力する撮影画像補正部
も備えることを特徴とする角度計測装置。
【請求項4】
請求項3記載の角度計測装置であって、
画像記録部と、
前記メータの初期状態を撮影した初期撮影画像を表示し、利用者に前記メータを正面から見たときには長方形の頂点となる前記初期撮影画像上の4点を指定させ、特定点とする特定点指定部と、
前記特定点が長方形の頂点となるように前記初期撮影画像を変換するための変換条件を求め、前記画像記録部に記録する変換条件取得部と、
前記撮影画像補正部が出力した撮影画像を、前記変換条件にしたがって変換し、変換後の画像を取得画像として出力する画像変換部
も備えることを特徴とする角度計測装置。
【請求項5】
請求項1記載の角度計測装置であって、
前記抽出部は、前記処理対象領域を、あらかじめ定めた数値範囲で特定される色に基づいて抽出する
ことを特徴とする角度計測装置。
【請求項6】
請求項1記載の角度計測装置であって、
前記抽出部は、前記針の軸を中心とするあらかじめ定めた同心円状の領域を、前記処理対象領域に含めない
ことを特徴とする角度計測装置。
【請求項7】
請求項1記載の角度計測装置であって、
前記検出部は、画素が連続する処理対象領域ごとにグループ化し、あらかじめ定めた針の特徴と一致しないグループの画素は、二値化画像において処理対象領域でない画素と同じにする
ことを特徴とする角度計測装置。
【請求項8】
請求項7記載の角度計測装置であって、
前記あらかじめ定めた針の特徴は針の面積に基づく特徴であり、
前記検出部は、グループの面積が針の面積に基づいて定められた値よりも小さいときは、あらかじめ定めた針の特徴と一致しないと判断する
ことを特徴とする角度計測装置。
【請求項9】
請求項1記載の角度計測装置であって、
前記検出部は、前記針の軸の近傍領域を延長線が通過しない線分は検出しない
ことを特徴とする角度計測装置。
【請求項10】
請求項1記載の角度計測装置であって、
前記処理対象領域は、メータの目盛りが表示された領域も含み、
前記検出部は、細線化処理によって前記目盛りの中心線に対応する線分も検出し、
前記算出部は、2つ以上の前記目盛りの線分の交点に基づいて前記針の軸の位置も求める
ことを特徴とする角度計測装置。
【請求項11】
請求項1記載の角度計測装置であって、
前記検出部は、細線化処理によって前記針の中心線に対応する線分を2つ以上検出し、
前記算出部は、2つ以上の前記線分から、前記針の軸の位置も求める
ことを特徴とする角度計測装置。
【請求項12】
メータの針が指す角度を求める角度計測方法であって、
取得した画像である取得画像から、前記針の所定部分を含む領域である処理対象領域を抽出し、前記処理対象領域に基づいた二値化画像を得る抽出ステップと、
前記二値化画像から、細線化処理によって前記針の中心線に対応する線分を検出する検出ステップと、
前記線分から、前記針の角度を算出する算出ステップと
を実行する角度計測方法。
【請求項13】
請求項1から11のいずれかに記載の角度計測装置としてコンピュータを機能させるための角度計測プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メータの針が指す角度を求める角度計測装置、角度計測方法、角度計測プログラムに関する。
【背景技術】
【0002】
指針を検出する技術、もしくは画像中の直線を検出する技術、角度を検出する技術として特許文献1~5などが知られている。特許文献1の要約には、『検出部は、取得した画像からエッジを検出する。抽出部は、検出部により検出したエッジに対しハフ変換を行い複数の線を抽出する。算出部は抽出部により抽出した複数の線に基づき、各線の角度を算出する。算出部は、各線の角度から、メータの針の角度を算出する。』のように記載されている。特許文献2の段落0058には、『指針検出処理(ステップS6)は、本実施形態における指針検出手段であり、携帯端末30で撮像した画像から形状解析用画像を生成し、線分を検出し、アナログメータ20の指針の線形状(指針21のエッジ)を抽出する処理である。』と示されている。特許文献3の要約には、『濃淡画像に対して微分処理を行うことによりエッジ画像を求め、ハフ変換により直線を検出する方法において、・・・』のように記載されている。特許文献4の要約には、『外形が円形である検査対象物の2値化画像を生成する(S1)。次に、2値化画像内で検査対象物に外接する外接矩形を設定する(S2)。この外接矩形の中心座標を検査対象物の中心座標として求め(S3)、次に2値化画像内でエッジとなる画素をエッジ点として抽出した後に(S4)、中心座標と各エッジ点とを結ぶ直線が水平方向に対してなす角度を求める(S5)。さらに、各角度の発生度数のヒストグラムを生成し(S6)、基準となる検査対象物から生成したヒストグラムと、比較する検査対象物から生成したヒストグラムを規定の角度分ずつシフトさせたヒストグラムとの相関係数を演算し、相関係数のうちの最大値を両検査対象物の一致度として用いる(S7)。』と記載されている。特許文献5の要約には、『測定対象画像からエッジ点を抽出し、そのエッジ点列の配置から直線を抽出する画像計測アルゴリズムにおける特徴抽出方法であって、エッジ点の妥当性を評価するためのテンプレート画像を決定し、抽出されたエッジ点の周辺の画像と前記テンプレート画像の正規化相互相関係数を計算し、計算したその数値を直線推定時に当該エッジ点の重み付けに用いる、ように構成される。』と記載されている。なお、幅のある形状から線を求める技術として、非特許文献1の技術も知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011-196713号公報
【特許文献2】特開2020-118484号公報
【特許文献3】特開平11-66302号公報
【特許文献4】特開2001-357401号公報
【特許文献5】特開2009-48292号公報
【非特許文献】
【0004】
【非特許文献1】Zhang, T. Y., Suen, C. Y., “A Fast Parallel Algorithm for Thinning Digital Patterns”, Communications of ACM. 27(3), pp.236-239 (1984),[令和4年6月3日検索]、インターネット<https://dl.acm.org/doi/pdf/10.1145/357994.358023>.
【発明の概要】
【発明が解決しようとする課題】
【0005】
画像から直線を抽出する処理においては、エッジを抽出した後に直線を検出する技術を用いることが一般的である。メータの針は、指す方向について線対称であることが通常だが、必ずしもエッジは直線ではない。曲線のエッジもあれば複雑な形状の場合もある。したがって、エッジを抽出しても針が指す正しい角度を測定できないこともある。
本発明では、メータの針の形状は指す方向について線対称であることは前提とするが、針のエッジの形状に影響を受けることなく、針が指す角度を測定することを目的とする。
【課題を解決するための手段】
【0006】
本発明の角度計測装置は、メータの針が指す角度を求める。本発明の角度計測装置は、抽出部、検出部、算出部を備える。抽出部は、取得した画像である取得画像から、針の所定部分を含む領域である処理対象領域を抽出し、処理対象領域に基づいた二値化画像を得る。検出部は、二値化画像から、細線化処理によって針の中心線に対応する線分を検出する。算出部は、線分から、針の角度を算出する。
【発明の効果】
【0007】
本発明の角度計測装置によれば、メータの針の中心線に対応する線分を検出するので、針のエッジの形状に影響を受けることなく、針が指す角度を測定できる。
【図面の簡単な説明】
【0008】
【
図1】実施例1の角度計測装置の機能構成例を示す図。
【
図2】実施例1の角度計測装置の処理フローを示す図。
【
図3】撮像装置900
mがメータの正面に配置できていない場合と、正面に配置できている場合の違いを示す図。
【
図4】初期撮影画像と現在の撮影画像の例を示す図。
【
図5】メータの例と処理対象領域に含めない領域の例を示す図。
【
図7】細線化で利用する12種類のパターンを示す図。
【
図16】複数の針による軸位置算出のイメージを示す図。
【
図17】変形例1の角度計測装置の機能構成例を示す図。
【
図18】変形例1の角度計測装置の処理フローを示す図。
【
図19】変形例2の角度計測装置の機能構成例を示す図。
【
図20】変形例2の角度計測装置の処理フローを示す図。
【
図21】変形例3の角度計測装置の機能構成例を示す図。
【
図22】変形例3の角度計測装置の処理フローを示す図。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例0010】
図1に実施例1の角度計測装置の機能構成例を、
図2に実施例1の角度計測装置の処理フローを示す。角度計測装置400は、特定点指定部360、変換条件取得部370、画像変換部380、特徴関連部240、撮影画像補正部250、抽出部110、検出部120、算出部130、記録部190を備える。実施例1では、記録部190は、画像記録部390と初期記録部290を含んでいる。角度計測装置400は、撮像装置900
1,…,900
Mとネットワークを介して接続される。撮像装置900
mは、撮影したメータの画像を角度計測装置400に送信する。なお、1つの撮像装置900
mが撮影する画像に複数のメータが含まれていてもよい。Mは1以上の整数、mは1以上M以下の整数である。
【0011】
図3は、撮像装置900
mがメータの正面に配置できていない場合と、正面に配置できている場合の違いを示す図である。
図3(A)は撮像装置900
mがメータの正面に配置できていない場合のメータの映像のイメージを示す図である。
図3(B)は撮像装置900
mを正面に配置できている場合のメータの映像のイメージを示す図である。特定点361は、メータを正面から見たときには長方形の頂点366となる点である。
【0012】
特定点指定部360は、メータの初期状態を撮影した初期撮影画像を表示し、利用者にメータを正面から見たときには長方形の頂点366となる初期撮影画像上の4点を指定させ、特定点361とする(S360)。変換条件取得部370は、特定点361が長方形の頂点となるように初期撮影画像を変換するための変換条件を求め、画像記録部に記録する(S370)。なお、正確に特定点361が頂点366と一致するように変換する必要はなく、特定点361が似た長方形の頂点となるように変換すれば十分である。具体的には、次式のような変換式(射影変換)を変換条件として求めればよい。次式の(x,y)は特定点361の座標であり、(x’,y’)は代表点の座標である。
【数1】
4つの特定点361を対応する代表点366に変換できるように、行列の要素を求めればよい。また、行列の代わりに、以下の式を用いてもよい。
【数2】
なお、変換条件は上記の変換方法に限定する必要はない。適宜、変換方法を決めればよい。ステップS360とS370をすべての撮像装置900
1,…,900
Mに対して行い、画像記録部390に変換条件を記録する。また、角度計測装置400を使用開始した後に撮像装置を追加したときは、追加した撮像装置に対してもステップS360とS370を実行する。
【0013】
初期記録部290は、メータの初期状態を撮影した初期撮影画像から求めた特徴量である初期特徴量を記録しておく(S350)。
図4は、初期撮影画像と現在の撮影画像の例を示す図である。
図4(A)と
図4(B)には、初期撮影画像241と現在の撮影画像242の例が示されている。
図4の例では、撮影画像242は、縮小し、回転している。事後的に地震、作業者の接触などによって撮像装置900
mの設置位置が移動した場合は、
図4(A)と
図4(B)のように、初期撮影画像と撮影画像が異なる画像になる。
【0014】
撮像装置900
mが撮影した画像である撮影画像は、角度計測装置400に入力される。特徴関連部240は、撮影画像から求めた特徴量である取得特徴量と初期特徴量を対比し、特徴量が一致する初期撮影画像内の点と撮影画像の点とを、特徴点として関連付ける(S240)。
図4(A)に示されている白い点が特徴点である。
図4(B)に示されている白い線は、特徴点同士の関連付けを示している。画像内の特徴量を同一画像内で複数求める必要があるので、特徴関連部240は、画像に拡大縮小や回転があり濃淡パターンが変化しても影響を受けない特徴量を抽出する必要がある。このような特徴量を取得する手法として、SIFT(Scale Invariant Feature Transform),SURF(Speeded-Up Robust Features),ORB(Oriented FAST and Rotated BRIEF),AKAZE(Accelerated-KAZE),BRIEF(Binary Robust Independent Elementary Features),BRISK(Binary Robust Invariant Scalable Keypoints)などがある。ただし、これらの手法に限らなくてもよい。あらかじめ撮影画像から特徴量を求め、初期記録部290に初期特徴量として記録しておく。
【0015】
特徴関連部240は、初期記録部290に記録された特徴量と、現在の撮影画像242の特徴量の中で一致する特徴量を求める。一致した特徴量を求める際には、初期特徴量の複数のベクトルが一番距離的に近い現在の撮影画像242の特徴点を一致する仮の特徴量とする。次に、今回の撮影画像242の特徴量に一番近い初期特徴量を求め、仮の特徴量の組み合わせと同じものだけを一致した特徴量とする。一致した特徴量の数が、あらかじめ決められた値以上であれば、一致した特徴量から射影変換を行う3×3の変換行列を求める。変換行列には、変換条件取得部370の説明で示した行列を用いればよい。
【0016】
撮影画像補正部250は、関連付けされた特徴点同士が一致するように撮影画像を補正し、補正後の画像を撮影画像として出力する(S250)。上述の3×3の変換行列で補正すればよい。ステップS240,250によって、事後的に撮像装置900mの設置位置が移動した場合であっても、初期状態で撮影した画像に相当する撮影画像を取得できる。なお、特徴関連部240は、あらかじめ定めておいた変換量が大きいことを示す基準を満たすときには利用者に通知する機能も有してもよい。利用者は、通知があったときはステップS350,S360,S370を再度実行すればよい。
【0017】
画像変換部380は、撮影画像補正部250が補正した撮影画像を、画像記録部390に記録された変換条件にしたがって変換し、変換後の画像を取得画像として出力する(S380)。ステップS380によって、撮影画像を、正面から撮影した画像に近い取得画像に変換できる。
【0018】
抽出部110は、取得した画像である取得画像から、針の所定部分を含む領域である処理対象領域を抽出し、処理対象領域に基づいた二値化画像を得る(S110)。「針の所定部分を含む領域」とは、針の全長でもよいし、針の中からあらかじめ定めた一部でもよい。例えば、メータの盤面の目盛り、文字などと重なることの無い部分を、針の所定部分とすればよい。この場合、抽出部110は、針の軸を中心とするあらかじめ定めた同心円状の領域を、処理対象領域に含めないようにすればよい。
図5にメータの例と処理対象領域に含めない領域の例を示す。
図5(A)はメータの例である。円周に近い部分に目盛りがあり、中心に近い部分に「V」の文字がある。このような場合に、目盛りのある同心円状の領域と文字のある同心円状の領域にマスクを使用することで、針の所定部分を含む領域を抽出できる。マスクを使用する部分は、例えば、盤面の色と同じ色にすればよい。
図5(B)は取得画像にマスクを施した図である。
図5(B)の例では、針の軸の中心から、半径がRS1以上RE1以下の同心円状の領域111と、半径がRS2以上RE2以下の同心円状の領域112にマスクが施されている。
図5(B)の例では、マスクする領域は2つだが、盤面の状況に応じてマスクする領域の数は決めればよい。
【0019】
抽出部110は、処理対象領域を、あらかじめ定めた数値範囲で特定される色に基づいて抽出してもよい。針の色を特定することで、針の画像だけを抽出しやすくなる。また、同一のメータ上に指示値の異なる針が複数ある場合で、針の色が異なる場合には、角度計測の対象となる針を、色で指定できる。例えば、取得画像上でフィルタリングする色を指定すればよい。例えば、まず、指定された色を、HSV(Hue, Saturation, Value)空間またはRGB(Red, Green, Blue)空間に変換する。
【0020】
HSV空間の場合には、検出したHの値に対してあらかじめ決められた値を加算した上限および減算した下限を求め、この値の範囲に入っているかを確認する。ただし、Hの値はサイクリックであるため、加算または減算した結果、オーバーフローまたはアンダーフローが発生する可能性がある。オーバーフローまたはアンダーフローが発生した場合には、正しいHの値の最大値、最小値から折り返す。RGB空間の場合には、例えば、最も値が大きいRGB(Max(R,G,B))を求める。そして、その値でそれぞれのRGBの値を除算した値(R/Max(R,G,B),G/Max(R,G,B),B/Max(R,G,B))の範囲を指定してフィルタリングすればよい。
【0021】
次に、処理対象領域に基づいて二値化画像を得る。例えば、取得画像にマスクを施し、指定した色などでフィルタリングし、針を示している画素と針を示していない画素に二値化する。二値化までの処理は、一度グレースケール化した上で二値化を行ってもよい。また、白黒での二値化の場合、黒が針を示している画素としてもよいし、白が針を示している画素としてもよい。例えば、以下のように処理を行えばよい。
(ア)取得画像もしくは取得画像にマスク処理もしくはフィルタリングを行った画像がカラーであれば、0~255階調のグレー画像に変換する。
(イ)グレー画像を二値化画像に変換する。
(ウ)針の部分が黒画素領域ならば白黒反転し、針の部分を白画素に変換する。
【0022】
検出部120は、二値化画像から、細線化処理によって針の中心線に対応する線分を検出する(S120)。まず、ラベリングについて説明する。検出部120は、画素が連続する処理対象領域ごとにグループ化し、あらかじめ定めた針の特徴と一致しないグループの画素は、二値化画像において処理対象領域でない画素と同じにしてもよい。「あらかじめ定めた針の特徴」は、例えば、針の面積に基づく特徴とすればよい。その場合は、検出部120は、グループの面積が針の面積に基づいて定められた値よりも小さいときは、あらかじめ定めた針の特徴と一致しないと判断する。
図6に二値化画像のラベリングの例を示す。
図6では、二値化画像243の黒で示された部分が針を示している。しかし、「1」、「3」、「4」でラベリングされたグループの面積は、針の面積に比べて小さすぎる。したがって、「1」、「3」、「4」でラベリングされた画素を白に変換することで、ノイズを除去すればよい。
【0023】
「連続」には、上下左右の4近傍と上下左右に加えて斜めのつながりも含める8近傍がある。本件では、8近傍を使用する方が望ましい。また、ラベリングを行った場合は、細線化する領域が分かる。ラベリング終了後の処理対象領域に上下左右斜めの画素を追加した領域で、細線化処理を行えばよい。例えば、
図6においては、領域245で細線化処理を行えばよい。
【0024】
次に、細線化処理について説明する。「細線化」とは、二値化画像の処理対象領域の外側の画素を以下の3つの条件が成立した場合に削っていき(処理対象領域ではない画素と同じにしていき)、幅が1画素の線画像に変換する処理である。
(ア)白黒境界線上の画素であること
(イ)削っても連結性が保たれること
(ウ)端点ではないこと
細線化処理では、例えば非特許文献1に示された技術を利用すればよい。
図7に細線化で利用する12種類のパターンを示す。
図7は、処理対象領域の画素が「白」、処理対象領域でない画素が「黒」の場合の例を示している。
図7の「X」は白と黒のどちらでもよいことを示している。パターンと一致した場合に、真ん中の白画素を黒画素に置き換える。
図6では、処理対象領域の画素が「黒」、処理対象領域でない画素が「白」の場合の例を示している。
図6に示された二値化画像を用いる場合、
図6に示された二値化画像を白黒反転させた上で、
図7に示されたパターンと比較すればよい。
【0025】
細線化の処理フローを
図8に示す。細線化処理(S121)では、パターンと一致する二値化画像の探索方向を変更しながら繰り返す(S1211,S1216)。
図6の場合は、まず領域245の左上の3×3のパターンを確認し、yを一定にしながらxを右に移動させていく。xが領域245の端まで進んだときは、yを下に1つ移動させ、yを一定にしながらxを左から右に移動させていく。この処理を繰り返して、領域245の右下まで進む処理が、
図8の左上から右下(S1212)の処理である。右上から左下(S1213)は、まずyが一番上においてxを右から左に移動させていき、xが端まで進むとyを下に1つ移動させる処理の繰り返しを意味している。左下から右上(S1214)は、まずyが一番下においてxを左から右に移動させていき、xが端まで進むとyを上に1つ移動させる処理の繰り返しを意味している。右下から左上(S1215)は、まずyが一番下においてxを右から左に移動させていき、xが端まで進むとyを上に1つ移動させる処理の繰り返しを意味している。
【0026】
図7のパターンは、左上から右下(S1212)、右上から左下(S1213)、左下から右上(S1214)、右下から左上(S1215)で使用するパターンが異なる。
(ア)左上から右下の処理(S1212)では、パターン1、パターン5、パターン6、パターン9、パターン11を使用する。
(イ)右上から左下の処理(S1213)では、パターン2、パターン6、パターン8,パターン10,パターン12を使用する。
(ウ)左下から右上の処理(S1214)では、パターン3、パターン5、パターン7を使用する。
(エ)右下から左上の処理(S1215)では、パターン4、パターン7、パターン8を使用する。
なお、
図7に示されたパターン以外を使用してもよい。
【0027】
図9に細線化処理の過程を示す。
図10に針の形状の例を示す。針には、例えば針51~53のような形状がある。上述のように細線化処理を行うと、
図9に示されているように、細線化される。本発明では、上述のように細線化処理を行うので、
図10に示したような針のエッジの形状に影響を受けることなく、針の方向を示す線分を検出できる。ただし、検出部120は、延長線が針の軸の近傍領域を通過しない線分は、検出した線分から除くように処理してもよい。このような処理によっても、ノイズを除去できる。なお、近傍領域とは、計測誤差の範囲に含まれる領域を意味している。
【0028】
算出部130は、線分から、針の角度を算出する(S130)。算出部130は、例えばハフ変換を用いて線分を検出すればよい。ただし、ハフ変換に限定する必要はない。検出した線分の始点と終点を用いて角度を算出すればよい。
図11に角度算出のイメージを示す。
図11では、始点の座標は(x’,y’)終点の座標は(x,y)である。
図11の例の場合、以下のように角度θを求めればよい。
(ア) a=x’-x
(イ) b=y-y’
(ウ) θ=tan
-1(b/a)
なお、aが0の場合は垂直、bが0の場合は水平の線分とする。角度計測装置400によれば、メータの針の中心線に対応する線分を検出するので、針のエッジの形状に影響を受けることなく、針が指す角度を測定できる。
【0029】
算出部130は針が示す直線の式を求める以外に、メータの目盛りの直線の式を求めることにより、針の軸の位置を求めることができる。この場合は、抽出部110の処理において、メータの盤面の目盛りが処理対象領域に含まれるようにする。つまり、二値化画像にメータの目盛りも含まれるようにする。そして、検出部120は、細線化処理によって目盛りの中心線に対応する線分も検出する。軸の位置は、針が指している角度を算出する際に、針の軸を原点として針の位置が第三象限または第四象限にあることが分かれば、針の角度を180度加算することで正しい角度を求めることができる。また、アナログメータの機械読取りを行う上で針の軸の位置が精度に大きく影響する場合がある。例えば、メータが計測できる最小値と最大値の針の先端位置または目盛りの位置を指定して針が示す最小値と最大値の角度をあらかじめ求めておき、最小値、最大値の角度との差分から針の示す値を読み取るような場合である。この場合には、針の軸と指定された最小値、最大値の座標を直線で結んだ時の直線の角度を求めるが、この場合には針の軸の位置を正確に指定する必要がある。
【0030】
図12を使用して説明する。
図12(A)は、円形のアナログメータであるが、針の軸が目視できるため、軸の位置を手動で設定することは容易である。ただし、軸の位置にシールなどの覆いがある場合には正確な位置の設定は困難となる。
図12(B)は、四角いアナログメータであるが、この形態のメータは、針の軸が隠れているため、設定を行う利用者によって軸の位置が異なってしまい、読取り精度も利用者によって異なってしまう。
【0031】
本実施例では、アナログメータの目盛りは針の軸に向かって印刷されていることに着目し、メータの細線化を行った際に目盛りの中央の直線が検出されるので、ハフ変換により直線の2つの端点を求め、求めた端点から直線の式であるy=ax+bを求め、別途求める針の直線との交点を求め、軸の座標を算出することができる。なお、算出には、目盛りの長さに長短がある場合には、精度を上げるために長い目盛りだけを使用する。
【0032】
エッジ抽出を使用して目盛りのエッジを抽出した場合には、通常1本の目盛り線に対して目盛りの左右に2本の線分を検出してしまうため、精度が悪くなるが、細線化で目盛りの直線を求めた場合には、目盛りの中心の直線を検出するため、精度が高くなる。また、交点はノイズなどの影響を受けて複数求まる可能性があり、その場合には座標の平均値を使用する。また、水平の目盛りが存在する場合には、軸のx座標は、その目盛りのx座標を採用し、y座標のみ、平均値を求める。
【0033】
図13(A)は、円形のメータの目盛りから軸の位置を算出したイメージ図であり、
図13(B)は、四角いメータの目盛りから軸の位置を算出したイメージ図である。
【0034】
図14に軸の座標を求めるフローチャートを示す。検出部120は、二値化画像に対して細線化を行う(S410)。算出部130は、細線化を行った線分をハフ変換によって抽出する(S420)。算出部130は、針の直線式y=ax+bを求め(S430)、未処理の目盛りがある限り(S440)、ステップS450に続く処理を行う。ステップS450では、一つの目盛りの直線式Y=Ax+Bを求める。ステップS460で針と目盛りの直線の交点を求める。ステップS470では複数の交点が見つかっていれば、ステップS480で交点の座標の平均値を求める。
【0035】
針の軸を求める方法として、針が複数本同じ軸から出ている場合や、同地点から撮像した針の角度が異なる複数枚の画像を使用して、細線化を行うことで針の中央の直線を複数求め、複数の針の式を求める。求めた複数の式の交点を求めることで針の軸の位置を求める。つまり、検出部120は、細線化処理によって針の中心線に対応する線分を2つ以上検出する。「線分を2つ以上検出」とは、針が複数本存在する場合はそれぞれの針の中心線に対応する線分を検出すればよい。また、針が1本だけの場合は、過去に検出した針の線分を記録しておき、同じ針から異なる線分を2回以上検出することで「線分を2つ以上検出」すればよい。
【0036】
図15は一つのメータに複数の針がある例である。
図15(A)は針の軸が目視できる丸形のメータの例を示し、2本の針があることを示し、
図15(B)は針の軸が見えない長方形のメータの例で2本の針があることを示す。
図15の複数の針の部分を細線化した例を
図16に示す。
図16(A)は丸形のメータの細線化の例を示し、複数の針の直線から交点である軸の位置を求めた例を示し、
図16(B)は長方形のメータの細線化の例を示し、複数の針の直線から交点である軸の位置を求めた例を示す。
[変形例1]
【0037】
図17に変形例1の角度計測装置の機能構成例を、
図18に変形例1の角度計測装置の処理フローを示す。角度計測装置100は、抽出部110、検出部120、算出部130、記録部190を備える。角度計測装置100は、撮像装置900
1,…,900
Mとネットワークを介して接続される。撮像装置900
mは、撮影したメータの画像を角度計測装置100に送信する。
【0038】
実施例1では、撮像装置900mがメータの正面に配置できない場合も想定していた。しかし、すべての撮像装置9001,…,900Mをメータの正面に配置でき、かつ、地震などによって移動しないような安定した設備に固定できる場合であれば、特定点指定部360、変換条件取得部370、画像変換部380、特徴関連部240、撮影画像補正部250を備えていなくても処理を行える。この場合は、撮像装置900mが撮影し、角度計測装置100に送信した画面が取得画面になる。
【0039】
抽出部110、検出部120、算出部130の処理は、実施例1と同じである。したがって、実施例1と同様の効果を得ることができる。
[変形例2]
【0040】
図19に変形例2の角度計測装置の機能構成例を、
図20に変形例2の角度計測装置の処理フローを示す。角度計測装置200は、特徴関連部240、撮影画像補正部250、抽出部110、検出部120、算出部130、記録部190を備える。変形例2では、記録部190は、初期記録部290を含んでいる。角度計測装置200は、撮像装置900
1,…,900
Mとネットワークを介して接続される。撮像装置900
mは、撮影したメータの画像を角度計測装置200に送信する。
【0041】
実施例1では、撮像装置900mがメータの正面に配置できない場合も想定していた。変形例2では、すべての撮像装置9001,…,900Mをメータの正面に配置できるが、地震などによって移動する場合があり得ることを前提としている。この場合は、初期状態ではメータを正面から撮影したときの画面にできるので、特定点指定部360、変換条件取得部370、画像変換部380を備えていなくても処理を行える。この場合は、撮像装置900mが撮影し、角度計測装置200に送信した画面が取得画面になる。
【0042】
抽出部110、検出部120、算出部130の処理は、実施例1と同じである。したがって、実施例1と同様の効果を得ることができる。
[変形例3]
【0043】
図21に変形例3の角度計測装置の機能構成例を、
図22に変形例3の角度計測装置の処理フローを示す。角度計測装置300は、特定点指定部360、変換条件取得部370、画像変換部380、抽出部110、検出部120、算出部130、記録部190を備える。変形例3では、記録部190は、画像記録部390を含んでいる。角度計測装置300は、撮像装置900
1,…,900
Mとネットワークを介して接続される。撮像装置900
mは、撮影したメータの画像を角度計測装置300に送信する。
【0044】
実施例1では、撮像装置900mが地震、利用者との接触などで移動する場合も想定していた。変形例3では、すべての撮像装置9001,…,900Mをメータの正面に配置することはできないが、地震などによってメータが移動しないようにできることを前提としている。この場合は、ステップS360~S380の処理を行うことで取得画像を得ることができる。
【0045】
抽出部110、検出部120、算出部130の処理は、実施例1と同じである。したがって、実施例1と同様の効果を得ることができる。
【0046】
[プログラム、記録媒体]
上述の各種の処理は、
図23に示すコンピュータ2000の記録部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040、表示部2050などを動作させることで実施できる。
【0047】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0048】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0049】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0050】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。