opencv for Mac

I 背景

Mac(Ios 9.0), 时间: 2015年11月.
      本人也是小白,在网上爬了几天才安装好.

II 安装OpenCV for Mac

    1. 首先下载opencv for mac的安装源文件, opencv官网:http://opencv.org

    1. 安装cmake程序. 下载cmake的dmg文件安装即可, cmake官网地址:https://cmake.org/

      这里如果你已经安装了

    1. 通过终端进入存放解压后的opencv文件夹(cd opencv的解压文件),然后使用如下编译命令安装opencv(就是还是在终端输入):

        • sudo cmake -G "Unix Makefiles"        
          (这里要求输入密码,就是你每次下载了东西要安装的时候都会要你输入的那个密码
          但是需要注意的是,在你输入密码的时候,密码是不会显示在终端中的)
        • sudo make -j8
      • sudo make install

  1. 经过步骤3则OpenCV已经被Compile完成,也就是OpenCV安装完成了, 并且相应的lib文件存放在“/usr/local/lib”文件夹,h文件存放在“/usr/local/include”。
    (这里, 由于/usr是隐藏在硬盘HD中的,你可以进入Finder,然后 command + shift + h进入, 或者在终端cd /usr/local进入)

III 在XCode中使用OpenCV

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

    1. 将下面的代码复制黏贴到工程下的main.cpp中
                #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. 添加lib文件:右键点击工程名,选择“Add files to..”,在文件选择对话框弹出来时输入“/”,在弹出的路径框中输入:/usr/local/lib,全选该文件夹下的全部dylib文件,添加至工程。

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

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

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

Mac 平台下安装 OpenVC的更多相关文章

  1. Mac平台下的抓包神器 —— Charles

    在开发界,“抓包”这个词想必大家耳熟能详.通过抓包工具,能够获取设备在网络通讯过程中的交换数据包.在 Windows 平台上,笔者使用较多的是 Fiddler 工具,但是由于 Fiddle 使用 C# ...

  2. 在Window平台下安装xgboost的Python版本

    原文:http://blog.csdn.net/pengyulong/article/details/50515916 原文修改了两个地方才安装成功,第3步可以不用,第2步重新生成所有的就行了. 第4 ...

  3. wget Mac OS 下安装

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...

  4. 在Mac OSX下安装Microsoft Calibri字体

    参考: Where can I find default Microsoft fonts Calibri, Cambria? 在Mac OSX下安装Microsoft Calibri字体 1.下载: ...

  5. 【android开发】如何在Linux平台下安装JDK环境

    原文:http://android.eoe.cn/topic/android_sdk Linux平台JDK安装 本文主要描述如何在Linux平台下安装JDK环境.进入网页:http://www.ora ...

  6. Windows 平台下安装Cygwin后,sshd服务无法启动

    Windows 平台下安装Cygwin后,sshd服务无法启动 系统日志记录信息: 事件 ID ( 0 )的描述(在资源( sshd )中)无法找到.本地计算机可能没有必要的注册信息或消息 DLL 文 ...

  7. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  8. 在Windows平台下安装与配置Memcached及C#使用方法

    1.在Windows下安装Memcached 资料来源:http://www.jb51.net/article/30334.htm 在Windows平台下安装与配置Memcached的方法,Memca ...

  9. Arduino可穿戴教程Linux平台下安装Arduino IDE

    Arduino可穿戴教程Linux平台下安装Arduino IDE Linux平台下安装Arduino IDE Linux平台下的安装方式和Windows下的zip形式安装是类似的,只是Linux下的 ...

随机推荐

  1. Android 通用获取Ip的方法(判断手机是否联网的方法)!!!

    大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和 我们3G卡的Ip地址当然是不一样的. 首先我尝试了如下 ...

  2. 信号之sigpending函数

    sigpending函数返回信号集,其中的各个信号对于调用进程是阻塞的而不能递送,因而也一定是当前未决的.该信号集通过set参数返回.(这些信号是已经产生的信号,但因为信号屏蔽字中对其设置了屏蔽位,从 ...

  3. HTML5 面试中最常问到的 10 个问题

    1. HTML5 新的 DocType 和 Charset 是什么?HTML5 现在已经不是 SGML 的子集,DocType 简化为:                  <!doctype h ...

  4. 多线程NSOperation

      NSOperation(经常使用): 1.为什么会有NSOperation?弥补gcd的一些问题:1)下载为例子:如果gcd放到队列中的block操作面对网络有问题,block之外无法取消bloc ...

  5. html select用法总结

    本文将介绍select 原生的常用方法,这些都是经过测试,兼容ie6到ie10,及chrome,火狐等,也就是说大部分浏览器都兼容.如果大家发现有不兼容的情况,可以跟我留言. 我们对基本的用法了如指掌 ...

  6. debian 开启SSH

    1.修改sshd_config文件,命令为:vi /etc/ssh/sshd_config 2.将#PasswordAuthentication no的注释去掉,并且将NO修改为YES  //我的ka ...

  7. [Oracle EBS R12]SQL Queries and Multi-Org Architecture in Release 12 (Doc ID 462383.1)

    In this Document   Abstract   History   Details   Previous Releases   Release 12   Multi-Org Session ...

  8. 简单理解前端web开发的MVC模式

    随着前端Ajax兴起.前端开发工作进一步划分:js开发和ui页面制作.另外从整个前端项目的清晰明朗以可扩展性角度来看,MVC的应用也越来越必要,特别是对大的项目. 例如 需要给一个页面上的button ...

  9. JavaScript高级程序设计(第三版)学习笔记8、9、10章

    第8章,BOM BOM的核心对象是window,具有双重角色,既是js访问浏览器的一个接口,又是ECMAScript规定的Global对象.因此,在全局作用域中声明的函数.变量都会变成window对象 ...

  10. Socket知识总结

    一.网络编程相关概念 1. 互联网通过ip定位电脑 2. 在电脑中通过port定位程序 3. 程序和程序之间通过协议定义通信数据格式 二.Socket相关概念 1. ip地址 1) 每台联网的电脑都有 ...