MAC系统安装opencv

1.Homebrew安装

Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说就是mac下的apt-get、yum神器。

Homebrew的安装非常简单,打开终端复制、粘贴以下命令,回车就可以了

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


安装过的童鞋就不用再安了,如果安装过再执行这条命令就会提示你:你的电脑已经安装过brew,如你想要重新安装必须要先执行下面的脚本:

      ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

      想必大家也知道什么意思了.脚本最后的install就是安装,uninstall就是卸载.

Homebrew常用的

搜索软件:brew search 软件名,如brew search wget

安装软件:brew install 软件名,如brew install wget

卸载软件:brew remove 软件名,如brew remove wget

更多的?自己去官网找 http://brew.sh/index_zh-cn.html

2. 安装cmake

在终端中输入:“brew install cmake”,自动安装cmake。

3.下载opencv for mac安装源文件,解压缩到opencv文件夹

    进入存放解压后的opencv文件夹,新建一个空的文件夹release,进入该文件夹,编译安装opencv,使用命令如下:

       mkdir release
       cd release
       cmake -G "Unix Makefiles" ..        (注意后面的..其实就是上以级目录,那是 openCV source folder)
    完成之后进行安装
       make(扫描编译依赖包,需要一段时间)
       sudo make install

安装好的lib文件存放在“/usr/local/lib”文件夹,h文件存放在“/usr/local/include”。
       至此,opencv for Mac 安装完毕,参考的网址如下:
       http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation
       http://tilomitra.com/opencv-on-mac-osx/
  •      在路径/usr/local/include下会生成opencv与opencv2子文件夹,里面包含了许多opencv的头文件。
  •      在路径/usr/local/lib下也会生成opencv的相关的库。

4.openCV的卸载

     卸载也挺简单,回到release目录下,执行命令sudo make uninstall就妥妥的了。然后,需要手动清理一下/usr/local/这个目录下,关于opencv的一些相关文件。

5.在Xcode下建立一个openCV project

  • 首先打开事先准备好的Xcode,在下面这个一个界面里选择OS X -> Application -> Command Line Tool
技术分享


  • 填写自己的product的名字,然后选则语言为C++。

技术分享

  • 需要为新建的工程指定Header搜索路径。这里,填入/usr/local/include/usr/local/include/opencv就可以了。

技术分享

  • 需要为新建的工程指定Library搜索路径。这里,填入/usr/local/lib

技术分享


  • 对工程进行如下设置 (点击“+”->“Add Other”->"shift+command+G"找到/usr/local/lib目录下的库文件)
    MAC系统安装opencv_第1张图片
    转到路径/usr/local/lib内去寻找程序必须的.dylib文件,这里为了方便,我将所有的.dylib文件都添加入了工程内。

  • 复制下面代码可以试运行。
#include 
#include 
#include 
#include 


using namespace std;
using namespace cv;

IplImage* doCanny(IplImage* image_input,
                  double lowThresh,
                  double highThresh,
                  double aperture)
{
    if(image_input->nChannels != 1)
        return (0);

    IplImage* image_output = cvCreateImage(cvGetSize(image_input),
                                           image_input->depth,
                                           image_input->nChannels);

    cvCanny(image_input,image_output,lowThresh,highThresh,aperture);

    return(image_output);
}


int main(int argc, char* argv[])
{
    cvNamedWindow("Camera" , CV_WINDOW_AUTOSIZE );

    CvCapture* capture = cvCreateCameraCapture(CV_CAP_ANY);

    assert(capture != NULL);

    IplImage *frame = 0;
    frame = cvQueryFrame(capture);

    IplImage *frame_edge = cvCreateImage(cvGetSize(frame),
                                         IPL_DEPTH_8U,
                                         1);
    while(1)
    {
        frame = cvQueryFrame(capture);
        if(!frame) break;

        cvConvertImage(frame,frame_edge,0);
        frame = cvCloneImage(frame_edge);

        frame_edge = doCanny(frame_edge,70,90,3);

        cvShowImage("Camera",frame_edge);
        char c = cvWaitKey(15);
        if(c == 27)  break;
    }

    cvReleaseCapture(&capture);
    cvReleaseImage( &frame_edge );
    cvReleaseImage( &frame);


    return (int)0;
}


你可能感兴趣的:(工具类学习,brew,mac,软件,编程,opencv)