追跡ロボットのおもちゃを手に入れ、iPhoneでそれを操作しています。ロボットが既知のフレームサイズのライブカメラフィードを出力し、UIImageに表示しています。
レーザーポインターをロボットに追加し、ロボットの軸に沿って固定しました。画像のレーザーポインタードットを検出して、オブジェクトの近接度を計算しようとしています。レーザードットが中心から離れている場合、ロボットが壁に貼り付いており、バックアップする必要があることがわかります。
画面上の明るい白赤のピクセルのドットを検出するにはどうすればよいですか?1つの解決策は、中心の特定の半径内のピクセルの色をサンプリングし、ブロブの明るい色を検出することです。誰かがこの活動のアルゴリズムを提案できますか?
別のアプローチは、最後の数フレームにわたるドットの平均位置を追跡して、推定半径を減らすことです。事前定義された領域内にドットがない場合、検索領域が拡大されることがあります。
最後に、ロボットに周囲のカーペットを検出するように教えたいです。カーペットはレーザーポインターを一定の方法で反射します。ロボットの周りのフレームが同様の特性を持つフレームがいくつあるかを知りたいのです。レーザーポインターが画面のどこにあるかわかっている場合は、その画像から小さな四角形を切り取り、それらを互いに比較できます。複数の小さな画像を互いに比較して、それらのシルエットが一致するかどうかを理解する効率的な方法はありますか?
レーザーが光沢のある表面で反射していることに気付きました。この反射の方向から、屈折の法則に従って、空間での表面の向きがわかります。
ありがとうございました!