2009OpenCVはIntelが開発したコンピュータビジョンのライブラリで、例えば顔検出などを簡単に行うことができます。SDKをつかってiPhone上やiPadで使う方法を、ビルドスクリプトとデモアプリケーションつきでメモしておきます。これらのサムネイルはデモアプリケーションのスクリーンショットです。(2011/4/17更新)。使ってみるすべてのソースコードとリソースはgithubのレポジトリに公開されています。簡単に使えるように、事前にコンパイルしたOpenCVのライブラリとヘッダファイルを入れてあります。gitがあるなら、githubからレポジトリをcloneしてください。ない場合は、githubのdownloadリンクからzipかtarをダウンロードして解凍してください。git://github.com/niw/iphone_opencv_test.gitソースコードを手に入れたら、OpenCVTest.xcodeprojをXcodeで開いてビルドします。デモアプリケーションがシミュレータと実機両方で動くことが確認できると思います。OpenCVのライブラリをソースからビルドするもちろんOpenCVのライブラリをソースからgccでクロスコンパイルすることもできます。そのための補助スクリプトを追加してあります。SDKはダイナミックリンク(.frameworkのような)に対応していない点です。コンパイルするときには静的なライブラリを作成し、アプリケーションに静的にリンクする必要があります。OpenCVのビルドにはCMakeが必要です。HomebrewかMacPortsを利用してインストールするのが簡単です。cmakeもし最近のAppleのJavaアップデートをインストールしていたとすると、javadeveloper_10.6_10m3261.dmgのインストールを求められるかもしれません。変ですが、cmakeはjni.hが必要でそれは最近のJavaアップデートで消されてしまったようです。Connectionに登録する必要があると思います。AppleはJavaを消し去りたいようですね。(2010/10/30更新)OpenCVのソースコードをSourceForgeからダウンロードしてください。OpenCV-2.2.0.tar.bz2でテストしてあります。OpenCVのソースコードをこのデモアプリケーションのディレクトリで展開してください。../OpenCV-2.2.0.patchiPhoneのシミュレータむけには以下の手順でビルドしてください。ファイルはデフォルトではopencv_simulatorディレクトにインストールされます。makeコマンドでは-jでCPUに応じてジョブ数を変更してください。installiPhoneの実機むけには以下の手順でビルドしてください。ファイルはopencv_deviceディレクトにインストールされます。installビルドサポートスクリプトビルドサポートスクリプトopencv_cmake.shはいくつかのオプションがあります。環境や目的に合わせて選択してください。--helpオプションをつけるとすべてのオプションが見られます。SDKはUIImageオブジェクトを描画に使います。SDKのAPIで可能です。IplImageをUIImageから作成するには、このようにします。ret;}戻り値のIplImageは利用後にcvReleaseImageで解放することを忘れないでください!UIImageをIplImageから作成するには、このようにします。IplImageは事前にRGBモードにしておいてください。ret;}これでOpenCVをiPhoneで使うことができます!OpenCVのライブラリを自分のプロジェクトで使う際の注意点デモアプリケーションのXcodeプロジェクトはOpenCVのライブラリを使うためにいくつか特別な設定を加えています。自分のプロジェクトでOpenCVのライブラリを使う場合は、デモアプリケーションのXcodeプロジェクトを参考に以下の設定を行ってください。libopencv_core.aなどをOpenCVのデバイス用かシミュレータ用のlibディレクトリから追加してください。Pathsで決定されますので、どちらでも構いません。Accelerate.frameworkを追加してください。OpenCVの内部で利用しているライブラリが含まれています。アクティブなターゲットを選択して情報パネルの「ビルド」タブを「情報を見る」メニューから開いてください。Flagsに追加してください。Pathsにシミュレータ用とデバイス用に追加してください。Pathsにシミュレータ用とデバイス用に追加してください。最近の状況に合わせて文章を変更。Leopardでの問題を修正。2.x対応版を公開ご支援のお願いもしこのプロジェクトを気に入って頂けましたら、お気軽に以下のフォームからPayPalを通じてご支援いただけると幸いです。皆様のご支援に感謝いたします。Licenseで公開しています。2009この情報があると大変助かります、ありがとうございます!。opencvをダウンロードし解凍するとエラーがでますので、恐らく違うopencvのファイルだと思います。さん数日前のSourceforgeの改変で、ダウンロードリンクが変更になっており、Safariではダウンロードできなくなっています。opendv-1.1pre1.tar.gzはopencv-linuxの下にありますが、Firefoxを使うなどしてダウンロードしてください。2009素晴らしいですね。参考にさせてもらいました。いった情報があると助かります。2009とても助かりました。ありがとうございました。writer関連が使えるかな、と思って試してみましたが、やっぱり無理でした。Hamken100perさんそうですねー、そのあたりすこし頑張ればできると思っていますが、がんばらないとダメですね。そもそもAPIがまだ公式ではないので、なんとも言い難いところがありますが。framework?何かのアドバイスを頂けたら大変嬉しいです。2010"../../configure_opencv"をしたら、次のようになりました。details."config.log"を見ましたが、なにがなんだかわかりません。versionや設定などは全部同じです。2010iPhoneで、OpenCVを使用したいと思いまして、参考にさせていただきました。インストール途中の、../../configure_opencvを実行したところで、下記の様になり、先に進めません。details.何か私の方で足りない事がありますでしょうか。gitよりDLしたファイルに最初からあるopencv_simulatorとopencv_deviceフォルダごと、自分のプロジェクトに追加すれば良いのか?と思い、試してみたのですが、ビルドでエラーになってしまいました。ご教授お願い致します。SDK、OpenCVそれぞれのバージョンアップについていけていません。OpenCVはビルド方法が異なるので厄介です。それぞれに対応していきたいと思いますが、今暫くお待ち下さい。2.1に対応させました。アプリケーション自体は変更ありません。Githubから最新版をpullしてください。libcxcore.a(cxlapack.o)...とエラーになってしまいます。どのように修正したら良いかお分かりでしたらご教示ください。2010OpenCVを使って書いたアプリをiPhoneで動作させようと思い参考にさせて頂きました。用patchを修正しソースよりビルドしてみましたが下記エラーが発生しています。found対応策等お分かりでしたら、ご教授頂けると助かります。iPhone上で動作しない関数等あるのでしょうか?*ライブラリは全て(libcv,libcvaux,libcxcore,libml)配置してます。know.Thanks.よろしくお願いします。2011サンプルコードを拝見しました。OpenCVTest.xcodeprojについて、質問があります。"OpneCVTest"の情報から、ヘッダ検索パスの項目を見ても、何も設定されていないようですが、opencv/cv.hはインクルードできています。Yoshimuraさん返信ありがとうございます。Xcodeで[ターゲット]-[OpneCVTest]を確認して頂くと「ヘッダ検索パス」に、指定されているのを確認しました。ひとう質問させてください。Simulator」の二つの項目があります。2011いつも参考にさせていただいています。Xcode4にアップデートすると、デバイスで実行できなくなりました。2011大変助かりました!ここの情報が無ければ確実に断念していました。2011ちょうど欲しい情報でした!本当にありがとうございます。XcodeでOpenCVを実装する方法で悩んでいたら、このサイトを見つけました。すばらしいサンプルです。ありがとうございました。(device用とsimulator用の2行)私のXcodeでは1行分しかスペースが無いのですがどうすれば2種類の設定ができるのでしょう?初歩的質問ですが、よろしかったら教えてください。Xcode4であればマウスオーバーしたときに表示される+ボタンから追加できます。Xcode3でも似たような操作だったと思います。2011初めて質問させていただきます。当方の環境はXcode4、iOS4.3です。現在opencvを使ってipadのアプリを作ろうとしていてこのサイトに辿りつきました。familyを「iphone/ipad」に変更して実行した所、OpenCVTestViewController.mの191行目のshowInView:self.viewで下記のエラーが発生しています。解決策がわかる方いらっしゃいましたら、お教え願います。