本日の研修では、DARwIn-OPのカメラを使って赤いものの輪郭抽出と、半径の算出をやってみました。
輪郭のトラッキングに時間を食われてしまい、あまり進みませんでした。
こんな感じになりました。輪郭が黒でふちどられているのと、ターミナルに半径が出ているのがわかると思います。
実はこの半径は輪郭の点から求めているのではなく、物体の総ピクセル数から、物体が円形に見えた場合の半径を計算しているだけです。
これと輪郭を照らしあわせてボールか否かの判断の材料の1つにする予定です。
何個かこういった判定を作って、重みを機械学習させるのが最近トレンドになるのかなと思います。
ただ、競技に使う画像処理の場合、環境によって画像がとんでもない変わり方をするので、手動で調整できるように人間が学習しておいたほうが良い気がします。
明日からは物体のトラッキングをやっていこうと思いますが、C/C++だと汚くなってしまうので、Pythonか何かに重要なデータだけを投げて処理させる感じにしていこうかなと考えています。