3

建物の顔が強調された写真を想像してみてください。

建物の正面が長方形で、角が 90 度であるとします。ただし、写真なので遠近法が関係し、顔の平行なエッジが地平線に収束します。

このような長方形の場合、それに直角な面のエッジのベクトルの 2D での角度をどのように計算しますか?

下の画像では、青が写真にマークされた顔であり、他の顔の赤い線の 2D ベクトルを計算する方法を考えています。

例 http://img689.imageshack.us/img689/2060/leslievillestarbuckscor.jpg

では、写真をしばらく無視して線に集中すると、顔の輪郭の 1 つに十分な情報 (内角など) があり、コーナーの反対側にある顔のパスを知ることができますか? 式はどうなりますか?

例

どちらも長方形であること、つまり各角が直角であること、そしてそれらが互いに直角であることはわかっています。では、最初の面の位置に関する知識だけを使用して、2 番目の面のベクトルをどのように決定するのでしょうか?

4

2 に答える 2

0

とても簡単です。基本的な2 点透視法を使用する必要があります。

まず、オブジェクトの左右に 1 つずつ、合計 2 つの消失点が必要です。どちらも同じ地平線上にとどまります。

代替テキスト http://img62.imageshack.us/img62/9669/perspectiveh.png

水平線 (視野の高さを選択) と消失点 (点の位置によって視野が変わります) を配置したら、線がどこに行くのかを簡単に計算できます (もちろん、交差する線を計算できる必要があります)。 2点:できると思います)

于 2010-04-26T17:47:58.753 に答える
0

正直なところ、私なら画像をハフ変換して、画像から赤い線を識別する方法を決定します。赤い線を見つけるには、変換で青い線に接する線を見つけます。変換の良いところは、角度情報を無料で取得できることです。

線を見ていることがわかっているので、ラドン変換を実行して、特定の角度でピークを探すこともできます。それは本質的に同じことです。

Matlab には、この種の作業に適した機能がいくつかあります。

于 2010-04-26T17:54:44.793 に答える