美文网首页OpenCv
MAC平台下Xcode配置使用OpenCV的具体方法

MAC平台下Xcode配置使用OpenCV的具体方法

作者: _imp_ | 来源:发表于2016-11-17 09:52 被阅读2911次
    1. 打开终端,复制粘贴下面脚本:
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    你的电脑如果已经安装过brew了,如你想要重新安装必须要先卸载homebrew:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
    
    1. 为了保证套件的完整,接着执行官网的建议脚本,安装wget:
      brew install wget

    2. 接下来就利用Homebrew来安装cmake:

      brew update
      brew upgrade
      brew install cmake

    3. 重点:安装opencv
      第一种方法:利用homebrew安装opencv

    brew search opencv
    brew install opencv
    // 安装完成之后检查一下依赖:
    brew info opencv
    

    Easy install for beginners

    brew install opencv3 --with-contrib 
    

    For intermediate and advanced users.

    brew install opencv3 --with-contrib --with-cuda --with-ffmpeg --with-tbb --with-qt5
    
    brew install opencv3 --with-contrib --with-cuda --with-gphoto2 --with-gstreamer --with-jasper --with-libdc1394 --with-opengl --with-openni2 --with-tbb --with-vtk --with-java  --without-opencl
    

    第二种方法:
    去官网上下载OpenCV,链接地址http://opencv.org/downloads.html (国内可能略卡,打不开的请自行墙)
    选择“OpenCV for Linux/Mac”进行下载
    打开下载目录,双击解压opencv-3.1.0,到该路径下,然后新建一个release文件夹,再进到release文件夹下。

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    

    然后输入make就开始编译了,在OS上编译速度就是比Win上快。大概十分钟编译完毕,最后输入sudo make install进行安装,安装花的时间也挺久的,要十来分钟。

    至此OpenCV就算安装完毕了。
    在路径/usr/local/include下会生成opencv与opencv2子文件夹,里面包含了许多opencv的头文件。
    在路径/usr/local/lib下也会生成opencv的相关的库。
    关于如何查找这个“/usr/local”,打开Finder,按住Command+Shift+G,然后输入/usr/local回车就进去啦,OS下很多文件是隐藏的,通过这种方法就能进去,其它方法百度上很多,就不一一列举了。

    创建工程

    击工程,选择TARGETS->右侧选择All->Build Settings -> 搜索框输入search paths ->选择search paths下面的Header Search Parhs ->双击后面的详细信息添加指定路径:/usr/local/include (大家可以点击空白桌面按shift+command+g前往该目录下查看,这里目录里有刚才下好的OpenCV库的头文件)
    选择search paths下面的Library Search Parhs ->双击添加指定路径:/usr/local/lib (这里包含了所需要的库文件).

    111.png
    222.png
    右击工程new一个group,然后打开/usr/local/Cellar/opencv/2.4.13/lib目录(同样点击下空白桌面,然后shift+command+g)这个目录之前带大家看过一次就是brew帮我们下载的opencv目录下的lib目录,然后大家按照文件种类排序可以看到一些.dylib文件,将这些.dylib文件拖入刚才新建的文件夹下.我这里是18个文件,网上有说要加所有后缀是dylib文件,其实左下角带箭头的那些不用管.

    至此,mac Xcode里配置OpenCV就大功告成了!!!是不是很简单你都不敢相信,接下来你就可以在main.cpp文件里编译你的OpenCV工程了!!!

    这里献上一段测试代码:

    //
    //  main.cpp
    //  OpenCV_1
    //
    //  Created by 龙虾 on 2016/11/17.
    //  Copyright © 2016年 龙虾. All rights reserved.
    //
    
    #include <iostream>
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/opencv.hpp>
    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, const 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;
    }
    
    
    

    相关文章

      网友评论

        本文标题:MAC平台下Xcode配置使用OpenCV的具体方法

        本文链接:https://www.haomeiwen.com/subject/kawrpttx.html