2015年7月12日日曜日

SwiftでOpenCVを使う その1 cocoapodsでOpenCVをインストールする

  • 公開日:2015年07月12日

記事概要


SwiftでOpenCVの使い方を学習します。

開発環境

  • Xcode 6.4
  • Swift 1.2

難易度


★★★★☆(中級)

プロジェクトのひな形の作成


まず最初にiphoneプロジェクトのひな形から作成していきます。
xcodeを立ち上げて、プロジェクトを作成します。

iOS → ApplicationSingle View Applicationを選択します。

  • Product Nameにopencv-swiftと入力
  • Organization Nameに組織名称(ここではcom.masa)と入力
  • Organization Identifierに組織名称(ここではcom.masa)と入力
  • LangugageSwiftを選択
  • Deviceiphoneを選択
  • Use Core Dataのチェックボックスを外す

プロジェクトフォルダを選択すると、上記のようにプロジェクトが作成されます。
次は、iphoneアプリプロジェクトのパッケージ管理にcocoapodsを導入します。
cocoapodsは開発に便利なパッケージの導入や管理をしてくれるツールです。

OpenCVもcocoapodsで取得することができます。
では、xcodeを閉じましょう。
macのターミナルを開いて、上記で作成したプロジェクトフォルダまで移動します。

【terminal】

// プロジェクトフォルダに移動
cd /Users/{username}/Documents/iworksample/opencv-swift/

// Gemfileを作成
touch Gemfile

プロジェクト配下にGemfileを作成します。
ここで作成したGemfileはcocoapodsのインストールに使用します。
GemfileはBundler用の設定ファイルです。Bundlerはgemのバージョン管理を行うプログラムです。
この辺の知識や技術はRubyの開発の経験があると理解しやすいのですが、cocoapodsの導入だけでRubyの学習をする必要はありません。わからなくても手順通り作業を進めて問題ありません。

また、cocoapodsの導入にはRubyが必要なので、Rubyが未インストールの人は、最初にRubyをインストールしておく必要があります。(この記事ではRubyがインストール出来ている前提で話を進めます)
*この記事でのrubyはversion2.2.2を使用しています。

Gemfileの記載とCocoaPodsのインストール


次にGemfileを使ってcocoaPodsをインストールします。
Gemfileは、以下のように記載します。

【Gemfile】

source 'https://rubygems.org'
gem 'cocoapods', '0.36.0'

上記のGemfileを保存します。
cocoapodsのバージョンは0.36.0を利用します。
cocoapodsのバージョンは、プロジェクトの全員が同じバージョンを利用するようにします。

次にRubyを使ってcocoapodsをインストールします。
この記事では、bundler(RubyのGemパッケージの管理)を使用しているので、bundle installコマンドを使います。

【terminal】

bundle install --path=vendor/bundle

Fetching gem metadata from https://rubygems.org/...........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Installing i18n (0.7.0)
Installing json (1.8.3)
Installing minitest (5.7.0)
Installing thread_safe (0.3.5)
Installing tzinfo (1.2.2)
Installing activesupport (4.2.3)
Installing claide (0.8.2)
Installing fuzzy_match (2.0.4)
Installing nap (0.8.0)
Installing cocoapods-core (0.36.0)
Installing cocoapods-downloader (0.8.1)
Installing cocoapods-plugins (0.4.2)
Installing netrc (0.7.8)
Installing cocoapods-trunk (0.6.1)
Installing cocoapods-try (0.4.5)
Installing colored (1.2)
Installing escape (0.0.4)
Installing molinillo (0.2.3)
Installing open4 (1.3.4)
Installing xcodeproj (0.23.1)
Installing cocoapods (0.36.0)
Using bundler (1.5.1)
Your bundle is complete!
It was installed into ./vendor/bundle

インストールに成功すると、「Your bundle is complete!」のメッセージが表示されます。
プロジェクトのルートには『Gemfile.lock』というファイルが作成されています。
このファイルには、プロジェクトで利用しているパッケージとバージョンの情報が記載されます。

ネット上の情報の中には、このGemfile.lockを不要なファイルと勘違いして削除を促している人がいますが、削除してはいけません。削除してしまうと、プロジェクトで利用しているパッケージとバージョンの情報がわからなくなってしまいます。
『Gemfile.lock』は、git等のソース管理ツールできちんと管理してください。

Podfileの記載とパッケージのインストール

【terminal】

// Podfileを作成
touch Podfile

プロジェクト配下にPodfileを作成します。
上記で作成したPodfileはswiftアプリで使うパッケージのインストールに使用します。

【Podfile】

source 'https://github.com/Zi0P4tch0/Specs.git'

platform :ios, '7.0'

pod 'OpenCV', '2.4.9-zp'

iosのバージョンはios7を指定します。

【terminal】

bundle exec pod install

Analyzing dependencies
Downloading dependencies
Installing OpenCV (2.4.9-zp)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `opencv-swift.xcworkspace` for this project from now on.

パッケージの導入に成功したら、Xcodeを閉じます。
次に、GUI画面からプロジェクトフォルダに移動します。

{project-name}.xcworkspaceファイルをクリックします。

Xcodeが立ち上がり、作成したプロジェクトのPodsフォルダ以下にインストールしたパッケージが確認できます。
確認を終えたら、続けてソースコードをビルドします。

メニュー → ProductBuildを選択します。

コンパイルに成功したら、iphoneシュミレーターを立ち上げて画面を確認します。

アプリが立ち上がり画面が表示されました。次はこの準備したプロジェクトでOpenCVを使用していきたいと思います。

Swiftでのiphoneアプリ開発にオススメの本


詳細swiftよりこちらの本をオススメします。
objective-cの経験がある人や、初心者から中級者までの開発者はこの本のほうが役に立ちます。
ただし、swiftはバージョンアップの速度が早いので、購入するときは自分が利用しているswiftのバージョンでも役に立つことを確認してから購入するように注意してください。

OpenCvでの開発にオススメの本


OpenCVはこの本一択です。長く利用できるコストパフィーマンスに優れた良書です。
あとは公式サイト(とgoogle検索と試行錯誤)で大丈夫です。

参考サイト

関連記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...