0

私は学校でプロジェクトに取り組んでいます。基本的には:ドローンを自律的に飛行させるアプリケーションを作成し、QRコードをスキャンして壁にハングアップさせ、部屋をナビゲートできるようにします特定のタスクを完了するために。JavaとOpenCVカラー検出

私が現在取り組んでいるのは、ドローンが(障害物として働く)段ボール箱を検出することです。これらのボックスは白で、その上に青い円があります。私がこれを解決する方法は、フレームを色と正方形のためにスキャンすることです:

無人機が正方形を検出したら、それが白かどうかを確認します。白い場合は、青い円が含まれているかどうかを確認します。もしそうなら、私はそれがおそらく段ボール箱であると言うことができます。誰もが私は色検出の作業を開始することができます方法についてのいくつかのポインタを提供することができるだろうならば、私はとても幸せになる

これは箱のように見えるものです!

PS:私は実際に何を提供するかわからないので、コードを提供していません。私は

http://opencv-java-tutorials.readthedocs.io/en/latest/08-object-detection.html

+0

これにはどのドローンを使用していますか? – shan

答えて

1

う:私は、仲間の学生が私の正確な状況のための優れたリンクを提供すると誰もが同じ問題で立ち往生のために:私はいくつかの場合に必要

UPDATEを提供するよりも幸せになります最初に青い円を検出することによって、これを行うために別の角度から行ってください。

  1. 検出基本色

  2. RGB value base color nameは、あなたが選択する必要があり、その後、白または灰色っぽいものをごcirclehasとして

    に黒の境界に隣接全て青色の画素を選択してご覧ください白、灰色、黒の近くのすべての青のピクセル...確かに。これは、(グリーンピクセル選択される)の結果である:

    example

    別の(よりロバストな)可能性が同時に白と青に隣接する全ての黒画素を選択することです。

  3. それは

    円/楕円形/楕円形である場合に行うことができると判断各ポリラインについてポリライン

  4. に接続されているすべてのピクセルをマージ連結成分分析を

    を行います線分間の角度を調べることによって鋭いスパイクがある場合、鋭いエッジが存在し、それは楕円ではない。円周がその境界ボックスから計算された円/楕円/楕円からあまりにも遠すぎる場合、それは楕円形ではなく幾分複雑な曲率である。各楕円形、これだけの楕円形周囲のマスクを埋める洪水とそうでないものに対して、青、元の画像をintどのように多くのピクセルを比較

    ブルーで満たされているかどうかを判断するために

  5. 。比率が100%青に近い場合、青い楕円形に塗りつぶされます。

    マーカーには、内部のすべての基本色の比率を計算して、マーカーをより正確に検出するための機能もあります。

    追加のアイデアについてはAlgorithms: Ellipse matchingをご覧ください。背景が灰色っぽい

OCR and character similarityのような他の可能なアプローチの多くまたはFFT/DCTに基づいて、ハフ円に対する変換がある /白であれば

  • は今、あなたは同様に確認することができます。 ..また、geometric properties comparationにのみ縛られているのではなく、ヒストグラムを比較することができます...

  • +0

    ありがとう、あなたの考えをありがとう。私はそれを調べます! –

    +0

    @PeterAsmussenはまだ編集中でした...完了しました – Spektre

    +0

    私はさらに多くの感謝をしていると思います! –