swift:OpenCVをみ使って見ました
概要
を参考(というかソースコードそのまま)に、OpenCVを使ってみました。
開発環境: Xcode7.2(Swift 2.1)、 動作環境:iPod Touch(iOS: 9.2)
修正
参考にした記事は、swiftのバージョンが少し古いため3点ほど修正が必要でした。
Swiftのバージョンに起因する修正(1)
Optional型のデータ処理、例えばクラスキャスト(as)でunwrapを追加しました。
Swiftのバージョンに起因する修正(2)
CGBitmapInfoとCGImageAlphaInfoの結合部分でエラーが発生していました。以下の記事を参考に修正しました。
ios - Combining CGBitmapInfo and CGImageAlphaInfo in Swift - Stack OverflowXcodeに起因する修正
実機用にビルドするとリンクエラーが発生しました。シミュレータ向けのビルドでは問題なし。
Build SettingsでEnable BitcodeをNOに修正しました。
iOS9 - Xcode7GMでビルドすると「does not contain bitcode.」とか言われる - Qiita結果
青い円が認識している顔です。開始位置(x,y)と幅、高さを取得することができます。
iOSで顔認識だけであれば、環境構築を含め、CIDetectorを使う方が簡単です。しかし、iOS/Androidの両方で使いたい、あるいは顔認識以外の画像処理を行う場合にはOpenCVを使うことになります。C++ベースの開発ができるかどうかですね。
今後
顔以外の画像認識をしてみたいと思っています。
iOS - 「顔以外」のものを画像認識する - Qiita