mac下安装opencv

来源:互联网 发布:遗传算法本质 编辑:程序博客网 时间:2024/06/06 02:20

系统环境:ML10.7.5

 cmake版本:2.8.10

XCode版本:4.5.1 

OpenCV版本:2.4.3

Eclipse版本:Juno Service Release 1

    为了方便刚刚接触mac的朋友,我在这里首先说明下opencv在mac下的形式。主要有两种:1. OpenCV for Mac  2. OpenCV for IOS 其中IOS的版本是为了让你的opencv使用在iphone或者ipad项目中的,即是给编写跑在IOS系统中的程序用的。而MAC的版本是给编写跑在MAC系统中的程序用的,这点非常重要,大家一定要根据自己的需求,而下载对应的版本。现在和大家分享,希望有所帮助。

    我们的目标是编写在mac系统上可以运行的C++程序。


一、安装OpenCV for MAC

 

1.     首先下载opencv for mac安装源文件,解压缩


2.     安装cmake程序。


3.     通过终端进入存放解压后的opencv文件夹,编译安装opencv,使用命令如下:


        >sudo cmake -G "Unix Makefiles"

       >sudo make -j8

       >sudo make install 

4.     经过步骤3则OpenCV已经被Compile完成,并且相应的lib文件存放在“/usr/local/lib”文件夹,h文件存放在“/usr/local/include”。

       至此,opencv for Mac 安装完毕。

 

二、在MAC下使用OpenCV


1. 使用终端编译。新建DisplayImage.cpp文件,代码如下


#include <cv.h>

#include <highgui.h>

using namespace cv;

int main( int argc, char** argv )

{

  Mat image;

  image = imread( argv[1], 1 );

 

  if( argc != 2 || !image.data )

    {

      printf( "No image data \n" );

      return -1;

    }

 

  namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );

  imshow( "Display Image", image );

 

  waitKey(0);

 

  return 0;

}

 

2. 新建CMakeLists.txt文件,代码如下:


   project( DisplayImage )

   find_package( OpenCV REQUIRED )

   add_executable( DisplayImage DisplayImage )

   target_link_libraries( DisplayImage ${OpenCV_LIBS} )

 

3. 编译两个文件


   cd <DisplayImage_directory>


   cmake .

   make

4. 运行编译好的结果


./DisplayImage lena.jpg

 

三、在XCode中使用OpenCV


1. 创建一个空的command line工程。

2. 在main.cpp中粘贴以下代码:

//

//  main.cpp

//  Created by Jason Yank on 13-05-08.

//  Copyright (c) 2013年 Jason Yank. All rights reserved.

//

 

#include <iostream>

#include <opencv2/opencv.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <opencv/cvaux.hpp>

#include <fstream>

using namespace std;

 

#define BYTE unsigned char

 

int main(int argc, const char * argv[])

{

    // insert code here...

#if 1

    //get the image from the directed path

           IplImage* img = cvLoadImage("/Users/jasonyank/1.jpg", 1);

           //NSLog(img);

           //create a window to display the image

           cvNamedWindow("picture", 1);

           //show the image in the window

           cvShowImage("picture", img);

           //wait for the user to hit a key

           cvWaitKey(0);

           //delete the image and window

           cvReleaseImage(&img);

           cvDestroyWindow("picture");

#endif

           //return

           return 0;

}

 

3. 添加lib文件:右键点击工程名,选择“Add files to..”,在文件选择对话框弹出来时输入“/”,在弹出的路径框中输入:/usr/local/lib,全选该文件夹下的全部dylib文件,添加至工程。

5. 添加lib文件查找支持: 点击工程名文件,进入“Build Settings”选项卡,在“Library Search Paths”栏中输入“/usr/local/lib”

6. 添加头文件:点击工程名文件,进入“Build Settings”选项卡,在“Header Search Paths”栏中输入:“/usr/local/include   /usr/local/include/opencv”

7. 编译运行整个工程,运行成功~~


四、在Eclipse中使用OpenCV


1. 按照正常的步骤,使用eclipse建立一个Mac C++工程,包含一个cpp文件,代码如xcode中的代码相同即可。

2. 右击工程名, 选择“Properties”,在属性配置页中选择,点击C/C++ Build, 在下拉选项中选择 Settings. 在右边的选项卡中选择 Tool Settings。

3. 在GCC C++ Compiler选项列表中选择Includes,在Include paths(-l)中添加安装好的opencv的头文件存放目录:/usr/local/include/

4. 在MacOS X C++Linker选项列表中选择Library,在Library search path (-L)中添加安装好的opencv Lib文件存放目录:/usr/local/lib/

5. 在MacOS X C++Linker选项列表中选择Library, 在Libraries(-l) 中依次点击“+”号,添加需要使用的Lib文件(通常情况下,使用前三个):

opencv_core opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_features2d opencv_calib3d opencv_objdetect opencv_contrib opencv_legacy opencv_flann

6. 重新build all工程,大功告成~~*^_^*

0 0