(57)【特許請求の範囲】
【請求項１】
鉛直方向と水平方向の辺を有する明暗の帯を鉛直方向に所定周期で並べた標尺の目盛り面を望遠鏡により視準して撮像手段によって撮像し、撮像した目盛り面の画像データに基づいて、前記望遠鏡で視準した標尺の目盛りを読み取る装置であって、
標尺上の目盛り部分を検出して目盛りの鉛直方向の辺の長さを求め、長さに応じて内挿値演算方法を選択する手段と；
選択した内挿値演算方法によって、前記撮像手段の受光面上の所定位置における目盛りの内挿値を求める手段と；
を備え、
前記目盛りの内挿値を求める手段は、
前記内挿値の演算方法を選択する手段により前記目盛りの鉛直方向の辺の長さが所定値より短いと判断されたとき、目盛りの一周期分に含まれる画素数を複数箇所で求め、それらの平均値を算出し、求めた画素数を一周期とし、約１０周期分のデータを用いてフーリエ変換してスペクトルを算出し、一定の割合で一周期とする画素数を変化させていき、前記約１０周期分のデータを用いてフーリエ変換してスペクトルを算出する手段と；
求めたスペクトルが最大になるときの画素数を検出する手段と；
該スペクトルが最大になったときの画素数を目盛りの周期として所定位置の位相を算出し、これを内挿値に換算して内挿値を求める手段と；
を含むことを特徴とする標尺の目盛り自動読取り装置。
【請求項２】
前記標尺は、前記明暗の帯が鉛直方向に異なる単位長、異なる周期で形成された二列からなり、
前記標尺上の目盛り部分を検出する手段は、
所定の水平方向検出開始位置において、鉛直方向一列のデータを読込み、単純平均値を求める手段と、
求めた一列分の画素データと平均値データを比較して画素データを二値化する手段と、
該二値化した画素データから同じレベルの画素データが連続する連続数を順に求める手段と、
同レベルで連続する画素データの連続数と他の同レベルで連続する画素データの連続数の差の絶対値を求める手段と、
求めた同レベルで連続する画素データ数同士の差の平均値を求める手段と、
該差の平均値を所定のしきい値と比較して目盛り部分か否かを判断する手段と、
目盛り部分か否かを判断する列を水平方向に１画素以上移動して目盛りの水平方向の辺の両端を検出する手段と、
前記連続数の平均値を求め、該平均値が隣り合う列で大きく変化する列間を前記二列の明暗の帯の境界位置と判断する手段とを含む請求項１記載の標尺の目盛り自動読取り装置。
【請求項３】
前記標尺は水平方向の幅が大小に異なる引出式の標尺を有する箱尺からなり、
前記内挿値の演算方法を選択する手段は、
前記標尺の目盛り部分の画素データから前記帯の暗の部分を検出する手段と、
該検出した暗の部分の水平方向の辺と鉛直方向の辺の比から標尺の何段目かを判断する手段とを含み、
該検出した暗の部分の任意の一辺が占有する画素数と、何段目の標尺かにより変化する所定の画素数とを比較し、該占有する画素数が該所定の画素数より大きいか否かで、内挿値の演算方法を選択する請求項１記載の標尺の目盛り自動読取り装置。
【請求項４】
撮像手段の受光面上の所定位置は、視準望遠鏡の十字線の水平ラインおよびアッパ、ロアスタジアラインに相当する位置であり、前記アッパ、ロアスタジアライン間の長さを算出する手段として、
前記アッパおよびロアスタジアライン位置の内挿値を前記選択された内挿値の演算方法により算出する手段と、
該求めたロアスタジアライン位置の内挿値を１周期の実長さから減算して目盛りの水平方向の辺の上辺位置の内挿値を求める手段と、
アッパ、ロアスタジアライン位置間の画素数を、両位置の値から減算して求める手段と、
求めた両スタジア間の画素数を前記一周期の画素数で除算し、その整数部分だけを取り出して１周期の実長さを乗算し、内挿値を除いた目盛り部分の長さを求める手段と、
前記アッパスタジアライン位置の内挿値と、前記ロアスタジアラインの上辺の内挿値と、前記内挿値を除いた目盛り部分の長さとを加算して両スタジア間の実長さを求める手段とを含む請求項１記載の標尺の目盛り自動読取り装置。
【請求項５】
アッパ、ロアスタジアライン間の長さ、水平ライン位置の高さを補正する手段として、
同一鉛直線上に位置する離反した異なる目盛りの２点の位置を求める手段と、
該２点の位置に基づいて鉛直に対する標尺の傾きを算出する手段と、
両スタジアライン間の長さおよび水平ライン位置の高さを、前記傾きによる誤差成分を除いた値に補正する手段を含む請求項４記載の標尺の目盛り自動読取り装置。
【請求項６】
水平距離を自動的に算出する手段として、前記補正した両スタジアライン間の長さにスタジア定数を乗算し、加数を加えて水平距離を算出する手段を含む請求項５記載の標尺の目盛り自動読取り装置。
【発明の詳細な説明】
【０００１】
【発明の技術分野】
本発明は、視準望遠鏡を通して視準した標尺の目盛りを自動読み取りする装置に関する。
【０００２】
【従来技術およびその問題点】
従来の測量は、作業者が視準望遠鏡を覗き、十字線またはスタジア線が重なる目盛りを目測して測定していた。作業者が視準望遠鏡を介して目視して目盛りを読み取る場合、視覚には個人差があり、特に熟練者と初心者で読み取り時の誤差が大きく異なることがあり、また読み違えたり、読み取った結果を記録するときに写し間違える可能性があった。
また、標尺の目盛りを自動読み込み可能なデジタルオートレベルなどが開発されているが、従来のデジタルオートレベルはそれ専用のコードを有する標尺を用いなければ自動読み込みができず、作業者が測定する標尺面を利用しての自動読み込みはできなかった。
【０００３】
【発明の目的】
本発明は、かかる従来の測量機の問題に鑑みてなされたもので、汎用標尺の目盛り自動読み取り装置を提供することを目的とする。
【０００４】
【発明の概要】
この目的を達成する本発明は、鉛直方向と水平方向の辺を有する明暗の帯を鉛直方向に所定周期で並べた標尺の目盛り面を望遠鏡により視準して撮像手段によって撮像し、撮像した目盛り面の画像データに基づいて、前記望遠鏡で視準した標尺の目盛りを読み取る装置であって、標尺上の目盛り部分を検出して目盛りの鉛直方向の辺の長さを求め、長さに応じて内挿値演算方法を選択する手段と；選択した内挿値演算方法によって、前記撮像手段の受光面上の所定位置における目盛りの内挿値を求める手段と；を備え、前記目盛りの内挿値を求める手段は、前記内挿値の演算方法を選択する手段により前記目盛りの鉛直方向の辺の長さが所定値より短いと判断されたとき、目盛りの一周期分に含まれる画素数を複数箇所で求め、それらの平均値を算出し、求めた画素数を一周期とし、約１０周期分のデータを用いてフーリエ変換してスペクトルを算出し、一定の割合で一周期とする画素数を変化させていき、前記約１０周期分のデータを用いてフーリエ変換してスペクトルを算出する手段と；求めたスペクトルが最大になるときの画素数を検出する手段と；該スペクトルが最大になったときの画素数を目盛りの周期として所定位置の位相を算出し、これを内挿値に換算して内挿値を求める手段と；を含むことに特徴を有する。
前記標尺は、前記明暗の帯が鉛直方向に異なる単位長、異なる周期で形成された二列からなり、前記標尺上の目盛り部分を検出する手段は、所定の水平方向検出開始位置において、鉛直方向一列のデータを読込み、単純平均値を求める手段と、求めた一列分の画素データと平均値データを比較して画素データを二値化する手段と、該二値化した画素データから同じレベルの画素データが連続する連続数を順に求める手段と、同レベルで連続する画素データの連続数と他の同レベルで連続する画素データの連続数の差の絶対値を求める手段と、求めた同レベルで連続する画素データ数同士の差の平均値を求める手段と、該差の平均値を所定のしきい値と比較して目盛り部分か否かを判断する手段と、目盛り部分か否かを判断する列を水平方向に１画素以上移動して目盛りの水平方向の辺の両端を検出する手段と、前記連続数の平均値を求め、該平均値が隣り合う列で大きく変化する列間を前記二列の明暗の帯の境界位置と判断する手段とを含む。
前記標尺は水平方向の幅が大小に異なる引出式の標尺を有する箱尺からなり、前記内挿値の演算方法を選択する手段は、前記標尺の目盛り部分の画素データから前記帯の暗の部分を検出する手段と、該検出した暗の部分の水平方向の辺と鉛直方向の辺の比から標尺の何段目かを判断する手段とを含み、該検出した暗の部分の任意の一辺が占有する画素数と、何段目の標尺かにより変化する所定の画素数とを比較し、該占有する画素数が該所定の画素数より大きいか否かで、内挿値の演算方法を選択する。
前記撮像手段の受光面上の所定位置は、視準望遠鏡の十字線の水平ラインおよびアッパ、ロアスタジアラインに相当する位置であり、前記アッパ、ロアスタジアライン間の長さを算出する手段として、前記アッパおよびロアスタジアライン位置の内挿値を前記選択された内挿値の演算方法により算出する手段と、該求めたロアスタジアライン位置の内挿値を１周期の実長さから減算して目盛りの水平方向の辺の上辺位置の内挿値を求める手段と、アッパ、ロアスタジアライン位置間の画素数を、両位置の値から減算して求める手段と、求めた両スタジア間の画素数を前記一周期の画素数で除算し、その整数部分だけを取り出して１周期の実長さを乗算し、内挿値を除いた目盛り部分の長さを求める手段と、前記アッパスタジアライン位置の内挿値と、前記ロアスタジアラインの上辺の内挿値と、前記内挿値を除いた目盛り部分の長さとを加算して両スタジア間の実長さを求める手段とを含む。
アッパ、ロアスタジアライン間の長さ、水平ライン位置の高さを補正する手段として、同一鉛直線上に位置する離反した異なる目盛りの２点の位置を求める手段と、該２点の位置に基づいて鉛直に対する標尺の傾きを算出する手段と、両スタジアライン間の長さおよび水平ライン位置の高さを、前記傾きによる誤差成分を除いた値に補正する手段を含む。
水平距離を自動的に算出する手段として、前記補正した両スタジアライン間の長さにスタジア定数を乗算し、加数を加えて水平距離を算出する手段を備えることができる。
【０００５】
このように測量機において、標尺の読み取り動作を自動化し、さらに記録を自動化することで、個人差や読み違い、転写誤記など、人為的な誤差を防止し、精度を向上させることができる。
【０００６】
【発明の実施の形態】
以下図面に基づいて本発明を説明する。まず、本発明を適用した測量機（デジタルレベル）の実施形態の光学系の概要を、図１を参照して説明する。
【０００７】
このディジタルレベル１０は視準望遠鏡１１として、視準物側から、対物レンズ群（対物光学系）Ｌ１、焦点調節レンズ群（焦点調節光学系）Ｌ２、補償・正立光学素子（補償・正立光学系）Ｌ３、光束分割光学素子（分割光学系）Ｌ４、焦点板１３および接眼レンズ（接眼光学系）Ｌ５を備えている。焦点板１３には十字線（鉛直ラインおよび水平ライン）およびスタジアライン（アッパスタジアラインおよびロアスタジアライン）が設けられている。したがって作業者がこの接眼レンズ群Ｌ５を介してこの視準望遠鏡１１により標尺を視準すると、対物レンズ群Ｌ１および焦点調節レンズ群Ｌ２を介して焦点板１３上に形成されるその標尺の目盛り面の空中像と、焦点板１３に形成された十字線（鉛直ラインおよび水平ライン）およびスタジアライン（アッパスタジアラインおよびロアスタジアライン）とが重なって視認される。作業者は、鉛直ライン、水平ライン、アッパスタジアラインおよびロアスタジアラインが重なった標尺の目盛り面の像を目視し、標尺のパターン、数字、スケールなどを読み取って測量値を得る（図４参照）。なお、補償・正立光学素子Ｌ３としては、例えば吊りコンペンセータ正立プリズムなどが使用される。
【０００８】
このディジタルレベル１０は、対物レンズ群Ｌ１および焦点調節レンズ群Ｌ２によって形成される標尺の目盛り面の像を撮像する撮像手段としてエリアセンサ２１を備えている。光束分割光学素子Ｌ４に入射した光束は、分割面Ｌ４Ｄを透過して接眼レンズＬ５に向かって進む光束と、分割面Ｌ４Ｄで反射されてエリアセンサ２１方向に進む光束とに分割される。エリアセンサ２１方向に分割された光束は、エリアセンサ２１の受光面２１ａ上に入射する。エリアセンサ２１の受光面２１ａは焦点板１３の焦点面と等価位置に配置されているので、標尺の目盛り面に焦点が合っているときは、受光面２１ａに目盛り面の鮮明な像が形成される。
【０００９】
このディジタルレベル１０は、詳細は図示しないが、このエリアセンサ２１で撮像した画像データを利用したコントラスト法によって焦点状態を検出し、焦点調節する自動焦点調節装置を備えている。エリアセンサ２１で撮像した標尺の像のコントラストが最も高くなる合焦位置まで焦点調節レンズ群Ｌ２を移動する構成である。また、自動焦点調節装置は、焦点調節レンズ群Ｌ２を保持して光軸方向に移動するレンズ駆動機構１５、このレンズ駆動機構１５を駆動する動力源としてのモータ１７、および焦点調節レンズ群Ｌ２の位置を検出するエンコーダ１９を備えている。
【００１０】
このディジタルレベル１０のディジタル測量系の主要回路構成について説明する。エリアセンサ２１の受光面２１ａは、焦点板１３と等価な位置に配置されている。つまり、視準望遠鏡１１によって標尺を視準しているときは、その標尺の目盛り面の像がエリアセンサ２１の受光面２１ａに形成される。エリアセンサ２１は、受光面２１ａに形成された像を各受光素子（光電変換素子）によって電気的な画素信号に変換して蓄積し、画素単位で出力する。エリアセンサ２１としては、いわゆるＣＣＤ撮像素子、ＭＯＳ型撮像素子などを使用できるが、本実施の形態では、エリアセンサ２１で撮像した画像が画素単位の画素データとして、画像処理回路２５を介してフレームメモリ（ＲＡＭ）２７にメモリされる。つまり、エリアセンサ２１から出力された画素信号は、Ｓ／Ｈ（サンプルホールド）・Ａ／Ｄ変換回路２３によって二値化（数値化）される。そして二値化された画素信号が、画像処理回路２５を介してフレームメモリ（ＲＡＭ）２７にメモリされる。
【００１１】
フレームメモリ２７に書き込まれた１フレーム分のディジタル画像データは、画素データ単位で画像処理回路２５に読み込まれ、所定の処理が施され、解析手段としてのＣＰＵ３１によって所定の画像解析がなされる。ＣＰＵ３１は、画像解析処理によってエリアセンサ２１が撮像した標尺の目盛り面の画像情報を解析し、識別してレベル、距離を演算する。そしてＣＰＵ３１は、求めたレベルまたは距離に関するデータを表示器３３に表示して作業者に知らせる。また、フレームメモリ２７は、画像解析のためのワークエリアとしても使用されるメモリである。
【００１２】
エリアセンサ２１の撮像動作、例えば不要電荷の掃き出し、電荷の蓄積（撮像）、蓄積電荷の出力（画素信号出力）、Ｓ／Ｈ・Ａ／Ｄ変換回路２３のサンプリングおよびＡ／Ｄ変換動作、画像処理回路２５の動作など一連の動作は、タイミングジェネレータ２９から出力されるクロックパルスに同期して実行される。
【００１３】
ＣＰＵ３１は、測量処理前には、測量に必要な項目、パラメータ等を表示器３３に表示し、自動測量処理を実行したときは測量結果等を表示器３３に表示する。またＣＰＵ３１は、自動焦点調節モードのときは、エリアセンサ２１で撮像した標尺像のコントラストを検出するコントラスト法によって焦点状態を検出し、焦点状態から焦点調節レンズ群Ｌ２を合焦位置に移動するために必要な駆動方向および駆動量を求めてモータドライバ３７を介してモータ１７を駆動し、レンズ駆動機構１５を介して焦点調節レンズ群Ｌ２を合焦位置まで駆動する。
【００１４】
また、焦点調節レンズ群Ｌ２の光軸方向位置は、エンコーダ１９を介して検知される。焦点調節レンズ群Ｌ２の位置と合焦する被写体距離の関係は一義的に決まるので、焦点調節レンズ群Ｌ２の位置を検出できれば、その位置から合焦した被写体までのおよその距離が求まる。
【００１５】
なお、自動測量に必要なパラメータの選択、入力などは、入力手段、例えばキーボード３９により行う。またキーボード３９には、例えばテンキー、ファンクションキー、あるいは専用の操作キーを備えることができる。
【００１６】
メモリ３５には、調整基準値、温度補償係数など通常の測量に必要な補正情報と、標尺の目盛り面のパターン、数字、またはスケールを解析、識別するために必要なデータが、複数の標尺について用意され、書き込まれている。
【００１７】
メモリ３５としては、ＥＥＰＲＯＭ、あるいは着脱可能な不揮発性メモリが適している。ＥＥＰＲＯＭ、フラッシュＲＯＭなどは、電気的に書き換えが可能なメモリで、電源を切ってもその内容を失わず、記憶しておくことが可能なため、プログラムを記憶しておくことの外に、各装置毎に異なる調整値や設定値を記憶しておくのに適している。精密な測定のため、定期的に調整値を変更する必要があるような測量機について有利である。
特にこの装置においては、望遠鏡を覗いたときの水平ラインと撮像手段の受光面上に設定する水平ラインとの関係が重要で、これが一致しなくなった場合は再度調整し、調整値を買い換える必要があるので、上記不揮発性メモリが適している。
【００１８】
また、通常、データを変更する場合には変更するデータをキーボード３９入力等の方法により書き換ればよいが、プログラムのバージョンアップなどの場合は、別途書き換え装置を必要としていた。しかし、プログラムをフラッシュＲＯＭで提供する構成にすれば、最新バージョンのプログラムが書き込まれたフラッシュＲＯＭを用意して交換すればよいので、書き込み装置が不要となり、時間、場所を問わずバージョンアップが可能になるので便利である。
【００１９】
以上のディジタル測量（レベル、距離の自動読み込み処理）は、ディジタル測量開始キーがオン操作されたときにＣＰＵ３１が、作業者が予めキーボード３９を介して選択した標尺、または自動的に判別した標尺に対応するアルゴリズムをメモリ３５から読出して実行する。なお、このレベル、距離の自動読み込み処理を実行する前に、正確な測定を可能にするため、予め自動焦点調節装置によって合焦させておくか、作業者が手動で焦点調節して測定対象に対して合焦させておく。
【００２０】
視準望遠鏡１１の視野５１は、視準望遠鏡１１の視野絞りによって規制され、通常、図２に示すように輪郭が円形になる。この視野５１内に、焦点板１３に設けられた、十字線として鉛直ライン５２および水平ライン５３およびスタジアとしてアッパスタジアライン５４およびロアスタジアライン５５が視認できる。
一方、エリアセンサ２１の有効な受光面２１ａは、視野５１と同領域とする必要はないが、本実施の形態ではアッパスタジアライン５４よりも上方領域およびロアスタジアライン５５より下方領域を含むように設定してある。
【００２１】
この実施形態では、光束分割光学素子（プリズム）Ｌ４を焦点板１３よりも対物レンズ群Ｌ１側に配置してあるので、接眼レンズＬ５から視準望遠鏡１１を覗いた場合、物体側の像の上に十字線（ライン５２、５３、５４、５５）が重なって見え、エリアセンサ２１の受光面２１ａに物体側の像は形成されるが、ライン５２、５３、５４、５５の像は形成されない。また、物体側の像の上に重なるライン５２、５３、５４、５５の像の位置は、観測する対象が変わっても視野の中で常に同じ位置になる。そこで、予めライン５２、５３、５４、５５の像に相当するエリアセンサ２１上の位置（座標）を求めてメモリ３５に記憶させておく。ここで、ライン５２、５３、５４、５５の像の位置はエリアセンサ２１上の画素アドレスとして記憶させるが、ライン５２、５３、５４、５５の像は必ずしも受光素子上に重なる訳ではないので、ライン５２、５３、５４、５５の像位置は、画素アドレスとともにその内挿値を求め、その内挿値もメモリ３５に記憶させておく。
【００２２】
また、エリアセンサ２１の傾きを考慮して、１本のライン５２、５３、５４、５５に対して少なくとも離反した２点のアドレスを求める。その求め方は、例えば十字線のチャートを用意し、これを視準望遠鏡１１を通して視準し、ライン５２、５３と十字線とを一致させる。このとき、エリアセンサ２１上に形成された十字線の画像データから、線の部分のピークを検出し、そのアドレス（鉛直方向の位置および水平方向の位置）を算出する。ただし、このときの十字線チャートが水平および鉛直の基準となるので、チャート位置の設定および調整は正確に行い、鉛直、水平ライン５２、５３はこれに合わせて可及的正確に調整するようにする。
【００２３】
次に、このディジタルレベル１０によって自動認識可能な、測量に広く使用されている汎用のスタッフ（標尺）の構成について説明する。汎用標尺（スタッフ）にもいろいろな種類（等級、材質）、いろいろな表示（文字列、パターン、スケール）のものがあるが、一例として最も汎用的な簡易水準用の標尺１０１の構成について説明する。標尺１０１は最高５mまで測量可能なアルミ製の３段引出し式の箱尺であって、最下段の幅が５５mm、中間の段の幅が４５mm、最上段の最も幅狭段の幅が４０mmである。
【００２４】
図２には、視準望遠鏡１１の視野５１において観測される標尺１０１の目盛り面（表示面）の様子を示してある。この標尺１０１の目盛り表示は、遠距離用パターン１０２、遠距離用の大きな文字列１０３、近距離用の小さな文字列１０４及び１０mmピッチの目盛りとしてのピッチスケール１０５からなる。なお、通常、標尺１０１の目盛り面の地色は白色、遠距離用パターン１０２、文字列１０３、１０４、ピッチスケール１０５は黒色または赤色である。
【００２５】
大きな文字列１０３の各数字の文字高は５０mmであり、小さな文字列１０４の各数字の文字高は６mmである。文字列１０３、１０４の各数字の上辺とピッチスケール１０５の目盛り（黒帯）の上辺とは、標尺１０１が鉛直に設置されたときに同一水平線上に位置するように設定されていて、各数字の上辺よりも上方がその数字で示された高さになる。
【００２６】
遠距離用パターン１０２は、大きな文字列１０３の各数字の上部に付された黒丸であって、黒丸１個は１×１０００mm（１m）台であることを示している。例えば図２において、黒丸３個は３×１０００mm（３m）台であることを表示し、黒丸２個は２×１０００mm台であることを表示している。大きな文字列１０３は１桁の数字で構成され、単位は１００mm（１０cm）である。例えば図２の大きな文字列１０３の数字「２」は２×１００＝２００mm台であることを示している。図２の場合、大きな文字列１０３の文字「２」の上部に遠距離用パターン１０２として黒丸３個が付されているので、この大きな文字列１０３の数字２は３０００＋２００＝３２００mm台を示していることが分かる。
【００２７】
小さな文字列１０４は３桁の数字で示され、最小単位（下一桁目）は１cm（１０mmであり、二桁目は１０cm台、三桁目は１００cm台を表示している。例えば、図２において小さな文字列１０４の３桁の数字「３２３」は３２３×１０＝３２３０mm、３２３cm、または３m２３cmであることを示している。
【００２８】
１０mmピッチスケール１０５は、二列で構成されていて、左の５ミリ列Ｓ１は５mm単位で形成された、１０mm周期の明暗の帯の繰り返しであり、右の１０ミリ列Ｓ１は１０mm単位で形成された、２０mm周期の明暗の帯の繰り返しである。なお、目視による測量の場合、通常、近距離においてはピッチスケール１０５の白または黒帯の幅５mmの１／５、すなわち１mmまで読み取るが、本発明の実施の形態の自動読み取り処理によれば、所定の端数演算によって、１mmより小さい値を読み取ることができる。
【００２９】
また、目視による水準測量の場合、作業者は、視準望遠鏡１１の視野において、レベル（水準高さ）は水平ライン５３が重なる標尺１０１の目盛り面の遠距離用パターン１０２、文字列１０３、１０４の数字およびピッチスケール１０５から読み取り、所定の数式に代入して演算する。距離は、上下のスタジアライン５４、５５が重なる標尺１０１の目盛り面の遠距離用パターン１０２、文字列１０３、１０４の数字およびピッチスケール１０５を読み取ってスタジアライン５４、５５間の長さを求め、求めた長さを所定の数式に代入して演算する。なお、図において符号５２は十字線の鉛直ラインであり、鉛直ライン５２と水平ライン５３の交点を視準望遠鏡１１の視準軸（光軸）Ｏが通る。
【００３０】
このディジタルレベル１０を使用した、本実施の形態における目盛り自動読み取り測量処理について、図３〜図７を参照して説明する。図３は、このデジタルレベル１０の目盛り自動読み取り処理と、それをスタジア測量に適用した場合の流れを示すものである。理解を容易にするため、汎用標尺として、標尺１０１を使用するものとする。
【００３１】
この目盛り自動読み取り処理は、作業者等により起動スイッチが押されたときに、ＣＰＵ３１がメモリ３５に格納されたプログラムを読み込んで実行する処理である。ＣＰＵ３１は、ディジタルレベル１０の全般を統括的に制御し、目盛り自動読み取り処理を実行する制御手段、演算手段としての機能や、エリアセンサ２１を駆動して目盛り面の画素データを取り込む手段等としての機能を有し、画像処理回路２５は、画素信号、画素データを処理する手段等として機能する。目盛り自動読み取り処理に入る前に、作業者は視準望遠鏡１１によって標尺１０１を視準し、焦点調節レンズ群Ｌ２を駆動して標尺１０１に合焦させる。そして、ＣＰＵ３１は、エリアセンサ２１を動作させて撮像した１フレーム分の画像データ（画素データ）をフレームメモリ２７に書き込む。ここで画像データは、エリアセンサ２１の各画素に入射する明るさに比例する画素出力を二値化して数値に変換した値であり、ＣＰＵ３１は、視準望遠鏡１１の視野と一致した画像を１画面分（１フレーム分）取り込み、フレームメモリ２７に書き込む。
【００３２】
目盛り自動読み取り処理は、エリアセンサ２１の受光面２１ａ上の像、および鉛直ライン５２、水平ライン５３およびアッパ、ロアスタジアライン５４、５５の仮想像の画素位置、座標に基づいている。
【００３３】
目盛り自動読み取り処理では、撮像した画像データを使用して、先ず使用標尺の判別をし（Ｓ１１）、判別した標尺に応じて目盛り部分を検出し（Ｓ１２）、標尺の目盛り面の像に基づいて内挿値演算方法の判別をする（Ｓ１３）。本実施の形態では、遠距離の場合はフーリエ変換による内挿値演算処理を選択し、実行する（Ｓ１４）、近距離の場合はエリアセンサのピクセル（画素）数による内挿値演算処理を選択し、実行する（Ｓ１５）。次に、スタジア間隔を算出し（Ｓ１６）、標尺の傾き補正処理を実行し（Ｓ１７）、水平距離を算出する（Ｓ１８）。各ステップＳの処理についいて、より詳細に説明する。
【００３４】
Ｓ１１：使用する標尺の判別
測量に使用する標尺の種類によって目盛り面の態様が違うので、まず、どの種類の標尺が使用されているかを、画像データを取り込んで判断する。
【００３５】
（1-1）  使用する標尺の指定された位置の画像データを取り込む。
標尺の種別を自動判断する場合は、作業者は、視準望遠鏡１１の視野を、使用する標尺のある点またはある範囲に鉛直ライン５２および水平ライン５３の交点（十字線の中心）を合わせ、合焦させる。この状態で、エリアセンサ２１に撮像処理を実行させて、少なくとも１フレーム分の画像データを画素単位の画素データとしてフレームメモリ２７に書き込む。
【００３６】
（1-2）  ＣＰＵ３１は、取り込んだ標尺のデータから標尺の特徴部分を検出して使用している標尺の種別を判別する。例えば、所定の文字（数字）を中心に画像データを取り込み、その文字の字体または外形、目盛り線の形状、配置態様、目盛り文字の配置の関係などで判別する。
【００３７】
（1-3）  判別した標尺の結果から、その標尺に対応したアルゴリズムを選択して、読み取り処理を実行する。つまり、各種の標尺毎にその標尺に対応するアルゴリズムを設定しておいて、このアルゴリズムを、使用する標尺に応じて自動選択または作業者の選択操作を受けて実行できるようにする。
【００３８】
（1-4）  （1-1）、（1-2）の処理に替えて、作業者が使用する標尺に対応したアルゴリズムを選択する構成とし、ＣＰＵ３１にその選択したアルゴリムに基づいて読み取り処理を実行させてもよい。
【００３９】
ＣＰＵ３１は、以上の（1-1）〜（1-3）の処理によって使用する標尺の種別を判別して決定し、その標尺の情報、その標尺に応じたアルゴリズム、プログラムをメモリ３５から読み込んで処理可能な待機状態となる。
【００４０】
なお、標尺の目盛りは標尺の種類によって、大きさ、形状、配置等が異なるが、標尺の種類毎に大きさ、形状、配置等のデータをパラメータデータとして、またはアルゴリズムをメモリ３５に記憶しておくことで、使用する標尺に対応したアルゴリズム、データを選択して測定処理が可能になる。Ｓ１１の処理は基本的には測量前に使用する標尺を設定し、以降同じ標尺を使用し続けるのであれば再度設定する必要はないが、設定されている標尺と使用している標尺が一致しているかどうかは毎回確認する必要がある。
測定前に使用する標尺の設定が行われていない場合は判別の処理を行い、
測定前に使用する標尺の設定が行われている場合は設定されている標尺と使用している標尺とが一致しているか確認を行い、一致しているときは、その標尺に対応したアルゴリズムを実行し、一致していないときは、判別の処理を行うようにする。
【００４１】
次に、実際の測量時に処理について説明する。
Ｓ１２：標尺上の目盛り部分の検出。
Ｓ１１の処理を測量前に実行していて、視準した標尺の画像データを取り込んでいない場合は、作業者は視準望遠鏡１１によって標尺を視準し、標尺に合焦させる。この状態でエリアセンサ２１に撮像処理を実行させて、少なくとも１フレーム分の画像データを画素単位の画素データとしてフレームメモリ２７に書き込む。そしてフレームメモリ２７に書き込んだ画素データを利用して、以下の目盛り部分の検出処理を実行する。撮像した標尺１０１の画像を図４の（Ａ）に示した。この画像では、標尺１０１の像の左右に背景の像が形成されている。通常、背景は標尺１０１よりも遠距離に位置する。
【００４２】
（2-1）  所定の水平方向検出開始位置において鉛直方向一列の画素データを読み込み、単純平均値を求める。水平方向検出開始位置は、通常の視準測量にあっては、視準望遠鏡において標尺を視準する場合、通常は十字線の交点を標尺の水平方向中心の目盛りに一致させるので、この標尺の中心位置が水平方向検出開始位置に相当する。ただし、標尺によっては目盛り部分が標尺の中心付近に位置しない場合もあるので、そのような場合は中心から左右にずらした位置を水平方向検出開始位置とする。
使用する画素データは、標尺によって決定されている水平方向検出開始位置の鉛直方向全データ、もしくは一部のデータのみを使用して行う。
ただし、標尺の上端付近で測定を行う場合、水平ラインより上に出る分が無くなる可能性があるので、この場合は水平ラインより下の画素データのみ使用する。
【００４３】
なお、モノクロエリアセンサの場合は画素一列分、カラーエリアセンサの場合は画素二列分のデータを読み込む。ただし、カラーエリアセンサで特定の色成分だけを使用して検出する場合は一列分でよい。例えばカラーエリアセンサがＲ、Ｇ、Ｂの原色フィルタを備えていて、かつＧ成分だけを使用する場合はＧフィルタが装着された画素列の画素データのみを使用する。
【００４４】
（2-2）  求めた一列分の画素データの平均値と各画素データを一つずつ所定のしきい値と比較して、各画素データを二値化する。これにより、明暗の画素データが得られる。
【００４５】
（2-3）  二値化した画素データから同レベルの画素データが連続する連続数を順に求める。
図４の（Ｂ）の領域では、下から順に白レベル；５、黒レベル；５、白レベル；５、黒レベル；６、白レベル；５、・・・である。
図４の（Ｃ）の領域では、下から順に、白レベル；３、黒レベル；３、白レベル；４、黒レベル；３、白レベル；２、黒レベル；５、白レベル；５、黒レベル；２、白レベル；２、・・・である。
【００４６】
（2-4）  同レベル（白または黒レベル）で連続する画素データの連続数と、他の同レベルで連続する画素データの連続数と（白レベルは白レベルと、黒レベルは黒レベルと）の差の絶対値を求める。
図４の（Ｂ）の領域では、白−白＝０、黒−黒＝１、白−白＝０である。
図４の（Ｃ）の領域では、白−白＝１、黒−黒＝０、白−白＝３、黒−黒＝２、白−白＝４、黒−黒＝３、白−白＝３である。
【００４７】
（2-5）  求めた同レベルで連続する画素データ数同士の差の平均値を求める。
図４（Ｂ）の領域では0.33、図４（Ｃ）の領域では2.28、になる。
【００４８】
（2-6）  （2-5）で求めた差の平均値が所定のしきい値以下の場合は、その列を目盛り部分と判断する。逆に、差の平均値が所定のしきい値以下でない場合は、その列を目盛り部分ではないと判断する。
ここで、例えば所定のしきい値を１とすると、図４（Ｂ）はしきい値よりも小さいので目盛り部分と判断し、図４（Ｃ）はしきい値よりも大きいので目盛り部分ではないと判断する。
【００４９】
（2-7）  目盛り部分と判断したときは、そこから左または右に１画素分または２画素分以上解析する列を移動して（2-1）から（2-6）の処理を実行する処理を、目盛りでは無いと判断する列を検出するまで繰り返す。
また、１回目の検出結果から目盛り部分で無いと判断した場合は、目盛り部分を検出するまで、（2-1）から（2-6）の処理を、左または右に１画素分または２画素分以上移動しながら繰り返す。
【００５０】
（2-8）  （2-3）で求めた同レベルの画素データが連続する数の一列当たりの平均値を求め、それが隣り合う列で大きく変化する列間を、ピッチスケール１０５の５ミリ目盛りＳ１と１０ミリ目盛りＳ２の境界とする（図２）。
【００５１】
周期性を見つける場合、一列の画素データについてフーリエ変換を実行し、ピーク値の有無を検出することも可能であるが、フーリエ変換の多くは積和演算を行うので、処理時間が長くなってしまう。
これに対して本実施形態の方法によると、画素データ数のカウントと減算、平均値の算出程度の簡単な処理、演算で周期性を見つけられるので、検出時間を短縮できる。
【００５２】
Ｓ１３：目盛りの任意の像の一辺当たりに含まれる画素数から内挿値の演算方法を選択する。本実施の形態では、二種類の内挿値演算方法から一つを選択する。
標尺の実物における目盛り部分の鉛直方向の周期は５ミリ目盛りＳ１が１０mm、１０ミリ目盛りＳ２が２０mmという固定値である。それに対して、目盛りの水平方向の長さは段によって異なるので、同じ鉛直方向と水平方向の辺の長さの比を求めても、何段目かによって値が変化する。ただし、同じ段から求めた比は測定する距離に関わらず、ほぼ一定の値になる。すなわち、水平方向と鉛直方向の比を求め、理想の値から求めた値と比較し、どの値に一番近いか判別することで、何段目の目盛りか判断することができる。
【００５３】
（3-1）  Ｓ１２の処理で求めた目盛りの部分から黒レベル（黒）部分（図６）を検出し、黒レベル部分の水平辺（Ｈ１〜Ｈ３のいずれか）と鉛直辺（Ｖ１〜Ｖ４のいずれか）が占有する画素数の比を求めて何段目であるかを判断する。
【００５４】
（3-2）  黒い部分の任意の一辺（Ｈ１〜Ｈ３、Ｖ１〜Ｖ４のいずれか）が占有する画素数と、何段目であるかという情報に基づいて、どの内挿値演算方法を使用するかを判断する。本実施形態では、一辺当たりに含まれる画素数の多少に応じて二つの内挿値演算方法を設定し、使用する。
【００５５】
この方法によれば、目盛りの黒部分（暗部分）の２辺の長さを識別できる状態であれば、部分的に目盛りが欠損して黒の画素データが不連続になっている場合でも内挿値の演算方法を判別できる。
【００５６】
Ｓ１３の処理で求めた辺の長さ、本実施形態では鉛直方向の辺の長さに応じて、内挿方法を分ける。
【００５７】
Ｓ１４：  辺の長さが所定値未満（辺が占める画素数が所定値未満の）場合
フーリエ変換で目盛り部分の正確な周期を求め、求める位置の位相から内挿値を演算する。以下より詳細に説明する。
（4-1）  目盛りの黒部分と白部分データ１周期分に含まれる画素数を複数箇所で求め、それらの平均値を算出する。
（4-2）求めた画素数を１周期の大きさとし、10ｍｍ周期の目盛り部分Ｓ１のデータを１０周期分を用いてフーリエ変換を行い、その周期のスペクトルを算出する。
ある波形にどのような周波数(周期)が多く含まれているかを知る手段としてスペクトル特性があり、１０周期程度のデータを使用してフーリエ変換を行い、そのスペクトルを求めていくと、最も多く含まれている周期部分にピークが現れる。本実施例の場合１０mmに相当する画素数を周期とする部分にピークが見つかる。そのスペクトルがピークとなるときの周期がその波形の正確な周期となる。
【００５８】
（4-3）  (4-2)の周期(画素数)を１％大きくし、そのときのスペクトルを求め、前のスペクトルと比較し、大きいときは周期を２％大きくしてスペクトルを求める。
逆に前のスペクトルより小さいときは周期を１％小さくしてスペクトルを求める。
このようにして、順に周期を変化させてスペクトルを求めていくと、ある周期のときにスペクトルが最大になり、その後は再び減少してくる。スペクトルが最大になったときの周期が正確な周期となる。
（4-4）  求めた周期に対して、水平ラインの位置の位相を算出し、この位相を内挿値に換算する。
（4-5）  エリアセンサ２１としてカラーエリアセンサ（原色フィルター、補色フィルター）を用いた場合は、特定の一色、または各色成分ごとに4-1〜4-4の処理を実行し、各結果を平均化して水平ライン５３位置の内挿値を求める。
【００５９】
Ｓ１５：  辺の長さが所定値以上（辺が占める画素数が所定値以上の）場合
この場合は画素数を利用するだけでも十分な解像度が得られるので、ピッチスケール１０５の目盛り１周期分の画素数に基づく比率から内挿値を演算する。
（5-1）  目盛り１周期に含まれる画素数をカウントする。
（5-2）  エリアセンサ２１上の水平ライン５３の像位置から鉛直方向で最も近い目盛りの黒部分の像の下端までの画素数をカウントする。
（5-3）  （5-1）、（5-2）のカウント値の比から水平ライン５３位置の内挿値を演算する。
【００６０】
距離が遠くなると、目盛り一周期あたりの画素データ数が少なくなるが、周期データは多数とれるようになるので、本実施形態はＳ１４のフーリエ変換によって周期を正確に求め、精度の高い測定を可能にした。
距離が近くなると、目盛り一周期あたりの画素データ数が多くなるが、フーリエ変換に使用する周期データが必要な周期分取れなくなる場合や、さらに使用するデータ数が増えて演算に長時間要する場合があるが、本実施形態では、Ｓ１５のカウントと除算処理のみで内挿値を求めることができるので、得られる周期が少なくても処理可能であり、処理時間の短縮もできる。
【００６１】
以上のＳ１１〜Ｓ１５の処理によって、エリアセンサ２１の受光面２１ａに形成された標尺１０１のピッチスケール１０５の像の鉛直方向の周期および内挿値を正確に求めることができる。以下の処理は、この鉛直方向の周期性とそれによる内挿値演算（目盛りの読み取り）を利用した実際の測量方法である。
【００６２】
Ｓ１６：スタジア（ライン）間隔の算出
（6-1）  エリアセンサ２１の受光面２１ａ上のピッチスケール１０５の像は、Ｓ１４で求めた周期と仮定して、アッパ、ロアスタジアライン５４、５５の像位置の位相をそれぞれ算出し、これらを内挿値に換算する。
（6-2）  ロアスタジアライン５５の像位置の内挿値を基準数、例えば画素ピッチの１／１０まで求めるときは１０、から減算して目盛りの上側（目盛りの上辺から）の内挿値を求める。
（6-3）アッパ、ロアスタジアライン５４、５５の像の位置間に含まれる画素数を、両位置の値（画素数と内挿値）を減算して求める。
（6-4）  アッパ、ロアスタジアライン５４、５５の像間に含まれる画素数を前記１周期の画素数で除算し、その商の整数部分だけを取り出してその整数を１０倍し、アッパ、ロアスタジアライン５４、５５間の目盛りを端数を除いた画素数として求める。
（6-5）  アッパスタジアライン５４の像位置の内挿値、アッパ、ロアスタジアライン５４、５５の像位置間の目盛り、およびロアスタジアライン５５の像位置よりも上側の内挿値を全て加算してエリアセンサ２１上におけるスタジア間隔に相当する画素数を求める。
（6-6）  （6-5）に替えて、（6-4）の結果である整数部及び小数部も含む値に１０をかけた積を、そのままスタジア間隔値とする。
【００６３】
実際は、アッパ、ロアスタジアライン５４、５５の像位置でフーリエ変換を実行し、再度周期を求める方が精度的には高いが、処理時間が短縮され、精度的にも十分な結果が得られるので、基準位置で求めた周期をそのまま利用している。
さらに、スタジアライン間の画素数を単純に１周期当たりの画素数で割れば簡単に素早く結果は求まる。ただし、この場合、スタジアラインの像位置の詳細な値は考慮されずに計算される。また、近距離の場合は１画素（画素ピッチ）に相当する標尺上の長さは短いので誤差は小さいが、遠距離の場合は誤差が大きくなってこの方法は使用できない。そこで、誤差の少ない近距離では簡易に、遠距離ではフーリエ変換方法をとることもできる。
【００６４】
Ｓ１７  水平方向の傾き補正
標尺は、高精度に鉛直に立てられることが望ましいが、鉛直から傾いている場合でも、正確な測量ができる水平方向の傾き補正方法の実施形態について、図７を参照して説明する。
（7-1）  まず、目盛りの像において、標尺１０１の鉛直方向同一線上の異なる２点のエリアセンサ２１上の位置を求める。こここで、異なる２点は、標尺１０１上の目盛りが並ぶ鉛直方向と平行な線の情報を得るための点であり、可及的に離反した点が望ましい。この異なる２点を決定する決定する方法としては、例えばエリアセンサ２１上に形成された標尺の目盛り部分の内、最も上部に位置する目盛りの黒い部分の左下端と（図６）、最も下部に位置する目盛りの黒い部分の左下端とのそれぞれのアドレスを求めればよい。
【００６５】
（7-2）  その２点を結ぶ線と鉛直（鉛直ライン５３の像）との傾きθを求める。
２点の座標をそれぞれ（Ｈ１，Ｖ１）、（Ｈ２，Ｖ２）とすると、傾きθは下記式、
θ＝ｔａｎ−1（（Ｈ１−Ｈ２／｜Ｖ１−Ｖ２｜）
により算出できる。
【００６６】
（7-3）  標尺の読み値（水平ライン５３と標尺の水平方向中心との交点の読み値）をＲＨ、標尺底面の水平方向の長さ（標尺の幅）を２ｄとすると、補正した標尺の読み値Ｈを下記式、
Ｈ＝ＲＨ×cosθ＋ｄ×sinθ
により算出する。
なお、標尺の幅は標尺の種別によって異なるが、既知の値なので、予め標尺データとしてメモリ３５に格納しておく。そして、Ｓ１１の標尺判別処理において判別し、選択した標尺に対応する標尺データに含まれている。
【００６７】
（7-4）  スタジア間隔をＳＨとすると、これらは傾きθ分を補正すればよいだけなので、補正値Δｓを式、
Δｓ＝ＳＨ×cosθ
により算出する。
【００６８】
以上のＳ１７の処理（(7-1)〜(7-4)）によって、鉛直方向からの傾き、横方向の倒れによる誤差を取り除くことができる。
【００６９】
Ｓ１８：水平距離の算出
スタジア測量方法によって、水平距離を算出する。
（8-1）  目盛りの像１周期当たりに含まれる画素数を基に、スタジア乗数、加数を補正する。
（8-2）  Ｓ１７で求めたスタジア間隔に、補正したスタジア乗数を掛けて、その積に加数を加えて水平距離を算出する。
【００７０】
なお、スタジア測量によって測距した距離またはエンコーダ１９で検出した焦点調節レンズ群Ｌ２の位置に応じて、対物レンズ群Ｌ１および焦点調節レンズ群Ｌ２の焦点距離、主点間隔を補正することで、通常の測定でスタジア間を目測して乗数をかけた場合に比してさらに精度が向上する。なお、焦点調節レンズ群Ｌ２は、モータの動力を減速ギヤ列を介して伝達して移動される。この減速ギヤ列の一部にモータの回転数をカウントするエンコーダが取り付けられていて、エンコーダのカウント数から焦点調節レンズ群Ｌ２の位置を検出できる。
【００７１】
以上の通り本実施の形態によれば、汎用標尺を使用して自動レベル測量、スタジア測量ができるので、人為的な誤差を生じることなく、安定した高精度の測量が可能になる。しかも、測量、演算処理を自動化し、結果をデータとして容易に扱うことが可能になったので、結果を表示器に表示し、記憶手段に記憶する、プリンタで印刷する、転送する、などの処理が容易になった。
【００７２】
【発明の効果】
以上の説明から明らかな通り本発明は、使用する標尺を判別する段階と、標尺上の目盛り部分を検出する段階と、該検出した目盛り部分から標尺の目盛り像の辺の長さを求め、内挿値を演算する方法を選択する段階と、選択された内挿値演算方法によって、撮像手段の受光面上の所定位置における目盛りを求める段階を有するので、望遠鏡で視準した標尺の目盛りを標尺を識別して自動読み込み可能になり、人為的な誤差がなく、しかも高精度な測量が可能になる。
【図面の簡単な説明】
【図１】  本発明を適用した測量機の実施形態の概要を示すブロック図である。
【図２】  同測量機の視準視野と標尺との関係の一例を示す図である。
【図３】  同測量機の処理の概要をフローチャートで示す図である。
【図４】  図測量機で撮像した標尺の目盛りの様子を説明する図であって、（Ａ）はエリアセンサ上の画像を示す図、（Ｂ）は同目盛り部分の拡大図、（Ｃ）は同背景部分の拡大図である。
【図５】  同測量機の撮像手段で撮像した標尺の目盛りの様子を示すである。
【図６】  同撮像した標尺の目盛り部分の拡大図である。
【図７】  同標尺の傾斜を補正する原理を説明する図である。
【符号の説明】
１０  ディジタルレベル
１１  視準望遠鏡
１３  焦点板
１５  レンズ駆動機構
１７  モータ
１９  エンコーダ
２１  エリアセンサ
２３  Ｓ／Ｈ・Ａ／Ｄ変換回路
２５  画像処理回路
２７  フレームメモリ（ＲＡＭ）
２９  タイミングジェネレータ
３１  ＣＰＵ
３３  表示器
３５  メモリ（メモリ手段）
３７  モータドライバ
５１  視野
５２  鉛直ライン
５３  水平ライン
５４  アッパスタジアライン
５５  ロアスタジアライン
１０１  標尺
１０２  遠距離用パターン
１０３  大きな文字列
１０４  小さな文字列
１０５  ピッチスケール（目盛り）
【図１】
0004717278.tif 000002
【図２】
0004717278.tif 000003
【図３】
0004717278.tif 000004
【図４】
0004717278.tif 000005
【図５】
0004717278.tif 000006
【図６】
0004717278.tif 000007
【図７】
0004717278.tif 000008