そのような画像があるとしましょう
この写真では、すでにフィルターとエッジ検出アルゴリズムを使用しているとしましょう。今の私の目標は、距離を測定することです(実際の距離ではなく、距離は任意の単位にすることができます)。例:ホールの長さを確認するにはどうすればよいですか?(窓まで)
または本棚の高さ?「スケール」をどの程度正確に配置して測定しますか。アイデアを探しています。ただし、答えがOpenCVに関するものであれば役立つでしょう。
そのような画像があるとしましょう
この写真では、すでにフィルターとエッジ検出アルゴリズムを使用しているとしましょう。今の私の目標は、距離を測定することです(実際の距離ではなく、距離は任意の単位にすることができます)。例:ホールの長さを確認するにはどうすればよいですか?(窓まで)
または本棚の高さ?「スケール」をどの程度正確に配置して測定しますか。アイデアを探しています。ただし、答えがOpenCVに関するものであれば役立つでしょう。
それはあなたがしようとしていることに依存します。
本棚の高さを測りたいとおっしゃいました。列の端にある本棚の端の高さよりも「短い」本棚の近くの領域を考慮しても問題ない場合は、距離を測定するだけです。「ピクセル」の単位を選択し、ピタゴラスの定理を使用して距離を測定します。(x^2+y^2 = z^2)
おそらくあなたが本当に求めているのは、手前の本棚の高さと奥の本棚の高さを同じにすることです。その場合、より多くの情報を入手する必要があります。2D -> 3D 変換を行う必要があります: 2D 画像があり、その画像から 3D 画像を再構築する必要があります。その時点で、2 つの変数から 3 つの変数 (X、y、z) が必要なため、3 番目の情報が必要です。
システムを適切に調整し、2 番目の基準点 (レーザー ラインなど) があれば、OpenCV で確実にこれを行うことができます。これは、構造化された光のアプローチとして知られています。詳細については、このリンクを参照するか、「マシン ビジョンの構造化された光」で検索してください。
本棚はその下の本棚と平行であると仮定できるため、本棚間の実際の距離はどの点でも等しくなります。X ピクセルの深度の後、知覚される高さが Y % 減少することを確認できます。明確なパターンをすばやく確立できるはずです。実際の空間にあるすべての平行線と直角により、計算が容易になります。
各本棚の最初と最後にいくつかの開始点をプロットします。関連する数学のトピックは、http:
//en.wikipedia.org/wiki/Slope
http://en.wikipedia.org/wiki/Cartesian_coordinate_systemにあります。