4

私の他の質問をフォローアップしてください。単純な白黒キャリブレーション画像と適切な検出アルゴリズムを備えたOpenCVの良い例を知っていますか?

画面に白黒画像を表示し、その画像の写真を遠くから撮り、表示された画像のサイズを計算して、その画面までの距離を計算したいだけです。

もう一度車輪を発明する前に、これは非常に簡単で、OpenCV のさまざまな方法で実現できることを認識していますが、サンプル コードを使用して、好ましい方法があるかどうか尋ねてみようと思いました。

(すでに haarcascade-xml ファイルを使用していくつかの顔検出コードを実行しています)

PS: 画面の解像度/dpi 部分は既にカバーされているので、画面上で画像が cm 単位でどれくらいの大きさになるかを知っています。

編集:

私はそれを本当に簡単にします、私は必要です:

  1. 画像で簡単に認識できるパターン。今、私はチェッカーボードを試しています。ARDefender を作った人はこれを使っていました。
  2. OpenCV を使用して、画像内のパターン 1) の正確なピクセル座標を教えてくれる適切なアルゴリズム。
4

2 に答える 2

1

まあ、どの画像が認識に最適かを言うのは難しいです.異なる照明では、どの色も別の色として解釈される可能性があります. 簡単な例:

サンプル例

ご覧のとおり、両方の交通標識には赤い境界線がありますが、1 つの画像でも上の標識の境界線は明らかに赤ではありません。

したがって、私の意見では、さまざまな色 (虹など) の画像を使用する必要があります。また、さまざまな角度から簡単に認識できるようにする必要があるとおっしゃいました。そのため、円形が最適です。

そのため、画像は次のようになります。

例

したがって、そのようなオブジェクトを検出するアイデアは次のとおりです。

  1. 異なる色のセグメンテーション (青、赤、緑など) を作成します。これには、HSV 色空間を使用します。
  2. 画像上の特定の色の円を検出します。
  3. 円の数が最も多いエリアがあなたのオブジェクトのようです。
于 2012-06-27T18:41:08.703 に答える
0

いくつかの既知の距離 (1m、2m、3m、...) から白黒オブジェクトの写真を撮り、距離ごとに対応する画像内のオブジェクトのサイズを確認するだけです。これらのデータから、サイズからの距離をピクセル単位で示す線形関数を作成し (y = ax + b でよい ;))、それをコードに変換すれば完了です。乾杯

于 2012-06-27T18:02:06.967 に答える