2015/07/04

【OpenCV】安裝在Mac及XCode筆記





要安裝openCV前,你需要先具備幾個工具
1. 已安裝command line tool 的 XCode:我的版本是6.4
2. 去官網下載最新openCV for Mac:我的是3.0.0


Step 1. 開啟你的terminal, 安裝homebrew

?
1

Step 2. 安裝cmake

?
1
brew install cmake

Step 3. cd到你解壓縮openCV後的資料夾,一一輸入下列指令

?
1
2
3
4
5
mkdir release
cd release
cmake -G "Unix Makefiles" ..
make
sudo make install


以上openCV就成功安裝囉!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
接下來的步驟是如何用Xcode建立openCV的project (C++)


Step 4. 打開你的Xcode,用command line tool建立一個新project,建立完後會跑出build setting視窗



要改下面幾個設定(超級重要!!!)
1.  Header Search Paths :改成/usr/local/include
2. Library Search Paths : 改成/usr/local/lib

Step 5. Add files
到你的project旁按右鍵,會出現 "Add files to ..."


點進去按 command+shift+g 輸入 /usr/local/lib,把裡面的library全部選起來按add

以上project設定完成
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
接下來是測試

Test

我拿openCV的sample code 來測試,應該可以在openCV的資料夾下/samples/cpp/tutorial_code/introduction/display_image下找到
路徑自己改一下


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//! [includes]
#include < opencv2/core/core.hpp>
#include < opencv2/imgcodecs.hpp>
#include < opencv2/highgui/highgui.hpp>
  
#include < iostream>
#include < string>
//! [includes]
//! [namespace]
using namespace cv;
//! [namespace]
using namespace std;
int main( int argc, char** argv )
{
    //! [load]
    string imageName("隨便一個圖片路徑"); // by default
    if( argc > 1)
    {
        imageName = argv[1];
    }
    //! [load]
     
    //! [mat]
    Mat image;
    //! [mat]
     
    //! [imread]
    image = imread(imageName.c_str(), IMREAD_COLOR); // Read the file
    //! [imread]
     
    if( image.empty() )                      // Check for invalid input
    {
        cout <<  "Could not open or find the image" << std::endl ;
        return -1;
    }
     
    //! [window]
    namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
    //! [window]
     
    //! [imshow]
    imshow( "Display window", image );                // Show our image inside it.
    //! [imshow]
     
    //! [wait]
    waitKey(0); // Wait for a keystroke in the window
    //! [wait]
    return 0;
}

成功跑出圖片就ok囉!