机器学习与计算机视觉程序员

在Xcode和AppCode上配置OpenCV3

2017-12-03  本文已影响0人  小飞猪哈哈

在浏览了几篇博文后,我也成功的在我们的机器上配置了opencv3,下面是我的安装过程:

我的环境:

      System:macOS High Sierra 10.13.1
      Xcode:Xcode 9
      OpencCV:OpenCV3.3.1

安装流程:

  安装homebrew:
       ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
  安装wget:
       brew install wget
  安装cmake:
       brew install cmake
  安装OpenCV3:
       brew tap homebrew/science
       brew install opencv3 --with-contrib

配置OpenCV3

图1.png
    3. 然后就会出现build settings,选择**All**(下图)
图2.png
   4. 在搜索框输入search paths(直接打search也可以的):
图3.png
    5. 双击Header Search Paths, 正常情况下你的应该是空的,
       只不过我这是已经配置好了的。你点击下方的加号,就
       会让你添加这个东西,你把我上面的/usr/local/include 和 
       /usr/local/include/opencv 添加进去即可。
图4 .png
图5.png
  6. 右击工程new一个group(我取名为opencv_framework),
     点击下空白桌面,然后shift+command+g,这个目录是
     brew帮我们下载的opencv目录下的lib目录,然后大家按照
     文件种类排序可以看到一些.dylib文件,将这些.dylib文件拖
     入刚才新建的文件夹下.

注意:只需要把开发者那些拖入进去即可,不需要拖入那些在左下角带有黑色小尖头的。


new group.png
拖动开发者的那些文件到你的group里面.png
就变成了这样.png
 7. 这样,就配置完成了xcode的opencv3。

可以测试一下这个配置成功与否:测试一下版本:

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

int main() {
    std::cout << "Hello, OpenCV version "<< CV_VERSION << std::endl;
    return 0;
}
如果返回: 版本测试.png

就成功了

也可以用这段代码:

#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, 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;
}

如果打开了摄像头像这样:


结果.png

也成功了!!!

过程和在Xcode上基本上一摸一样,只不过在AppCode里面,名字不一样而已,下面贴图:

image.png

只不过你要找的是project settings
其他的是一摸一样的步骤

上一篇下一篇

猜你喜欢

热点阅读