MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--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);
}
贴几张自己跑出来的测试图:
程序运行各项设备利用率:
MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)的更多相关文章
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- Mac使用Xcode配置openGL
Mac使用Xcode配置openGL 博主这学期有图形学课要用到OpenGL,于是首先就开始配置开发环境了.应该说网上Windows上配置OpenGL教程比较多,Mac版的比较少.博主特来分享配置过程 ...
- Mac下 如何配置虚拟机软件Parallel Desktop--超详细
Mac下 如何配置虚拟机软件Pparallel Desktop--超详细 Mac 的双系统解决方案有两种,一种是使用Boot Camp分区安装独立的Windows,一种是通过安装Parallels D ...
- Mac 下VIM配置
Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: ____________________ ...
- Mac下iTerm2配置lrzsz功能
Mac下iTerm2配置lrzsz功能 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具. 优点就是不用再开一个sftp工具登录上去上传下载文件. 近期在mac上通 ...
- 亲测可行,AndroidStudio 究竟如何配置gradle
一.你不想看到的 Gradle Build Running 话说在天朝当程序员也是很不容易的,不管是查阅资料还是下载东西,很多时候你会发现自己上网姿势不对,当然对大多数程序员来说,这都不是事儿.这次重 ...
- MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行)
注: 本文来源于:Smile_Miracle 的< MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行) > 第一步:关闭ME,去一下地址下载jad的反编译 ...
- 2016年最新mac下vscode配置golang开发环境支持debug
网上目前还找不到完整的mac下golang环境配置支持,本人配置成功,现在整理分享出来. mac最好装下xcode,好像有依赖关系安装Homebrew打开终端窗口, 粘贴脚本执行/usr/bin/ru ...
- Mac下如何配置环境变量
以前都是在Windows平台上开发,在配置一些框架的时候,为了能够在命令行中调用,一般都会配置bin目录到环境变量中,这是为了让命令行在执行的时候,能够查找到对应的执行文件. 现在工作使用Mac,配置 ...
随机推荐
- java-6数组
一. 请编写一个程序将一个整数转换为汉字读法字符串.比如"1123"转换为"一千一百二十三".更进一步,能否将数字表示的金额改为"汉字表达?比如将&q ...
- PPT中翻书动画的制作
一.新建一个空白的PowerPoint文档. 二.制作两个页面: 1.点击“自选图形”右边的小三角,选择“基本图形”下的“折角形”图形,在PowerPoint中画出一个书页样的图形,宽度最好小 ...
- 学习ASP.NET MVC(十)——排序
1 按照价格对书籍进行排序 下面我们通过一个简单的例子学习如何对书籍信息按照价格进行排序. 首先,我们在Controllers\BookController.cs文件中的SearchIndex方法添加 ...
- JavaScript中定义变量和存储值的类型判断
以严谨的语法表示作为前提 首先变量被定义,然后给变量赋予一定的值,变量真正的作用就是存储值 变量的定义和赋值 变量的定义: var a 使用关键字var+变量名表示定义一个变量 a 变量的赋值: va ...
- 关于脚本化css
---恢复内容开始--- 想把自己认为的最重要的,最有用的几块写上,以后会边学边总结完善. 1.首先我们通过JavaScript可以获取到我们想要获取的元素的样式.而这个样式并非单独的哪一个部分的规则 ...
- 文件的上传(表单上传和ajax文件异步上传)
项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举的主要对于小文件上传的处理! 资源下载: 一. ...
- smarty模板基础1
smarty模板的作用可以让前端和后端分离(也就是前端的显示页面和后端的php代码). smarty模板的核心是一个类,下载好的模板中有这么几个重要的文件夹 (1)libs核心文件夹(2)int.in ...
- 基于 socket.io, 简单实现多平台类似你猜我画 socket 数据传输
一.前言 socket.io 实现了实时双向的基于事件的通讯机制,是基于 webSocket 的封装,但它不仅仅包括 webSocket,还对轮询(Polling)机制以及其它的实时通信方式封装成了通 ...
- Selenium Web 自动化 - 项目持续集成(进阶)
Selenium Web 自动化 - 项目持续集成(进阶) 2017-03-09 目录 1 背景及目标2 环境配置 2.1 SVN的安装及使用 2.2 新建Jenkins任务3 过程分析 1 背景 ...
- Hibernate学习笔记①
---恢复内容开始--- 1.JavaEE的三层结构 WEB层--Service层--DAO层 2.Hibernate版本 Hibernate3.x 4.x 5.x 4版本是过渡版本 不使用 5 ...