opencv在MAC下的安装

本文详细介绍了如何在Mac环境下安装配置OpenCV,并通过一个简单的摄像头边缘检测示例程序验证安装成功。从安装brew开始,到cmake、OpenCV的安装及Xcode配置全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版本信息

MAC版本:10.10.5
Xcode版本:7.2
openCV版本:2.4.13
安装步骤:

  1. 联网
  2. 安装brew,在终端输入指令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

不知道指令以后会不会更改,先把brew的官网放这http://brew.sh/index_zh-cn.html
这里写图片描述
3.安装cmake,在终端里面接着输入(需要输入密码)

    brew install cmake

值得注意的是有些强迫症的童鞋会在指令开头加了’sudo’,嗯,我这么用就报错了。
这里写图片描述
4.安装opencv
还是在终端里面,先把当前路径跳转到(也就是用’cd’指令)opencv的路径,然后再输入以下指令

   >sudo cmake -G "Unix Makefiles"
   >sudo make -j8
   >sudo make install 

这里一定要用’sudo’,这不是强迫症的问题,我第一次少了’sudo’结果文件没有复制到usr文件夹里面
这些都做好了之后,/usr/local/include下会生成opencv与opencv2子文件夹,里面包含了许多opencv的头文件。
/usr/local/lib下也会生成opencv的相关的库。
5.在Xcode的设置
如图,找到Search Path中找到Header Search Path 和 Library Search Path,加入文件路径。
这里写图片描述

在Header Search Path中加入以下路径:
/usr/local/include
/usr/local/include/opencv
在Library Search Path加入以下路径:
/usr/local/lib

确认C++ Standard Library 是否为libstdc++(一般不会出问题),
这里写图片描述
在工程中添加路径/usr/local/lib中需(所)要(有)的.dylib(文件太多了还是新建一个文件夹保存以下吧……),当然/usr是隐身的,访问该路径直接输入cmd+shift+g。
运行代码(网上代码比较多,为了避免代码小白不会更改文件路径直接找了一个即运行即可用的代码,也就是运行过后会显示摄像头中经过边缘处理的画面,小白切记点击esc来正常退出程序)

//代码出处:http://www.bubuko.com/infodetail-826748.html
//  main.cpp
//  Camera_Capture
//
//  Created by zhoufan on 15/5/24.
//  Copyright (c) 2015年 zhoufan. 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, 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;
}

参考资料:
1.http://blog.youkuaiyun.com/ramonyang/article/details/37603933
2.http://www.bubuko.com/infodetail-826748.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值