MacでXcode上からOpenCVを使う本当の方法

こんにちは 就職先決まりません でぶりんです

僕は晴れて5年生ってことで、卒業研究をやります やってます
それでOpenCVを使うって事になったんですけど、どうも上手く行かないんです
最初の環境はFedoraで整えてたんですけど、なんかうまくいかないし、
(つかいたくないけど)WindowsでVisualStudio動かしてOpenCVやるかーって思って、環境をWin10に変えてもWin10で動きませんでした

その後は一ヶ月とかそこらくらい頑張ってVisualStudioでなんとかしようと思ってたんですけど、まじで動かないしでVirtualBoxでFedora動かしてもOpenCV動かないで(動くんだけどサンプルしか動かない、ネットに転がってるコードが動かない)
もうやってられるか〜!くそ〜!

ってなって僕のMacでXcodeにOpenCVいれたら一発で動いたっていうお話をこれからします。くやしい。

インターネットにある情報は大抵間違いで、そのとおりにしても動きません

って事で今から自分用と困ってる誰かの為にMacでOpenCV動かす為のエントリを書いてきます

重要じゃないし簡単なことはさっさと済ませて大事なとこだけを書きます。

まず最初にやることはXcodeのインストールです。
AppStoreからサクッと入れてください。

そしてCommandLinetoolを入れます。
そしてHomeBrewを入れます。簡単ですね。
エラーとか出たら僕はこうやって解決しました。

まぁOpenCVやるんだったら入ってるだろうけど…

そして次はCmakeとかいうのをインストールします。
多分必要になると思います。
これは僕は
$ brew install cmake
してもエラーで突っ返されるので、dmgファイルからGUIでインスコしました。
これも適当に調べてくだしあ。
Cmakeのダウンロードリンク(本家URLに飛ぶ)

んでCmakeをインスコしたらターミナルからOpenCV入れていきます。
詳しくはここから

ここで重要なのは、
$brew install opencv

$brew install opencv3
はちがいます
上のコマンドはOpenCV2.x.x.x系が入るらしいです
は2.4.13.2が入りました
下のコマンドはOpenCV3.2.0が入るハズです




で、ここまでは多分まともに入ると思います
ここからです
詳しくはここからのサイトに書いてある
その中から,Header Search Paths を探して,/usr/local/Cellar/opencv を追加.そして non-recursive ではなく,recursive にします.
が大きな間違いです
追加するのは/usr/local/Cellar/opencv/2.4.13.2/includeです
opencv3.2.0を使いたい場合は/usr/local/に/opencv3があるはずなんでFinderとかで頑張ってさがして
/usr/local/Cellar/opencv3/3.2.0/includeを貼り付けましょう

Command Shift G
の同時押しでパス名指定でFinderで開けます
/usrは不可視ファイルのようですから、
$ open /usr
してもいいかもです

そうして追加したあとはmain.cppにソースファイルをコピペでもなんでもして、左上の三角のボタンを押せばビルドが始まります
問題ないソースだったら成功します

問題あるソースだったらエラー箇所がハイライトされます
僕がもらったエラーはこんな感じですた

#include <opencv_lib .hpp>
にたいして、”opencv.hpp”なんてファイルなんてねぇぞどアホ!ってエラーに対しては、

#include <opencv2/opencv_lib.hpp>
という感じに変更して上げましょう

コメント化しても良いかもです よくわかんないし(危ないかもね)

それでも、そんなファイルがねぇ!って怒られるときは本当に無いんで
ここを参考に適当にファイルを作っちゃいましょう

あってるのかどうか知らんですけど、このリンク先の内容的なのをファイルにしてopencv_lib.hppって名前つけるだけでコンパイル通ります
環境変数の設定とかはいらんです

僕はそんな感じでコンパイル通りました!
通ってサンプルコードも動いて万々歳です
僕は三角形のワーニングが出てますけど、多分こんなことしてるからでしょう
三角形のワーニングはよくわからんし、main.cppに対して文句つけてるわけじゃないのでとりあえず無視しておきましょう


僕はこんな感じでOpenCVつかえるようになりました



それでも動かない場合は?
しらね。自分で調べろ 俺は動くからもう知らん

コメント

人気の投稿