本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong)

本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv的教程比较少,要不然就是过时了。所以在一番倒腾之后,成功配置了OpenCV。写下本文供他人参考,少走弯路。

一.版本介绍

首先介绍macOS,Xcode,OpenCV版本:

macOS: macOS Sierra 10.12.4

Xcode:  Xcode 8.3(8E162)

OpenCV:opencv 2.4.13.2

二.安装OpenCV

不要从官网下载opencv,因为官网没有macos版本(ios版本不能用在macbook下),本文中使用HomeBrew安装,方便快捷。

1) 打开终端:复制粘贴下面脚本:

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

如果已经安装过会有提示,就不会再安装了,关于HomeBrew的安装,可以参考 http://www.cnblogs.com/lzrabbit/p/4032515.html

出现Installation successful 就说明已经安装成功了,输入执行brew help能查看brew的具体用法.

2) 为了保证套件的完整,接着执行官网的建议脚本,安装wget.

brew install wget

3) 接着装cmake,这个是必须要装的.

brew install cmake

4) 重点:这里就是不同于网上大部分mac配置opencv方法之处,让brew帮我们下载OpenCV,而不是自己上OpenCV官网下载,切记,我从头到尾都不会让读者上官网去下载,因为我没有成功,这里感谢提出这种方法的大大mac下配置openCV(看看就行,毕竟文章很早了).

brew install opencv

这里直接执行这个命令可能会报一个小小的错,不过无关紧要,大概意思就是不能直接找到这个命令,终端会自己接着找,然后会告诉你正确的命令应该怎么写,由于当时没有截图,所以具体命令我不记得了,实在抱歉,大家只要稍微有点英语基础,大概看下终端弹出来的描述,就能够知道具体应该执行的命令行了,这里应该是会提示出两个命令,选择关键字是opencv的执行即可,执行后brew会自动下载opencv,上图(因为本人机器上已经安装,所以没有显示安装的过程,不过这个不重要了):

这就是我最后装的OpenCV的版本,这就是为什么我不用最新的版本(因为根本没得选??????),不过大家放心,brew既然选择了这个版本自然有他的理由,读者也不用纠结这个问题,旧一点的版本不一定就不好.

下面是本地的安装目录:

/usr/local/Cellar目录下的文件都是brew帮我们下载好的,里面的cmake,wget,opencv是我们自己下载的,其他的都是brew帮我们下的(应该都是有用的东西,什么都不要我们管,很方便有没有).

三.在Xcode上配置OpenCV

创建一个空的command line 工程:选择OS X -> Application -> Command Line Tool->Next;填写自己的product名,选择语言为C++,选择自己存放的目录。

然后就是opencv的配置了:

点击工程,选择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 (这里包含了所需要的库文件).

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

关于如何进入/usr目录,还有一种方法:双指点击(相当于windows下的右击)finder,然后点击“Go to Folder”,在弹出的搜索框输入/usr,就能进入/usr目录啦。

至此,OpenCV配置大功告成。

这里献上一段zhoufan大大的测试代码,测试用代码如下所示,从Mac自带的摄像头读入图像,然后canny提取了边缘然后显示。

#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 != )
return (); 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 = ;
frame = cvQueryFrame(capture); IplImage *frame_edge = cvCreateImage(cvGetSize(frame),
IPL_DEPTH_8U,
);
while()
{
frame = cvQueryFrame(capture);
if(!frame) break; cvConvertImage(frame,frame_edge,);
frame = cvCloneImage(frame_edge); frame_edge = doCanny(frame_edge,,,); cvShowImage("Camera",frame_edge);
char c = cvWaitKey();
if(c == ) break;
} cvReleaseCapture(&capture);
cvReleaseImage( &frame_edge );
cvReleaseImage( &frame); return (int);
}

贴几张自己跑出来的测试图:

程序运行各项设备利用率:

转自:http://www.cnblogs.com/hongyang/p/6644775.html

MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)的更多相关文章

  1. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)

    本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...

  2. Mac使用Xcode配置openGL

    Mac使用Xcode配置openGL 博主这学期有图形学课要用到OpenGL,于是首先就开始配置开发环境了.应该说网上Windows上配置OpenGL教程比较多,Mac版的比较少.博主特来分享配置过程 ...

  3. Mac下 如何配置虚拟机软件Parallel Desktop--超详细

    Mac下 如何配置虚拟机软件Pparallel Desktop--超详细 Mac 的双系统解决方案有两种,一种是使用Boot Camp分区安装独立的Windows,一种是通过安装Parallels D ...

  4. Mac 下VIM配置

    Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: ____________________ ...

  5. Mac下iTerm2配置lrzsz功能

    Mac下iTerm2配置lrzsz功能 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具. 优点就是不用再开一个sftp工具登录上去上传下载文件. 近期在mac上通 ...

  6. 亲测可行,AndroidStudio 究竟如何配置gradle

    一.你不想看到的 Gradle Build Running 话说在天朝当程序员也是很不容易的,不管是查阅资料还是下载东西,很多时候你会发现自己上网姿势不对,当然对大多数程序员来说,这都不是事儿.这次重 ...

  7. MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行)

    注: 本文来源于:Smile_Miracle 的< MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行) > 第一步:关闭ME,去一下地址下载jad的反编译 ...

  8. 2016年最新mac下vscode配置golang开发环境支持debug

    网上目前还找不到完整的mac下golang环境配置支持,本人配置成功,现在整理分享出来. mac最好装下xcode,好像有依赖关系安装Homebrew打开终端窗口, 粘贴脚本执行/usr/bin/ru ...

  9. Mac下如何配置环境变量

    以前都是在Windows平台上开发,在配置一些框架的时候,为了能够在命令行中调用,一般都会配置bin目录到环境变量中,这是为了让命令行在执行的时候,能够查找到对应的执行文件. 现在工作使用Mac,配置 ...

随机推荐

  1. 如何用两块硬盘做磁盘阵列的教程Raid 1

    如今,市面上的大部分服务器都自带有阵列卡.只要有两块以上硬盘,我们就可以利用服务器自带的阵列卡做磁盘阵列.Raid 1 为例.Raid 1 是磁盘阵列的其中一个系列,将两块硬盘构成磁盘阵列,可以保证数 ...

  2. 在Django中运行脚本文件以及打印出SQL语句。

    Django终端打印SQL语句 在Django项目的settings.py文件中,在最后复制粘贴如下代码: LOGGING = { 'version': 1, 'disable_existing_lo ...

  3. 添加删除mysql用户

    create user 'hive_user'@'%' identified by '密码'; grant all privileges on hive.* to hive_user@'%'; cre ...

  4. nodejs运行的两种方式<小记>

    在mac上: 1.方式一:使用IDE运行 配置需要运行的js文件: 配置并运行 ①配置运行的js文件和运行的文件不一致时会导致报错.如图备注 ②当运行另一个文件提示端口8080被占用 ,需要改为其他端 ...

  5. 安全测试5_服务端的安全漏洞(SQL注入、命令注入、文件操作类)

    前面大致讲解了下客户端的安全漏洞,现在来讲解下服务端的安全漏洞. 1.SQL注入(SQL Injection),是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库 ...

  6. 微信小程序笔记<四>page.js —— 页面注册

    小程序的每个页面都是独立的,每个页面都必须有 page.js 和 page.wxhl 文件,page.json 和 page.wxss 文件非必要文件,注意如果创建 page.json 则至少保证有一 ...

  7. (转)3款优秀的移动webAPP网站在线测试工具

    原文:原文地址 目前适配各个终端的需求越来越强烈呢?比如我们APP项目上线之后,需要一个宣传推广专题页,这个页面当然最好是采取响应式布局来完成.因为需要来推广和下载我们的APP. 无论用户是电脑打开, ...

  8. [Lua]弱引用table

    参考链接: http://www.benmutou.com/archives/1808 一.强引用table lua中的table是引用类型,更准确地说,是强引用类型.如下第二段代码,在内存中有一个{ ...

  9. CSS选择器效率

    CSS选择器效率从高到低的排序如下: ID选择器 比如#header 类选择器 比如.promo 元素选择器 比如 div 兄弟选择器 比如 h2 + p 子选择器 比如 li > ul 后代选 ...

  10. <转载>C#与JAVA的区别 http://www.cnblogs.com/Asa-Zhu/archive/2012/11/08/2761114.html

    C#(C-Sharp)是Microsoft的新编程语言,被誉为“C/C++家族中第一种面向组件的语言”.然而,不管它自己宣称的是什么,许多人认为C#更像是Java的一种克隆,或者是Microsoft用 ...