swordone2015/06/26 04:41具体的な実装方法はわかりませんが、 原理的にはレンズの焦点距離と、像を結ぶ位置のレンズからの距離が分かれば、 ピントを合わせた位置からカメラまでの距離を求めることができます。
horohoro2015/06/26 11:35リンク内容のアプリは、対象を追いかけるとか、 そんな複雑なことはしてないと思います。 (実際、カメラを手で塞いでも動作してますし。。。) バックグランドで、傾きセンサーの値を取得しながら、 プレビュー画像の中央に、十字のマーカーを表示。 んで、十字のマーカーを、測定対象の下部に合わせて写真を撮らせる。 この時、写真を撮った瞬間の、本体の傾きを保持する。 アプリに設定されているカメラの高さと、角度(写真を撮った時の傾き)が わかっているのでこれをもとに距離が計算出来る。 その後、プレビューのマーカーを測定対象の上部に合わせさせて この時の傾きと、下部に保持した傾きの差を取れば、 下部から上部までの角度が分かるので高さの計算も可能。 といったところでしょうか。。。
swordone2015/06/27 06:37Step1で高さと俯角がわかれば,水平方向の距離が求められます. その後,Step2でその水平方向の距離と仰角を使えば,(求める高さ-カメラの高さ)が分かります.
daaaa2015/06/27 19:46何か誤解を招いたようで申し訳ないのですが 僕が知りたいのは 高さを測る前にカメラで十字までのキョリを図っているじゃないですか そのスマホから物体までの距離を求める求め方を知りたいです
horohoro2015/06/27 22:49前回の回答を部分的に少し掘り下げただけですが... 1. 傾きセンサーで傾き(ピッチ角、ロール角)を取得。 https://sites.google.com/site/cobgroupsite/android/programing/accelerometer2 ※ピッチ、ロール角については、URL先の図を参照 2. 角度Θを計算 (ピッチ、ロール角は机に置いた状態が0度になっているので補正する) 3. 高さhと角度Θから距離Lを求める 距離L=tan(角度Θ)×h http://keisan.casio.jp/exec/system/1259903491
swordone2015/06/28 01:40このアプリの説明のStep1で測っているのは「カメラから物体の距離」ではなく, 「カメラと物体の"水平方向の"距離」です. カメラの十字点が自分の立っている足元の高さと同じ高さであると仮定して, 足元,カメラ,十字点を合わせている位置で直角三角形を作ることで距離を出しています. 足元-カメラは「高さ」としてアプリで設定すれば,十字を合わせた時のカメラの傾きによって角度θがわかるので, あとは三角関数を使えば算出できます.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/26 03:45
2015/06/26 04:41
2015/06/26 11:35
2015/06/27 06:37
2015/06/27 19:46
2015/06/27 22:49
2015/06/29 06:54