beryulog

iOSアプリ/サーバーサイド開発者のメモと雑記

ミニ四駆用ラップタイマーアプリを作りたい Part.2 「OpenCVの存在を知る」

Part.1の記事の続きです。

beryu.hatenablog.jp

直近やることとして、「要件1「ラップタイムを計測する」を実現するためにカメラの画像を解析してミニ四駆ゴールラインを超えたことを検知する実装方法を調査するところから始めます。」と締めて終えていました。

カメラの画像を解析する手段(案)

カメラの映像から毎秒n枚の画像を撮影して、そこから動体検出をする方向で調査を進めています。
UIImage同士を比較するロジックを自分で組むのはとても大変そうだったので既存の技術を使う方法が無いか調査していたところ、OpenCVという便利そうなライブラリを知りました!

www.buildinsider.net

「物体認識」「特徴点抽出」など、ミニ四駆のラップタイマーに使えそうな言葉がいくつか並んでいました。
C++製のライブラリのようなんですが、iOSにも対応しているようだったのでひとまずこのOpenCVを活用する方向で調べています。
ライセンスもMITなのでAppStoreでリリースするアプリに使っても問題無さそう。

ちなみに、このOpenCVを簡単に使えるようにしたopenFrameworksというものも存在するようなんですが、こっちはSwiftプロジェクトに導入する方法が調べても分からなかったのでいったん諦めました。。

次にやること

OpenCVで動体検出する方法を調べます!