関連出願の相互参照
本願は、出願番号が201410225638.5で、出願日が2014年5月26日である中国特許出願に基づき優先権を主張し、当該中国特許出願のすべての内容を本願に援用する。
本発明はコンピュータの技術分野に関し、特に角度測定方法、装置及び端末に関する。
端末技術の発展につれて、端末が備えた機能はますます多くなっている。例えば、端末に水平器APP(APPlication、アプリケーション)をインストールして、水平器APPで端末が水平であるか否かを検出することができる。
従来の技術では、水平器APPで端末と水平面との間の角度を測定する場合、端末はインストールされた水平器APPを起動し、端末の表示インタフェースに水平器APPで提供された測定インタフェースを表示し、例えば、該測定インタフェースは、容器内に入れた液体及び気泡を含み、端末を回動する過程では、気泡を端末と共に回動するように保持し、気泡が容器の中間位置にある場合、端末と水平面との間の角度が0であると確定される。
発明者は、本発明を実現する過程で、従来の技術において少なくとも、水平器APPで端末が水平であるか否かだけを測定できるので、端末の角度測定機能が単一になるという欠陥があると発見した。
本発明は、従来の技術における問題を解決するために、角度測定方法、装置及び端末を提供する。
本発明の実施例の第1の形態によれば、端末の表示インタフェースに、水平基準線と、前記表示インタフェースと相対的静止でありかつ前記水平基準線とで確定された平面が前記表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示するステップと、前記端末を回動して前記物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算するステップと、前記エッジが前記測定線と平行になる場合に得られた前記角度を前記物体と水平面との間の角度として確定するステップと、を含む角度測定方法を提供する。
好ましくは、前記端末の表示インタフェースに水平基準線と測定線とカメラが現在撮像している物体とを表示するステップは、前記端末が傾斜状態にあるか否かを検出するステップと、前記端末が傾斜状態にあると検出した場合、前記カメラを起動し、前記端末に前記水平基準線と前記測定線と前記カメラが現在撮像している物体とを表示するステップと、を含む。
好ましくは、前記端末が傾斜状態にあるか否かを検出するステップは、前記端末と水平面との間の傾斜角度を測定するステップと、前記傾斜角度が予め設定された角度範囲に属するか否かを検出するステップと、前記傾斜角度が前記角度範囲に属すると検出した場合、前記端末が傾斜状態にあると確定するステップと、を含む。
好ましくは、前記端末を回動して前記物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算するステップは、初期時刻で前記測定線が前記水平基準線と平行であるか又は重なり合う場合、前記測定線の前記水平基準線に対する回動角度を測定し、前記回動角度を前記測定線と前記水平基準線との間の角度として確定するステップと、初期時刻で前記測定線と前記水平基準線との間に初期角度が存在する場合、前記測定線の前記水平基準線に対する回動角度を測定し、前記回動角度から前記初期角度を引いた角度差分値を計算し、前記角度差分値を前記測定線と前記水平基準線との間の角度として確定するステップと、を含む。
好ましくは、前記方法は、さらに、前記カメラが他の物体をも撮像した場合、前記端末を回動して前記他の物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算するステップと、前記他の物体のエッジが前記測定線と平行になる場合に得られた前記角度を前記他の物体と前記水平面との間の角度として確定するステップと、前記物体と前記水平面との間の角度から前記他の物体と前記水平面との間の角度を引いた差分値を計算するステップと、前記差分値の絶対値を前記物体と前記他の物体との間の角度として確定するステップと、を含む。
本発明の実施例の第2の形態によれば、端末の表示インタフェースに、水平基準線と、前記表示インタフェースと相対的静止でありかつ前記水平基準線とで確定された平面が前記表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示する表示モジュールと、前記端末を回動して前記物体のエッジを前記表示モジュールに表示された前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算する第1の計算モジュールと、前記エッジが前記測定線と平行になる場合に前記第1の計算モジュールで得られた前記角度を前記物体と水平面との間の角度として確定する第1の確定モジュールと、を含む角度測定装置を提供する。
好ましくは、前記表示モジュールは、前記端末が傾斜状態にあるか否かを検出する検出手段と、前記検出手段が前記端末が傾斜状態にあると検出した場合、前記カメラを起動し、前記端末に前記水平基準線と前記測定線と前記カメラが現在撮像している物体とを表示する表示手段と、を含む。
好ましくは、前記検出手段は、前記端末と水平面との間の傾斜角度を測定する測定サブ手段と、前記測定サブ手段で測定された前記傾斜角度が予め設定された角度範囲に属するか否かを検出する検出サブ手段と、前記検出サブ手段が前記傾斜角度が前記角度範囲に属すると検出した場合、前記端末が傾斜状態にあると確定する確定サブ手段と、を含む。
好ましくは、前記第1の計算モジュールは、初期時刻で前記測定線が前記水平基準線と平行であるか又は重なり合う場合、前記測定線の前記水平基準線に対する回動角度を測定し、前記回動角度を前記測定線と前記水平基準線との間の角度として確定する第1の計算手段と、初期時刻で前記測定線と前記水平基準線との間に初期角度が存在する場合、前記測定線の前記水平基準線に対する回動角度を測定し、前記回動角度から前記初期角度を引いた角度差分値を計算し、前記角度差分値を前記測定線と前記水平基準線との間の角度として確定する第2の計算手段と、を含む。
好ましくは、前記装置は、さらに、前記カメラが他の物体をも撮像した場合、前記端末を回動して前記他の物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算する第2の計算モジュールと、前記他の物体のエッジが前記測定線と平行になる場合に前記第2の計算モジュールで得られた前記角度を前記他の物体と前記水平面との間の角度として確定する第2の確定モジュールと、前記第1の確定モジュールで確定された前記物体と前記水平面との間の角度から前記第2の確定モジュールで確定された前記他の物体と前記水平面との間の角度を引いた差分値を計算する第3の計算モジュールと、前記第3の計算モジュールで得られた前記差分値の絶対値を前記物体と前記他の物体との間の角度として確定する第3の確定モジュールと、を含む。
本発明の実施例の第3の形態によれば、プロセッサと、プロセッサが実行可能な指令を記憶するメモリとを含み、前記プロセッサは、端末の表示インタフェースに、水平基準線と、前記表示インタフェースと相対的静止でありかつ前記水平基準線とで確定された平面が前記表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、前記端末を回動して前記物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算し、前記エッジが前記測定線と平行になる場合に得られた前記角度を前記物体と水平面との間の角度として確定するように配置される、端末を提供する。
本発明の実施例が提供する技術手段は以下の有益な効果を有する。
即ち、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
以上の一般的な説明及び後述の詳細な説明は、例示的なものに過ぎず、本発明を限定するものではないことを理解すべきである。
ここで、図面は明細書に組み込んで本明細書の一部とし、本発明に合致する実施例を示すとともに、明細書とともに本発明の原理を説明する。
図1Aは、一つの例示的実施例に示される角度測定方法のフローチャートである。
図1Bは、本実施例に示される第1種の水平基準線及び測定線の概念図である。
図1Cは、本実施例に示される第2種の水平基準線及び測定線の概念図である。
図2Aは、他の例示的実施例に示される角度測定方法のフローチャートである。
図2Bは、本実施例に示される第3種の水平基準線及び測定線の概念図である。
図2Cは、本実施例に示される角度測定の適用図である。
図3は、一つの例示的実施例に示される角度測定装置のブロック図である。
図4は、一つの例示的実施例に示される角度測定装置のブロック図である。
図5は、一つの例示的実施例に示される角度測定装置のブロック図である。
ここで、例示的実施例を詳しく説明し、その実施例は図面に示される。以下の説明は図面に係る場合、特別に示されない限り、異なる図面における同じ符号は同じ又は共通する要素を示す。本発明に合致するすべての実施の形態は、以下の例示的実施例で記述される実施の形態に限られない。逆に、以下の例示的実施例で記述される実施の形態は、特許請求の範囲に詳しく記述される、本発明のいくつかの形態に合致する装置及び方法の実例に過ぎない。
図1Aは、一つの例示的実施例に示される角度測定方法のフローチャートであり、図1Aに示すように、角度測定方法は、カメラを含む端末に適用することができるが、これに限られない。この方法は以下のステップを含む。
ステップ101では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示する。
水平基準線は、水平方向を指示する基準線であり、終始に水平を維持する。測定線は、物体と水平面との間の角度を測定し、端末とともに回動し、即ち、測定線は、表示インタフェースと相対的静止である。
図1Bは、本実施例に示される第1種の水平基準線及び測定線の概念図であり、図1Bでは、測定線は、端末の長さ方向と平行である。端末の長さ方向が水平面と平行でありかつ測定線が端末の長さ方向と平行であるので、測定線は水平基準線と平行である。ただし、本実施例では、端末の水平方向の辺を端末の長さ方向として確定し、例えば、図1B(1)は、携帯電話のような閲覧方向が縦方向である表示インタフェースであり、図1B(2)は、タブレットPCのような閲覧方向が横方向である表示インタフェースである。図1Bでは、実線は水平基準線を示し、点線は測定線を示し、実線及び点線は水平面を示し、以下、再度説明しない。
図1Cは、本実施例に示される第2種の水平基準線及び測定線の概念図である。端末の長さ方向と水平面との間に角度が存在しかつ測定線が端末の長さ方向と平行であるので、測定線と水平基準線との間に角度が存在する。
ステップ102では、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算する。
測定線が表示インタフェースにおいて相対的静止でありかつ水平基準線が水平を維持するため、端末を回動する過程では、測定線と水平基準線との間に角を形成し、該角を測定することができる。
ステップ103では、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定する。
測定線が物体のエッジと平行になる場合、測定線と水平基準線との間の角度は物体と水平面との間の角度であるので、端末は物体のエッジが測定線と平行になる場合に算出された角度を物体と水平面との間の角度として確定することができる。
以上をまとめると、本発明が提供する角度測定方法では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
図2Aは、他の例示的実施例に示される角度測定方法のフローチャートであり、本実施例では、水平器APPを用いて端末と水平面との間の角度を測定し、図2Aに示すように、角度測定方法は、カメラ及び水平器APPを含む端末に適用することができる。この方法は以下のステップを含む。
ステップ201では、端末が傾斜状態にあるか否かを検出し、端末が傾斜状態にあると検出した場合、カメラを起動し、ステップ202を実行する。
端末と水平面との間に角が存在しない場合、端末が測定しようとする物体が水平面にあり、この時、物体と水平面との間の角度が0°であり、端末は角度測定を行う必要がない。端末が角度を測定する必要がないが角度測定フローをトリガーすることによる資源浪費を避けるために、端末が傾斜状態にあるか否かを検出することができる。端末が傾斜状態にある場合、角度測定フローを起動し、端末に予め取り付けられたカメラを起動することにより角度測定を行い、端末が水平状態にある場合、角度測定フローを起動しない。
ただし、端末が傾斜状態にあるか否かを検出するステップは、以下を含む。
1)端末と水平面との間の傾斜角度を測定する。
2)傾斜角度が予め設定された角度範囲に属するか否かを検出する。
3)傾斜角度が角度範囲に属すると検出した場合、端末が傾斜状態にあると確定する。
端末が傾斜状態にあるか否かを測定する場合、端末は端末に予めインストールされた水平器APPを起動し、水平器APPで端末と水平面との間の傾斜角度を測定することができる。ただし、傾斜角度は、端末の表示インタフェースが上向きでありかつ水平面と平行である場合、端末の底辺又は側辺が所在する方向周りに現在の姿勢まで回転する時の回転角度を示す。
水平器APPで端末の傾斜角度を測定することは、各種の成熟した技術で行うことができ、ここで、その具体的な説明は省略する。
端末は、水平器APPで測定された傾斜角度を取得した後、該傾斜角度と予め設定された角度範囲を比較することができる。該傾斜角度が角度範囲に属する場合、端末が傾斜状態にあると確定し、該傾斜角度が角度範囲に属しない場合、端末が水平状態にあると確定する。ただし、角度範囲は設定し変更することができる。例えば、角度範囲は(45°,135°)であるか、又は、角度範囲を(5°,175°)に変更する等がある。
ステップ202では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示する。
水平基準線は、水平方向を指示する基準線であり、終始に水平を維持する。測定線は、物体と水平面との間の角度を測定し、表示インタフェースと相対的静止である。ただし、測定線は少なくとも一本あることができ、本実施例では、一本の測定線を例として説明する。
図1Bに示される第1種の水平基準線及び測定線の概念図と図1Cに示される第2種の水平基準線及び測定線の概念図を参照すると、測定線は、端末の長さ方向又は幅方向と平行になることができる。或いは、図2Bに示される第3種の水平基準線及び測定線の概念図を参照すると、測定線は、端末の長さ方向及び幅方向と平行でなくてもよい。端末の長さ方向が水平面と平行でありかつ測定線が端末の長さ方向と平行でないため、測定線は水平基準線と平行でない。
カメラがオン状態にある場合、カメラは実時間で物体を撮像するとともに、撮像された物体を表示インタフェースに表示する。
ステップ203では、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算する。
測定線が表示インタフェースと相対的静止でありかつ水平基準線が水平を維持するため、端末を回動する過程では、測定線と水平基準線との間に角を形成し、水平器APPは該角を測定することができる。
ただし、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算するステップは、以下を含む。
1)初期時刻で測定線が水平基準線と平行であるか又は重なり合う場合、測定線の水平基準線に対する回動角度を測定し、回動角度を測定線と水平基準線との間の角度として確定する。
2)初期時刻で測定線と水平基準線との間に初期角度が存在する場合、測定線の水平基準線に対する回動角度を測定し、回動角度から初期角度を引いた角度差分値を計算し、角度差分値を測定線と水平基準線との間の角度として確定する。
角度を計算する時、初期時刻で測定線が水平基準線と平行であるか又は重なり合う場合、測定線が水平基準線に対して回動した角度は、端末が水平面に対して回動した角度であり、水平器APPは端末が水平面に対して回動した角度を測定するとともに、該角度を測定線と水平基準線との間の角度として確定することができる。初期時刻で測定線と水平基準線との間に初期角度が存在する場合、ユーザが端末を回動する前に、水平器APPは端末と水平面との間の初期角度を予め取得し、ユーザが端末を回動し、カメラが撮像している物体のエッジが表示インタフェースにおける測定線と平行になる時に端末の回動を停止し、水平器APPは端末と水平面との間の回動角度を測定し、回動角度から初期角度を引いて、測定線と水平基準線との間の角度を取得する。
好ましくは、ユーザに回動角度を明確にさせるために、端末を回動する過程では、水平器APPは所定の時間ごとに前記角度を測定し、測定された角度を表示インタフェースに表示する。
ただし、ユーザは物体のエッジが測定線と平行になると確定した場合、端末を該位置で所定の時間長さ保持し、端末は端末がある位置で所定の時間長さ保持すると検出した後、物体エッジが測定線と平行になると確定し、水平器APPをトリガーして角度を計算し、或いは、ユーザは物体のエッジが測定線と平行になると確定した場合、端末にトリガー信号を送信することができ、端末はトリガー信号を受信した後、物体エッジが測定線と平行になると確定し、水平器APPをトリガーして角度を計算する。ただし、トリガー信号は、表示インタフェースが提供する押しボタンをクリックするか、又は、表示インタフェースに所定の手振りの操作を実行する等があり、本実施例ではそれを限定しない。
ステップ204では、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定する。
測定線が物体のエッジと平行になる場合、測定線と水平基準線との間の角度は物体と水平面との間の角度であるので、端末は物体のエッジが測定線と平行になる場合に算出された角度を物体と水平面との間の角度として確定することができる。
理解しやすくなるために、本実施例では、端末を横方向に置くことを例として角度測定の過程を説明する。図2Cは、本実施例に示される角度測定の適用図であり、図2Cでは、測定線が端末の長さ方向と平行でありかつ予め設定された角度範囲は(10°,170°)である。
1) 図2C(1)に示される第1種の角度測定の概念図を参照すると、ユーザが端末を回動する前に、端末と水平面との間の角度が0であるため、表示インタフェースに測定線211と水平基準線212を表示し、測定線211が水平基準線212と平行である。
2) 図2C(2)に示される第2種の角度測定の概念図を参照すると、ユーザが端末を回動する過程では、水平器APPで端末と水平面との間の角度を測定し、端末と水平面との間の角度が10°に達して角度範囲(10°,170°)に属すると測定した場合、端末はカメラを起動し、表示インタフェースに測定線211と水平基準線212とカメラが実時間で撮像した物体を表示し、カメラが机213とプレート214を撮像しかつプレート214が机213に傾斜して寄りかかるとした。
3) 図2C(3)に示される第3種の角度測定の概念図を参照すると、ユーザが端末を回動してプレート214のエッジを測定線211と平行にする場合、水平器APPで測定線211と水平基準線212との間の角度が40°であると算出し、該角度40°をプレート214と水平面との間の角度として確定するとともに、該角度40°を表示インタフェースに表示する。
補充説明すべきことは、端末は、二つの物体間の角度を測定することもでき、該方法は、さらに、以下を含む。
1)カメラが他の物体をも撮像した場合、端末を回動して他の物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算する。
2)他の物体のエッジが測定線と平行になる場合に得られた角度を他の物体と水平面との間の角度として確定する。
3)物体と水平面との間の角度から他の物体と水平面との間の角度を引いた差分値を計算する。
4)該差分値の絶対値を物体と他の物体との間の角度として確定する。
端末は、ステップ201乃至204を実行して物体と水平面との間の角度を取得する前又はその後、ステップ201乃至204を実行して他の物体と水平面との間の角度を取得し、物体と水平面との間の角度から他の物体と水平面との間の角度を引いた差分値を計算し、該差分値の絶対値を物体と他の物体との間の角度として確定することもできる。
例えば、端末は第1回でステップ201乃至204を実行して物体と水平面との間の角度が49°であると測定し、第2回でステップ201乃至204を実行して他の物体と水平面との間の角度が13°であると測定する場合、物体と他の物体との間の角度が36°である。
以上をまとめると、本発明が提供する角度測定方法では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
なお、端末が傾斜状態にあると検出した後にカメラを起動することにより、端末が水平面上の物体と水平面との間の角度を測定することによる資源浪費を避け、端末の資源を節約するという効果を達することができる。
図3は、一つの例示的実施例に示される角度測定装置のブロック図であり、図3に示すように、角度測定装置はカメラを含む端末に適用することができるが、これに限られない。その装置は、表示モジュール301、第1の計算モジュール302及び第1の確定モジュール303を含む。
該表示モジュール301は、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示するように配置される。
該第1の計算モジュール302は、端末を回動して物体のエッジを表示モジュール301に表示された測定線と平行にする過程では、測定線と水平基準線との間の角度を計算するように配置される。
該第1の確定モジュール303は、エッジが測定線と平行になる場合に第1の計算モジュール302で得られた角度を物体と水平面との間の角度として確定するように配置される。
以上をまとめると、本発明が提供する角度測定装置では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
図4は、一つの例示的実施例に示される角度測定装置のブロック図であり、図4に示すように、角度測定装置は、カメラを含む端末に適用することができるが、これに限られない。その装置は、表示モジュール301、第1の計算モジュール302及び第1の確定モジュール303を含む。
該表示モジュール301は、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示するように配置される。
該第1の計算モジュール302は、端末を回動して物体のエッジを表示モジュール301に表示された測定線と平行にする過程では、測定線と水平基準線との間の角度を計算するように配置される。
該第1の確定モジュール303は、エッジが測定線と平行になる場合に第1の計算モジュール302で得られた角度を物体と水平面との間の角度として確定するように配置される。
好ましくは、表示モジュール301は、検出手段3011及び表示手段3012を含む。
該検出手段3011は、端末が傾斜状態にあるか否かを検出するように配置される。
該表示手段3012は、検出手段3011が端末が傾斜状態にあると検出した場合、カメラを起動し、端末に水平基準線と測定線とカメラが現在撮像している物体を表示するように配置される。
好ましくは、検出手段3011は、測定サブ手段30111、検出サブ手段30112及び確定サブ手段30113を含む。
該測定サブ手段30111は、端末と水平面との間の傾斜角度を測定するように配置される。
該検出サブ手段30112は、測定サブ手段30111で測定された傾斜角度が予め設定された角度範囲に属するか否かを検出するように配置される。
該確定サブ手段30113は、検出サブ手段30112が傾斜角度が角度範囲に属すると検出した場合、端末が傾斜状態にあると確定するように配置される。
好ましくは、第1の計算モジュール302は、第1の計算手段3021及び第2の計算手段3022を含む。
該第1の計算手段3021は、初期時刻で測定線が水平基準線と平行であるか又は重なり合う場合、測定線の水平基準線に対する回動角度を測定し、回動角度を測定線と水平基準線との間の角度として確定するように配置される。
該第2の計算手段3022は、初期時刻で測定線と水平基準線との間に初期角度が存在する場合、測定線の水平基準線に対する回動角度を測定し、回動角度から初期角度を引いた角度差分値を計算し、角度差分値を測定線と水平基準線との間の角度として確定するように配置される。
好ましくは、本実施例の角度測定装置は、第2の計算モジュール304、第2の確定モジュール305、第3の計算モジュール306及び第3の確定モジュール307をさらに含む。
該第2の計算モジュール304は、カメラが他の物体をも撮像した場合、端末を回動して他の物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算するように配置される。
該第2の確定モジュール305は、他の物体のエッジが測定線と平行になる場合に第2の計算モジュール304で得られた角度を他の物体と水平面との間の角度として確定するように配置される。
該第3の計算モジュール306は、第1の確定モジュール303で確定された物体と水平面との間の角度から第2の確定モジュール305で確定された他の物体と水平面との間の角度を引いた差分値を計算するように配置される。
該第3の確定モジュール307は、第3の計算モジュール306で得られた差分値の絶対値を物体と他の物体との間の角度として確定するように配置される。
以上をまとめると、本発明が提供する角度測定装置では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
なお、端末が傾斜状態にあると検出した後にカメラを起動することにより、端末が水平面上の物体と水平面との間の角度を測定することによる資源浪費を避け、端末の資源を節約するという効果を達することができる。
上記実施例の装置については、各モジュールが操作を実行する具体的な方式は、該方法に関する実施例において詳しく説明したので、ここで、詳しく説明しない。
本発明の一つの例示的実施例は、さらに、プロセッサと、プロセッサが実行可能な指令を記憶するメモリと、を含み、ただし、プロセッサは、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定するように配置される、端末を提供する。
以上をまとめると、本発明が提供する端末では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
上記実施例の端末については、各モジュールが操作を実行する具体的な方式は、該方法に関する実施例において詳しく説明したので、ここで、詳しく説明しない。
図5は、一つの例示的実施例に示される角度測定装置500のブロック図である。例えば、装置500は、携帯電話、コンピュータ、デジタル放送端末、メッセージ送受信機器、ゲームコンソール、タブレットデバイス、医療機器、フィットネス機器、パーソナルデジタルアシスタントなどであってもよい。
図5に示すように、装置500は、プロセスアセンブリ502、メモリ504、電源アセンブリ506、マルチメディアアセンブリ508、オーディオアセンブリ510、入力/出力(I/O)インタフェース512、センサアセンブリ514、および通信アセンブリ516のような1つ以上のアセンブリを含んでよい。
プロセスアセンブリ502は、一般的には装置500全体の操作を制御するものであり、例えば、表示、電話呼び出し、データ通信、カメラ操作、及び記録操作と関連する操作を制御する。プロセスアセンブリ502は、1つ以上のプロセッサ518を含み、これらによって指令を実行することにより、上記方法の全部、或いは一部のステップを実現するようにしてもよい。なお、プロセスアセンブリ502は、一つ以上のモジュールを含み、これらによってプロセスアセンブリ502と他のアセンブリの間のインタラクションを容易にするようにしてもよい。例えば、プロセスアセンブリ502は、マルチメディアモジュールを含み、これらによってマルチメディアアセンブリ508とプロセスアセンブリ502の間のインタラクションを容易にするようにしてもよい。
メモリ504は、各種類のデータを記憶することにより装置500の操作を支援するように構成される。これらのデータの例は、装置500において操作されるいずれのアプリケーションプログラム又は方法の命令、連絡対象データ、電話帳データ、メッセージ、画像、ビデオ等を含む。メモリ504は、いずれの種類の揮発性メモリ、不揮発性メモリ記憶デバイスまたはそれらの組み合わせによって実現されてもよく、例えば、SRAM(Static Random Access Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)、PROM( Programmable ROM)、ROM(Read Only Member)、磁気メモリ、フラッシュメモリ、磁気ディスク、或いは光ディスクである。
電源アセンブリ506は、装置500の多様なアセンブリに電力を供給する。電源アセンブリ506は、電源管理システム、一つ以上の電源、及び装置500のための電力の生成、管理及び割り当てに関連する他のアセンブリを含んでもよい。
マルチメディアアセンブリ508は、前記装置500とユーザの間に一つの出力インタフェースを提供するスクリーンを含む。上記実施例において、スクリーンは液晶モニター(LCD)とタッチパネル(TP)を含んでもよい。スクリーンがタッチパネルを含むことにより、スクリーンはタッチスクリーンとして実現されることができ、ユーザからの入力信号を受信することができる。タッチパネルは一つ以上のタッチセンサを含んでおり、タッチ、スライド、及びタッチパネル上のジェスチャを検出することができる。前記タッチセンサは、タッチ、或いはスライドの動作の境界だけでなく、前記タッチ、或いはスライド操作に係る継続時間及び圧力も検出できる。上記実施例において、マルチメディアアセンブリ508は、一つのフロントカメラ、及び/又はリアカメラを含む。装置500が、例えば撮影モード、或いはビデオモード等の操作モードにある場合、フロントカメラ、及び/又はリアカメラは外部からマルチメディアデータを受信できる。フロントカメラとリアカメラのそれぞれは、一つの固定型の光レンズ系、或いは可変焦点距離と光学ズーム機能を有するものであってもよい。
オーディオアセンブリ510は、オーディオ信号を入出力するように構成されてもよい。例えば、オーディオアセンブリ510は、一つのマイク(MIC)を含み、装置500が、例えば呼出しモード、記録モード、及び音声認識モード等の操作モードにある場合、マイクは外部のオーディオ信号を受信することができる。受信されたオーディオ信号は、さらにメモリ504に記憶されたり、通信アセンブリ516を介して送信されたりされる。上記実施例において、オーディオアセンブリ510は、オーディオ信号を出力するための一つのスピーカーをさらに含む。
I/Oインタフェース512は、プロセスアセンブリ502と周辺インタフェースモジュールの間にインタフェースを提供するものであり、上記周辺インタフェースモジュールは、キーボード、クリックホイール、ボタン等であってもよい。これらのボタンは、ホームボタン、ボリュームボタン、起動ボタン、ロッキングボタンを含んでもよいが、これらに限定されない。
センサアセンブリ514は、装置500に各方面の状態に対する評価を提供するための一つ以上のセンサを含む。例えば、センサアセンブリ514は、装置500のON/OFF状態、装置500のディスプレイとキーパッドのようなアセンブリの相対的な位置決めを検出できる。また、例えば、センサアセンブリ514は、装置500、或いは装置500の一つのアセンブリの位置変更、ユーザと装置500とが接触しているか否か、装置500の方位、又は加速/減速、装置500の温度の変化を検出できる。センサアセンブリ514は、何れの物理的接触がない状態にて付近の物体の存在を検出するための近接センサを含んでもよい。センサアセンブリ514は、撮影アプリケーションに適用するため、CMOS、又はCCD画像センサのような光センサを含んでもよい。上記実施例において、当該センサアセンブリ514は、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、及び温度センサをさらに含んでもよい。
通信アセンブリ516は、装置500と他の機器の間に有線、又は無線形態の通信を提供する。装置500は、例えばWiFi、2G、3G、或いはこれらの組み合わせのような、通信規格に基づいた無線ネットワークに接続されてもよい。一つの例示的な実施例において、通信アセンブリ516は、放送チャンネルを介して外部の放送管理システムからの放送信号、又は放送に関連する情報を受信する。一つの例示的な実施例において、前記通信アセンブリ516は、近距離無線通信(NFC)モジュールをさらに含むことにより、近距離通信を推進するようにする。例えば、NFCモジュールは、RFID(Radio Frequency IDentification)技術、IrDA(Infrared Data Association)技術、UWB(Ultra Wide Band)技術、BT(Bluetooth)技術、他の技術に基づいて実現できる。
例示的な実施例において、装置500は、一つ以上のASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、DSPD(Digital Signal Processing Device)、PLD(Programmable Logic Device)、FPGA(Field−Programmable Gate Array)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子部品によって実現されるものであり、上記方法を実行する。
例示的な実施例では、さらに、指令を含むコンピュータ読み取り可能な非一時的な記憶媒体、例えば、指令を含むメモリ504を提供しており、装置500のプロセッサ518により前記指令を実行して上記方法を実現する。例えば、コンピュータ読み取り可能な非一時的な記憶媒体は、ROM、RAM、CD−ROM、磁気テープ、フロッピーディスク、および光データ記憶デバイスなどであってもよい。
当業者にとって、明細書を考慮してこの発明を実施した後、本発明のその他の実施の形態を容易に想到し得ることができる。本願は、本発明のいかなる変形、用途又は適応的変化をカバーすることを目的とし、これら変形、用途又は適応的変化は、本発明の一般的原理に従うとともに、本発明に開示されていない本技術分野における公知の常識又は慣用の技術手段を含む。明細書及び実施例は、例示的なものに過ぎず、本発明の本当の範囲及び主旨は、特許請求の範囲に含まれる。
本発明は、以上のように説明すると共に図面に示された正確な構造に限られず、その要旨を逸脱しない範囲内で各種の補正及び変更を行うことができると理解すべきである。本発明の範囲は、特許請求の範囲のみで限定される。
関連出願の相互参照
本願は、出願番号が201410225638.5で、出願日が2014年5月26日である中国特許出願に基づき優先権を主張し、当該中国特許出願のすべての内容を本願に援用する。
本発明はコンピュータの技術分野に関し、特に角度測定方法、装置、端末、プログラム、及び記録媒体に関する。
端末技術の発展につれて、端末が備えた機能はますます多くなっている。例えば、端末に水平器APP(APPlication、アプリケーション)をインストールして、水平器APPで端末が水平であるか否かを検出することができる。
従来の技術では、水平器APPで端末と水平面との間の角度を測定する場合、端末はインストールされた水平器APPを起動し、端末の表示インタフェースに水平器APPで提供された測定インタフェースを表示し、例えば、該測定インタフェースは、容器内に入れた液体及び気泡を含み、端末を回動する過程では、気泡を端末と共に回動するように保持し、気泡が容器の中間位置にある場合、端末と水平面との間の角度が0であると確定される。
発明者は、本発明を実現する過程で、従来の技術において少なくとも、水平器APPで端末が水平であるか否かだけを測定できるので、端末の角度測定機能が単一になるという欠陥があると発見した。
本発明は、従来の技術における問題を解決するために、角度測定方法、装置、端末、プログラム、及び記録媒体を提供する。
本発明の実施例の第1の形態によれば、端末の表示インタフェースに、水平基準線と、前記表示インタフェースと相対的静止でありかつ前記水平基準線とで確定された平面が前記表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示するステップと、前記端末を回動して前記物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算するステップと、前記エッジが前記測定線と平行になる場合に得られた前記角度を前記物体と水平面との間の角度として確定するステップと、を含む角度測定方法を提供する。
好ましくは、前記端末の表示インタフェースに水平基準線と測定線とカメラが現在撮像している物体とを表示するステップは、前記端末が傾斜状態にあるか否かを検出するステップと、前記端末が傾斜状態にあると検出した場合、前記カメラを起動し、前記端末に前記水平基準線と前記測定線と前記カメラが現在撮像している物体とを表示するステップと、を含む。
好ましくは、前記端末が傾斜状態にあるか否かを検出するステップは、前記端末と水平面との間の傾斜角度を測定するステップと、前記傾斜角度が予め設定された角度範囲に属するか否かを検出するステップと、前記傾斜角度が前記角度範囲に属すると検出した場合、前記端末が傾斜状態にあると確定するステップと、を含む。
好ましくは、前記端末を回動して前記物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算するステップは、初期時刻で前記測定線が前記水平基準線と平行であるか又は重なり合う場合、前記測定線の前記水平基準線に対する回動角度を測定し、前記回動角度を前記測定線と前記水平基準線との間の角度として確定するステップと、初期時刻で前記測定線と前記水平基準線との間に初期角度が存在する場合、前記測定線の前記水平基準線に対する回動角度を測定し、前記回動角度から前記初期角度を引いた角度差分値を計算し、前記角度差分値を前記測定線と前記水平基準線との間の角度として確定するステップと、を含む。
好ましくは、前記方法は、さらに、前記カメラが他の物体をも撮像した場合、前記端末を回動して前記他の物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算するステップと、前記他の物体のエッジが前記測定線と平行になる場合に得られた前記角度を前記他の物体と前記水平面との間の角度として確定するステップと、前記物体と前記水平面との間の角度から前記他の物体と前記水平面との間の角度を引いた差分値を計算するステップと、前記差分値の絶対値を前記物体と前記他の物体との間の角度として確定するステップと、を含む。
本発明の実施例の第2の形態によれば、端末の表示インタフェースに、水平基準線と、前記表示インタフェースと相対的静止でありかつ前記水平基準線とで確定された平面が前記表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示する表示モジュールと、前記端末を回動して前記物体のエッジを前記表示モジュールに表示された前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算する第1の計算モジュールと、前記エッジが前記測定線と平行になる場合に前記第1の計算モジュールで得られた前記角度を前記物体と水平面との間の角度として確定する第1の確定モジュールと、を含む角度測定装置を提供する。
好ましくは、前記表示モジュールは、前記端末が傾斜状態にあるか否かを検出する検出手段と、前記検出手段が前記端末が傾斜状態にあると検出した場合、前記カメラを起動し、前記端末に前記水平基準線と前記測定線と前記カメラが現在撮像している物体とを表示する表示手段と、を含む。
好ましくは、前記検出手段は、前記端末と水平面との間の傾斜角度を測定する測定サブ手段と、前記測定サブ手段で測定された前記傾斜角度が予め設定された角度範囲に属するか否かを検出する検出サブ手段と、前記検出サブ手段が前記傾斜角度が前記角度範囲に属すると検出した場合、前記端末が傾斜状態にあると確定する確定サブ手段と、を含む。
好ましくは、前記第1の計算モジュールは、初期時刻で前記測定線が前記水平基準線と平行であるか又は重なり合う場合、前記測定線の前記水平基準線に対する回動角度を測定し、前記回動角度を前記測定線と前記水平基準線との間の角度として確定する第1の計算手段と、初期時刻で前記測定線と前記水平基準線との間に初期角度が存在する場合、前記測定線の前記水平基準線に対する回動角度を測定し、前記回動角度から前記初期角度を引いた角度差分値を計算し、前記角度差分値を前記測定線と前記水平基準線との間の角度として確定する第2の計算手段と、を含む。
好ましくは、前記装置は、さらに、前記カメラが他の物体をも撮像した場合、前記端末を回動して前記他の物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算する第2の計算モジュールと、前記他の物体のエッジが前記測定線と平行になる場合に前記第2の計算モジュールで得られた前記角度を前記他の物体と前記水平面との間の角度として確定する第2の確定モジュールと、前記第1の確定モジュールで確定された前記物体と前記水平面との間の角度から前記第2の確定モジュールで確定された前記他の物体と前記水平面との間の角度を引いた差分値を計算する第3の計算モジュールと、前記第3の計算モジュールで得られた前記差分値の絶対値を前記物体と前記他の物体との間の角度として確定する第3の確定モジュールと、を含む。
本発明の実施例の第3の形態によれば、プロセッサと、プロセッサが実行可能な指令を記憶するメモリとを含み、前記プロセッサは、端末の表示インタフェースに、水平基準線と、前記表示インタフェースと相対的静止でありかつ前記水平基準線とで確定された平面が前記表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、前記端末を回動して前記物体のエッジを前記測定線と平行にする過程では、前記測定線と前記水平基準線との間の角度を計算し、前記エッジが前記測定線と平行になる場合に得られた前記角度を前記物体と水平面との間の角度として確定するように配置される、端末を提供する。
本発明の実施例の第4の形態によれば、プロセッサに実行されることにより、前記の角度測定方法を実現するプログラムを提供する。
本発明の実施例の第5の形態によれば、前記のプログラムが記録された記録媒体を提供する。
本発明の実施例が提供する技術手段は以下の有益な効果を有する。
即ち、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
以上の一般的な説明及び後述の詳細な説明は、例示的なものに過ぎず、本発明を限定するものではないことを理解すべきである。
ここで、図面は明細書に組み込んで本明細書の一部とし、本発明に合致する実施例を示すとともに、明細書とともに本発明の原理を説明する。
図1Aは、一つの例示的実施例に示される角度測定方法のフローチャートである。
図1Bは、本実施例に示される第1種の水平基準線及び測定線の概念図である。
図1Cは、本実施例に示される第2種の水平基準線及び測定線の概念図である。
図2Aは、他の例示的実施例に示される角度測定方法のフローチャートである。
図2Bは、本実施例に示される第3種の水平基準線及び測定線の概念図である。
図2Cは、本実施例に示される角度測定の適用図である。
図3は、一つの例示的実施例に示される角度測定装置のブロック図である。
図4は、一つの例示的実施例に示される角度測定装置のブロック図である。
図5は、一つの例示的実施例に示される角度測定装置のブロック図である。
ここで、例示的実施例を詳しく説明し、その実施例は図面に示される。以下の説明は図面に係る場合、特別に示されない限り、異なる図面における同じ符号は同じ又は共通する要素を示す。本発明に合致するすべての実施の形態は、以下の例示的実施例で記述される実施の形態に限られない。逆に、以下の例示的実施例で記述される実施の形態は、特許請求の範囲に詳しく記述される、本発明のいくつかの形態に合致する装置及び方法の実例に過ぎない。
図1Aは、一つの例示的実施例に示される角度測定方法のフローチャートであり、図1Aに示すように、角度測定方法は、カメラを含む端末に適用することができるが、これに限られない。この方法は以下のステップを含む。
ステップ101では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示する。
水平基準線は、水平方向を指示する基準線であり、終始に水平を維持する。測定線は、物体と水平面との間の角度を測定し、端末とともに回動し、即ち、測定線は、表示インタフェースと相対的静止である。
図1Bは、本実施例に示される第1種の水平基準線及び測定線の概念図であり、図1Bでは、測定線は、端末の長さ方向と平行である。端末の長さ方向が水平面と平行でありかつ測定線が端末の長さ方向と平行であるので、測定線は水平基準線と平行である。ただし、本実施例では、端末の水平方向の辺を端末の長さ方向として確定し、例えば、図1B(1)は、携帯電話のような閲覧方向が縦方向である表示インタフェースであり、図1B(2)は、タブレットPCのような閲覧方向が横方向である表示インタフェースである。図1Bでは、実線は水平基準線を示し、点線は測定線を示し、実線及び点線は水平面を示し、以下、再度説明しない。
図1Cは、本実施例に示される第2種の水平基準線及び測定線の概念図である。端末の長さ方向と水平面との間に角度が存在しかつ測定線が端末の長さ方向と平行であるので、測定線と水平基準線との間に角度が存在する。
ステップ102では、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算する。
測定線が表示インタフェースにおいて相対的静止でありかつ水平基準線が水平を維持するため、端末を回動する過程では、測定線と水平基準線との間に角を形成し、該角を測定することができる。
ステップ103では、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定する。
測定線が物体のエッジと平行になる場合、測定線と水平基準線との間の角度は物体と水平面との間の角度であるので、端末は物体のエッジが測定線と平行になる場合に算出された角度を物体と水平面との間の角度として確定することができる。
以上をまとめると、本発明が提供する角度測定方法では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
図2Aは、他の例示的実施例に示される角度測定方法のフローチャートであり、本実施例では、水平器APPを用いて端末と水平面との間の角度を測定し、図2Aに示すように、角度測定方法は、カメラ及び水平器APPを含む端末に適用することができる。この方法は以下のステップを含む。
ステップ201では、端末が傾斜状態にあるか否かを検出し、端末が傾斜状態にあると検出した場合、カメラを起動し、ステップ202を実行する。
端末と水平面との間に角が存在しない場合、端末が測定しようとする物体が水平面にあり、この時、物体と水平面との間の角度が0°であり、端末は角度測定を行う必要がない。端末が角度を測定する必要がないが角度測定フローをトリガーすることによる資源浪費を避けるために、端末が傾斜状態にあるか否かを検出することができる。端末が傾斜状態にある場合、角度測定フローを起動し、端末に予め取り付けられたカメラを起動することにより角度測定を行い、端末が水平状態にある場合、角度測定フローを起動しない。
ただし、端末が傾斜状態にあるか否かを検出するステップは、以下を含む。
1)端末と水平面との間の傾斜角度を測定する。
2)傾斜角度が予め設定された角度範囲に属するか否かを検出する。
3)傾斜角度が角度範囲に属すると検出した場合、端末が傾斜状態にあると確定する。
端末が傾斜状態にあるか否かを測定する場合、端末は端末に予めインストールされた水平器APPを起動し、水平器APPで端末と水平面との間の傾斜角度を測定することができる。ただし、傾斜角度は、端末の表示インタフェースが上向きでありかつ水平面と平行である場合、端末の底辺又は側辺が所在する方向周りに現在の姿勢まで回転する時の回転角度を示す。
水平器APPで端末の傾斜角度を測定することは、各種の成熟した技術で行うことができ、ここで、その具体的な説明は省略する。
端末は、水平器APPで測定された傾斜角度を取得した後、該傾斜角度と予め設定された角度範囲を比較することができる。該傾斜角度が角度範囲に属する場合、端末が傾斜状態にあると確定し、該傾斜角度が角度範囲に属しない場合、端末が水平状態にあると確定する。ただし、角度範囲は設定し変更することができる。例えば、角度範囲は(45°,135°)であるか、又は、角度範囲を(5°,175°)に変更する等がある。
ステップ202では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示する。
水平基準線は、水平方向を指示する基準線であり、終始に水平を維持する。測定線は、物体と水平面との間の角度を測定し、表示インタフェースと相対的静止である。ただし、測定線は少なくとも一本あることができ、本実施例では、一本の測定線を例として説明する。
図1Bに示される第1種の水平基準線及び測定線の概念図と図1Cに示される第2種の水平基準線及び測定線の概念図を参照すると、測定線は、端末の長さ方向又は幅方向と平行になることができる。或いは、図2Bに示される第3種の水平基準線及び測定線の概念図を参照すると、測定線は、端末の長さ方向及び幅方向と平行でなくてもよい。端末の長さ方向が水平面と平行でありかつ測定線が端末の長さ方向と平行でないため、測定線は水平基準線と平行でない。
カメラがオン状態にある場合、カメラは実時間で物体を撮像するとともに、撮像された物体を表示インタフェースに表示する。
ステップ203では、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算する。
測定線が表示インタフェースと相対的静止でありかつ水平基準線が水平を維持するため、端末を回動する過程では、測定線と水平基準線との間に角を形成し、水平器APPは該角を測定することができる。
ただし、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算するステップは、以下を含む。
1)初期時刻で測定線が水平基準線と平行であるか又は重なり合う場合、測定線の水平基準線に対する回動角度を測定し、回動角度を測定線と水平基準線との間の角度として確定する。
2)初期時刻で測定線と水平基準線との間に初期角度が存在する場合、測定線の水平基準線に対する回動角度を測定し、回動角度から初期角度を引いた角度差分値を計算し、角度差分値を測定線と水平基準線との間の角度として確定する。
角度を計算する時、初期時刻で測定線が水平基準線と平行であるか又は重なり合う場合、測定線が水平基準線に対して回動した角度は、端末が水平面に対して回動した角度であり、水平器APPは端末が水平面に対して回動した角度を測定するとともに、該角度を測定線と水平基準線との間の角度として確定することができる。初期時刻で測定線と水平基準線との間に初期角度が存在する場合、ユーザが端末を回動する前に、水平器APPは端末と水平面との間の初期角度を予め取得し、ユーザが端末を回動し、カメラが撮像している物体のエッジが表示インタフェースにおける測定線と平行になる時に端末の回動を停止し、水平器APPは端末と水平面との間の回動角度を測定し、回動角度から初期角度を引いて、測定線と水平基準線との間の角度を取得する。
好ましくは、ユーザに回動角度を明確にさせるために、端末を回動する過程では、水平器APPは所定の時間ごとに前記角度を測定し、測定された角度を表示インタフェースに表示する。
ただし、ユーザは物体のエッジが測定線と平行になると確定した場合、端末を該位置で所定の時間長さ保持し、端末は端末がある位置で所定の時間長さ保持すると検出した後、物体エッジが測定線と平行になると確定し、水平器APPをトリガーして角度を計算し、或いは、ユーザは物体のエッジが測定線と平行になると確定した場合、端末にトリガー信号を送信することができ、端末はトリガー信号を受信した後、物体エッジが測定線と平行になると確定し、水平器APPをトリガーして角度を計算する。ただし、トリガー信号は、表示インタフェースが提供する押しボタンをクリックするか、又は、表示インタフェースに所定の手振りの操作を実行する等があり、本実施例ではそれを限定しない。
ステップ204では、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定する。
測定線が物体のエッジと平行になる場合、測定線と水平基準線との間の角度は物体と水平面との間の角度であるので、端末は物体のエッジが測定線と平行になる場合に算出された角度を物体と水平面との間の角度として確定することができる。
理解しやすくなるために、本実施例では、端末を横方向に置くことを例として角度測定の過程を説明する。図2Cは、本実施例に示される角度測定の適用図であり、図2Cでは、測定線が端末の長さ方向と平行でありかつ予め設定された角度範囲は(10°,170°)である。
1) 図2C(1)に示される第1種の角度測定の概念図を参照すると、ユーザが端末を回動する前に、端末と水平面との間の角度が0であるため、表示インタフェースに測定線211と水平基準線212を表示し、測定線211が水平基準線212と平行である。
2) 図2C(2)に示される第2種の角度測定の概念図を参照すると、ユーザが端末を回動する過程では、水平器APPで端末と水平面との間の角度を測定し、端末と水平面との間の角度が10°に達して角度範囲(10°,170°)に属すると測定した場合、端末はカメラを起動し、表示インタフェースに測定線211と水平基準線212とカメラが実時間で撮像した物体を表示し、カメラが机213とプレート214を撮像しかつプレート214が机213に傾斜して寄りかかるとした。
3) 図2C(3)に示される第3種の角度測定の概念図を参照すると、ユーザが端末を回動してプレート214のエッジを測定線211と平行にする場合、水平器APPで測定線211と水平基準線212との間の角度が40°であると算出し、該角度40°をプレート214と水平面との間の角度として確定するとともに、該角度40°を表示インタフェースに表示する。
補充説明すべきことは、端末は、二つの物体間の角度を測定することもでき、該方法は、さらに、以下を含む。
1)カメラが他の物体をも撮像した場合、端末を回動して他の物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算する。
2)他の物体のエッジが測定線と平行になる場合に得られた角度を他の物体と水平面との間の角度として確定する。
3)物体と水平面との間の角度から他の物体と水平面との間の角度を引いた差分値を計算する。
4)該差分値の絶対値を物体と他の物体との間の角度として確定する。
端末は、ステップ201乃至204を実行して物体と水平面との間の角度を取得する前又はその後、ステップ201乃至204を実行して他の物体と水平面との間の角度を取得し、物体と水平面との間の角度から他の物体と水平面との間の角度を引いた差分値を計算し、該差分値の絶対値を物体と他の物体との間の角度として確定することもできる。
例えば、端末は第1回でステップ201乃至204を実行して物体と水平面との間の角度が49°であると測定し、第2回でステップ201乃至204を実行して他の物体と水平面との間の角度が13°であると測定する場合、物体と他の物体との間の角度が36°である。
以上をまとめると、本発明が提供する角度測定方法では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
なお、端末が傾斜状態にあると検出した後にカメラを起動することにより、端末が水平面上の物体と水平面との間の角度を測定することによる資源浪費を避け、端末の資源を節約するという効果を達することができる。
図3は、一つの例示的実施例に示される角度測定装置のブロック図であり、図3に示すように、角度測定装置はカメラを含む端末に適用することができるが、これに限られない。その装置は、表示モジュール301、第1の計算モジュール302及び第1の確定モジュール303を含む。
該表示モジュール301は、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示するように配置される。
該第1の計算モジュール302は、端末を回動して物体のエッジを表示モジュール301に表示された測定線と平行にする過程では、測定線と水平基準線との間の角度を計算するように配置される。
該第1の確定モジュール303は、エッジが測定線と平行になる場合に第1の計算モジュール302で得られた角度を物体と水平面との間の角度として確定するように配置される。
以上をまとめると、本発明が提供する角度測定装置では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
図4は、一つの例示的実施例に示される角度測定装置のブロック図であり、図4に示すように、角度測定装置は、カメラを含む端末に適用することができるが、これに限られない。その装置は、表示モジュール301、第1の計算モジュール302及び第1の確定モジュール303を含む。
該表示モジュール301は、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示するように配置される。
該第1の計算モジュール302は、端末を回動して物体のエッジを表示モジュール301に表示された測定線と平行にする過程では、測定線と水平基準線との間の角度を計算するように配置される。
該第1の確定モジュール303は、エッジが測定線と平行になる場合に第1の計算モジュール302で得られた角度を物体と水平面との間の角度として確定するように配置される。
好ましくは、表示モジュール301は、検出手段3011及び表示手段3012を含む。
該検出手段3011は、端末が傾斜状態にあるか否かを検出するように配置される。
該表示手段3012は、検出手段3011が端末が傾斜状態にあると検出した場合、カメラを起動し、端末に水平基準線と測定線とカメラが現在撮像している物体を表示するように配置される。
好ましくは、検出手段3011は、測定サブ手段30111、検出サブ手段30112及び確定サブ手段30113を含む。
該測定サブ手段30111は、端末と水平面との間の傾斜角度を測定するように配置される。
該検出サブ手段30112は、測定サブ手段30111で測定された傾斜角度が予め設定された角度範囲に属するか否かを検出するように配置される。
該確定サブ手段30113は、検出サブ手段30112が傾斜角度が角度範囲に属すると検出した場合、端末が傾斜状態にあると確定するように配置される。
好ましくは、第1の計算モジュール302は、第1の計算手段3021及び第2の計算手段3022を含む。
該第1の計算手段3021は、初期時刻で測定線が水平基準線と平行であるか又は重なり合う場合、測定線の水平基準線に対する回動角度を測定し、回動角度を測定線と水平基準線との間の角度として確定するように配置される。
該第2の計算手段3022は、初期時刻で測定線と水平基準線との間に初期角度が存在する場合、測定線の水平基準線に対する回動角度を測定し、回動角度から初期角度を引いた角度差分値を計算し、角度差分値を測定線と水平基準線との間の角度として確定するように配置される。
好ましくは、本実施例の角度測定装置は、第2の計算モジュール304、第2の確定モジュール305、第3の計算モジュール306及び第3の確定モジュール307をさらに含む。
該第2の計算モジュール304は、カメラが他の物体をも撮像した場合、端末を回動して他の物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算するように配置される。
該第2の確定モジュール305は、他の物体のエッジが測定線と平行になる場合に第2の計算モジュール304で得られた角度を他の物体と水平面との間の角度として確定するように配置される。
該第3の計算モジュール306は、第1の確定モジュール303で確定された物体と水平面との間の角度から第2の確定モジュール305で確定された他の物体と水平面との間の角度を引いた差分値を計算するように配置される。
該第3の確定モジュール307は、第3の計算モジュール306で得られた差分値の絶対値を物体と他の物体との間の角度として確定するように配置される。
以上をまとめると、本発明が提供する角度測定装置では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
なお、端末が傾斜状態にあると検出した後にカメラを起動することにより、端末が水平面上の物体と水平面との間の角度を測定することによる資源浪費を避け、端末の資源を節約するという効果を達することができる。
上記実施例の装置については、各モジュールが操作を実行する具体的な方式は、該方法に関する実施例において詳しく説明したので、ここで、詳しく説明しない。
本発明の一つの例示的実施例は、さらに、プロセッサと、プロセッサが実行可能な指令を記憶するメモリと、を含み、ただし、プロセッサは、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定するように配置される、端末を提供する。
以上をまとめると、本発明が提供する端末では、端末の表示インタフェースに、水平基準線と、表示インタフェースと相対的静止でありかつ水平基準線とで確定された平面が表示インタフェースと平行である測定線と、カメラが現在撮像している物体とを表示し、端末を回動して物体のエッジを測定線と平行にする過程では、測定線と水平基準線との間の角度を計算し、エッジが測定線と平行になる場合に得られた角度を物体と水平面との間の角度として確定することにより、測定線が実景における物体のエッジと平行になる場合、端末が物体と水平面との間の角度を測定することができるので、端末の角度測定機能が単一であるという問題を解決し、端末の角度測定機能を拡張したという効果を達成する。
上記実施例の端末については、各モジュールが操作を実行する具体的な方式は、該方法に関する実施例において詳しく説明したので、ここで、詳しく説明しない。
図5は、一つの例示的実施例に示される角度測定装置500のブロック図である。例えば、装置500は、携帯電話、コンピュータ、デジタル放送端末、メッセージ送受信機器、ゲームコンソール、タブレットデバイス、医療機器、フィットネス機器、パーソナルデジタルアシスタントなどであってもよい。
図5に示すように、装置500は、プロセスアセンブリ502、メモリ504、電源アセンブリ506、マルチメディアアセンブリ508、オーディオアセンブリ510、入力/出力(I/O)インタフェース512、センサアセンブリ514、および通信アセンブリ516のような1つ以上のアセンブリを含んでよい。
プロセスアセンブリ502は、一般的には装置500全体の操作を制御するものであり、例えば、表示、電話呼び出し、データ通信、カメラ操作、及び記録操作と関連する操作を制御する。プロセスアセンブリ502は、1つ以上のプロセッサ518を含み、これらによって指令を実行することにより、上記方法の全部、或いは一部のステップを実現するようにしてもよい。なお、プロセスアセンブリ502は、一つ以上のモジュールを含み、これらによってプロセスアセンブリ502と他のアセンブリの間のインタラクションを容易にするようにしてもよい。例えば、プロセスアセンブリ502は、マルチメディアモジュールを含み、これらによってマルチメディアアセンブリ508とプロセスアセンブリ502の間のインタラクションを容易にするようにしてもよい。
メモリ504は、各種類のデータを記憶することにより装置500の操作を支援するように構成される。これらのデータの例は、装置500において操作されるいずれのアプリケーションプログラム又は方法の命令、連絡対象データ、電話帳データ、メッセージ、画像、ビデオ等を含む。メモリ504は、いずれの種類の揮発性メモリ、不揮発性メモリ記憶デバイスまたはそれらの組み合わせによって実現されてもよく、例えば、SRAM(Static Random Access Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)、PROM( Programmable ROM)、ROM(Read Only Member)、磁気メモリ、フラッシュメモリ、磁気ディスク、或いは光ディスクである。
電源アセンブリ506は、装置500の多様なアセンブリに電力を供給する。電源アセンブリ506は、電源管理システム、一つ以上の電源、及び装置500のための電力の生成、管理及び割り当てに関連する他のアセンブリを含んでもよい。
マルチメディアアセンブリ508は、前記装置500とユーザの間に一つの出力インタフェースを提供するスクリーンを含む。上記実施例において、スクリーンは液晶モニター(LCD)とタッチパネル(TP)を含んでもよい。スクリーンがタッチパネルを含むことにより、スクリーンはタッチスクリーンとして実現されることができ、ユーザからの入力信号を受信することができる。タッチパネルは一つ以上のタッチセンサを含んでおり、タッチ、スライド、及びタッチパネル上のジェスチャを検出することができる。前記タッチセンサは、タッチ、或いはスライドの動作の境界だけでなく、前記タッチ、或いはスライド操作に係る継続時間及び圧力も検出できる。上記実施例において、マルチメディアアセンブリ508は、一つのフロントカメラ、及び/又はリアカメラを含む。装置500が、例えば撮影モード、或いはビデオモード等の操作モードにある場合、フロントカメラ、及び/又はリアカメラは外部からマルチメディアデータを受信できる。フロントカメラとリアカメラのそれぞれは、一つの固定型の光レンズ系、或いは可変焦点距離と光学ズーム機能を有するものであってもよい。
オーディオアセンブリ510は、オーディオ信号を入出力するように構成されてもよい。例えば、オーディオアセンブリ510は、一つのマイク(MIC)を含み、装置500が、例えば呼出しモード、記録モード、及び音声認識モード等の操作モードにある場合、マイクは外部のオーディオ信号を受信することができる。受信されたオーディオ信号は、さらにメモリ504に記憶されたり、通信アセンブリ516を介して送信されたりされる。上記実施例において、オーディオアセンブリ510は、オーディオ信号を出力するための一つのスピーカーをさらに含む。
I/Oインタフェース512は、プロセスアセンブリ502と周辺インタフェースモジュールの間にインタフェースを提供するものであり、上記周辺インタフェースモジュールは、キーボード、クリックホイール、ボタン等であってもよい。これらのボタンは、ホームボタン、ボリュームボタン、起動ボタン、ロッキングボタンを含んでもよいが、これらに限定されない。
センサアセンブリ514は、装置500に各方面の状態に対する評価を提供するための一つ以上のセンサを含む。例えば、センサアセンブリ514は、装置500のON/OFF状態、装置500のディスプレイとキーパッドのようなアセンブリの相対的な位置決めを検出できる。また、例えば、センサアセンブリ514は、装置500、或いは装置500の一つのアセンブリの位置変更、ユーザと装置500とが接触しているか否か、装置500の方位、又は加速/減速、装置500の温度の変化を検出できる。センサアセンブリ514は、何れの物理的接触がない状態にて付近の物体の存在を検出するための近接センサを含んでもよい。センサアセンブリ514は、撮影アプリケーションに適用するため、CMOS、又はCCD画像センサのような光センサを含んでもよい。上記実施例において、当該センサアセンブリ514は、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、及び温度センサをさらに含んでもよい。
通信アセンブリ516は、装置500と他の機器の間に有線、又は無線形態の通信を提供する。装置500は、例えばWiFi、2G、3G、或いはこれらの組み合わせのような、通信規格に基づいた無線ネットワークに接続されてもよい。一つの例示的な実施例において、通信アセンブリ516は、放送チャンネルを介して外部の放送管理システムからの放送信号、又は放送に関連する情報を受信する。一つの例示的な実施例において、前記通信アセンブリ516は、近距離無線通信(NFC)モジュールをさらに含むことにより、近距離通信を推進するようにする。例えば、NFCモジュールは、RFID(Radio Frequency IDentification)技術、IrDA(Infrared Data Association)技術、UWB(Ultra Wide Band)技術、BT(Bluetooth)技術、他の技術に基づいて実現できる。
例示的な実施例において、装置500は、一つ以上のASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、DSPD(Digital Signal Processing Device)、PLD(Programmable Logic Device)、FPGA(Field−Programmable Gate Array)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子部品によって実現されるものであり、上記方法を実行する。
例示的な実施例では、さらに、指令を含むコンピュータ読み取り可能な非一時的な記憶媒体、例えば、指令を含むメモリ504を提供しており、装置500のプロセッサ518により前記指令を実行して上記方法を実現する。例えば、コンピュータ読み取り可能な非一時的な記憶媒体は、ROM、RAM、CD−ROM、磁気テープ、フロッピーディスク、および光データ記憶デバイスなどであってもよい。
当業者にとって、明細書を考慮してこの発明を実施した後、本発明のその他の実施の形態を容易に想到し得ることができる。本願は、本発明のいかなる変形、用途又は適応的変化をカバーすることを目的とし、これら変形、用途又は適応的変化は、本発明の一般的原理に従うとともに、本発明に開示されていない本技術分野における公知の常識又は慣用の技術手段を含む。明細書及び実施例は、例示的なものに過ぎず、本発明の本当の範囲及び主旨は、特許請求の範囲に含まれる。
本発明は、以上のように説明すると共に図面に示された正確な構造に限られず、その要旨を逸脱しない範囲内で各種の補正及び変更を行うことができると理解すべきである。本発明の範囲は、特許請求の範囲のみで限定される。