| HOME |
カメラは128×128の解像度ですが、全ての画像を取り込み処理することは不可能なので縦128ラインの内8ラインを読み取っています。横の解像度は128ドットのそのままです。
カメラの映像を2値化(方法は後で解説)し、「黒」→「0」、「白」→「1」で表示しています。中央付近に「白」が直線上に分布しています。
右付近に「白」が直線上に分布しています。
左付近に「白」が直線上に分布しています。
カメラの上部部分はカーブをとらえ、左付近に「白」をとらえているが、カメラの下部部分はカーブをまだとらえきれず、中央付近に「白」をとらえている。「白」の部分は左にカーブしている。
カメラの上部部分はカーブをとらえ、右付近に「白」をとらえているが、カメラの下部部分はカーブをまだとらえきれず、中央付近に「白」をとらえている。「白」の部分は右にカーブしている。
2値化を行い、白と黒の部分に分離が出来たら、白いラインを見つけます。(ラインの見つけ方は後で解説します。)白いラインが見つかれば、上の図で見ていただいたように車体がラインからずれているかどうかの判定が必要になります。これは、通常のマイコンカーでセンサーを用いて走行する時と同じです。まず、手始めに画像処理のマイコンカーの製作を行う場合、この部分から入られますと以外と簡単に作ることが出来ます。
次にカーブでは白いラインがカーブして見えます。通常のマイコンカーはセンサーが1次元に配備されていますので、この処理が出来ません。一部、先読みセンサーを搭載しているマシンは、先読みセンサーは2次元的な配置ですが、どちらにカーブしているのか、カーブの大きさまではわかりません。しかし、カメラを使って画像処理を行えば、どちらにカーブしているのか、カーブの大きさはどれぐらいなのかがわかります。将来的には画像処理マシンの方が速く走ることが出来る可能性を持っています。
今回、カープの方向と大きさをデータ処理の方法でよく使う「最小二乗法」によって求めています。(後で詳しく説明します。)
次回はカメラでラインがどのように見えているかです。