私は、カメラ (具体的には iPhone カメラ) を使用して紙を「スキャン」する小さなプロジェクトに取り組んでいます。
ワークフロー:
ユーザーが用紙の写真を撮れるようにし、後でコーナー/アウトラインを検出して、写真の元の用紙の 4 つのコーナー ポイントを認識します。次に、カメラの透視変換を逆にして、撮影した紙の「フラットな」画像を取得するのは簡単です。
ただし、私の質問は、正しい (元の) アスペクト比を維持または計算するにはどうすればよいですか?
上記のように、コーナーポイントの座標があり、左上隅をポイント (0,0)、右上隅を (幅、0)、下にマップするマトリックスを作成する方法も知っています。右隅を (width, height) に、左下隅を (0,height) にします。
問題は次のとおりです。用紙が元々持っている正しい幅/高さのアスペクト比を取得するにはどうすればよいですか。角度を使用して透視変換を決定できると確信していますが、正しい式を見つけるのに苦労しています。また、カメラの焦点距離も必要になるという予感がありますが、それが必要ないのは素晴らしいことです。
どんなアイデアでも大歓迎です。