読者です 読者をやめる 読者になる 読者になる

OpenCV2.3をMacOSX10.7にインストールした_2

Mac OpenCV

前回の記事:
OpenCV2.3をMacOSX10.7にインストールした_1 - nikuyoshiの日記

前回は失敗に終わったので、MacPortsでインストールし直します。

/opt/以下にインストールされて各種サイトの情報とパスが違って不安になりましたが、手動でCMakeをするよりマシでした。MacPortsの方が楽チンです。オススメ。

実行ログ

nikuyoshi@MacBookAir[12/10/11 16:33]: % sudo port install opencv
--->  Computing dependencies for opencv
--->  Dependencies to be installed: cmake
--->  Fetching archive for cmake
--->  Attempting to fetch cmake-2.8.6_0.darwin_11.x86_64.tbz2 from http://packages.macports.org/cmake
--->  Fetching cmake
--->  Verifying checksum(s) for cmake
--->  Extracting cmake
--->  Applying patches to cmake
--->  Configuring cmake
--->  Building cmake
--->  Staging cmake into destroot
--->  Installing cmake @2.8.6_0
--->  Activating cmake @2.8.6_0
--->  Cleaning cmake
--->  Fetching archive for opencv
--->  Attempting to fetch opencv-2.3.1a_1.darwin_11.x86_64.tbz2 from http://packages.macports.org/opencv
--->  Fetching opencv
--->  Verifying checksum(s) for opencv
--->  Extracting opencv
--->  Applying patches to opencv
--->  Configuring opencv
--->  Building opencv
--->  Staging opencv into destroot
--->  Installing opencv @2.3.1a_1
--->  Activating opencv @2.3.1a_1
--->  Cleaning opencv

※MacPortsでインストールした場合、サンプルプログラムは以下の場所に置いてあります。
/opt/local/share/OpenCV/samples/c

ちなみに、サンプルプログラムフォルダ内で「sh build_all.sh」とコマンドを打ってもエラーが起きてビルド出来ませんでした。build_all.sh中のgccgcc-4.0、g++ → g++-4.0にする方法も試したのですが、駄目でした。原因分からん!

Xcode4
OpenCVのヘッダファイルとライブラリのパスを設定します。
MacPortsでインストールした場合、以下の2つを指定します。

/opt/local/include/
/opt/local/lib/

※Recursiveの欄にチェックを入れるとエラーが起こることがあります

f:id:nikuyoshi:20111210213202p:image

必要なライブラリをプロジェクトに追加します。
/opt/local/lib/にある以下のライブラリをプロジェクトに加えます。
必要に応じて、OpenCVのライブラリを追加して下さい。

/opt/local/lib/libopencv_core.dylib
/opt/local/lib/libopencv_highgui.dylib
/opt/local/lib/libopencv_imgproc.dylib

f:id:nikuyoshi:20111210203720p:image

OpenCVサンプルプログラム

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main () {
    VideoCapture cap(0);
    Mat frm;
    
    while (waitKey(1) != 32) {
        cap >> frm;
        imshow("sample", frm);
    }
}

実行画面(MacBookAirだと内蔵カメラが使用されます。)
f:id:nikuyoshi:20111210214109p:image

参考ページ
Mac OSX Snow LeopardにOpenCVを入れてXCodeから使えるようにする手順 - konisimple log
OpenCV2.2をXcodeに導入する方法 - おいしいCocoaの飲み方
秘密研究所 » 【OpenCV】Xcode3.xでOpenCVを用いたプロジェクトの構築