[openCV]Mac平台下openCV的搭建(Xcode + openCV 2.4.10)
2015-05-25 13:52
281 查看
1.序言
从今天开始,开始使用Mac来跑openCV了。开始感觉其实应该开发阻力不是太大样子,事实上来讲,其实比Windows要繁琐一些呢。现时点的配置为os x yosemite 10.10.3
openCV 2.4.10(现时点的最新版本为:3.0 RC1)
Xcode Version 6.3.2 (6D2105)
在这个配置下,我按照如下步骤搭建了我的openCV平台。
2.配置环境的步骤
2.1 openCV的选择
刚才也说了,现时点openCV的最近版本为openCV 3.0 RC1。我一开始也选择了使用openCV 3.0 RC1,然而在配置完之后,程序编译无法通过,有一个头文件貌似无法找到。当时也忘记了截图,后续等3.0 RC1更新后,我再尝试更新吧,那时候有还是有问题的话,我再把截图放上来。openCV下载链接:http://opencv.org/downloads.html
2.2 安装openCV的前置准备
安装brew这个软件挺强大的,是Mac平台下一个套件的管理工具。可以使用一个命令,就可以来install与uninstall一个套件。其官网(http://brew.sh/index_zh-cn.html)写了入手的方法。
在终端窗口中,输入如下脚本
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"[/code]
安装CMake
CMake是一个跨平台的编译工具,这个也是一个必须的工具。由于我们安装了Homebrew,此时就可以在终端里输入以下命令,来install CMake。sudo brew install cmake
这里需要权限。
IDE的选择:Xcode的安装
其实这里有很多的选择,我选择了使用Apple自带的Xcode去进行openCV的运行。这里挺简单的,直接download就可以了。2.3 openCV的安装
从这里开始进行openCV的安装,首先将下载好的zip文件解压,放到特定的路径下。终端内,通过命令cd进入到该路径下。然后执行下列代码cd <path-opencv> mkdir release cd release cmake -G "Unix Makefiles" .. make
按照以上步骤,可以将openCV安装好。这里有个问题,我使用openCV 2.4.10安装的时候,有个地方会跳两个Error。error: comparison of array 'this->latestPoints' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare] if (latestPoints != NULL) error: address of array 'this->latestCounts' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion] if( latestCounts )
这两个Error来自于calibfilter.cpp这个文件,需要修改里面的一部分代码之后,就能通过安装了。具体的可以参考这个博客,说的很详细了。
在MacOS10.10安装OpenCV2.4.10遇到的问题和解决办法
按照这里面的链接,在指定的几个地方修改代码之后,就可以安装上openCV 2.4.10了。
在路径/usr/local/include下会生成opencv与opencv2子文件夹,里面包含了许多opencv的头文件。
在路径/usr/local/lib下也会生成opencv的相关的库。2.4 openCV的卸载
卸载也挺简单,回到release目录下,执行命令sudo make uninstall就妥妥的了。然后,需要手动清理一下/usr/local/这个目录下,关于opencv的一些相关文件。3.在Xcode下建立一个openCV project
首先打开事先准备好的Xcode,在下面这个一个界面里选择OS X -> Application -> Command Line Tool
填写自己的product的名字,然后选则语言为C++。
需要为新建的工程指定Header搜索路径。这里,填入/usr/local/include与/usr/local/include/opencv就可以了。
需要为新建的工程指定Library搜索路径。这里,填入/usr/local/lib
这里其实还需要check一下 C++ standard library 是否为libstdc++。
最后,为工程添加所必须的.dylib文件。在工程下新建个文件夹openCV_Frameworks,右键选择Add Files to..
转到路径/usr/local/lib内去寻找程序必须的.dylib文件,这里为了方便,我将所有的.dylib文件都添加入了工程内。
到此为止,mac下使用Xcode就可以开是进行openCV的开发了。测试用代码如下所示,从Mac自带的摄像头读入图像,然后canny提取了边缘然后显示。// // 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; }
执行结果如下图所示。4.结言
到此,已经可以在Xcode下愉快的和openCV君玩耍了。其实想说的是,在安装openCV 2.4.10的时候,还是会弹出一些warning, 或许在以后的开发中,会有些问题吧。嘛,到时候再说咯。
原文发于博客:http://blog.csdn.net/thnh169/参考文献
[1]Develop With OpenCV on Mac :http://hujiaweibujidao.github.io/blog/2014/03/13/develop-with-opencv-on-mac-os-x/
[2]OpenCV 2.4.6 + mac Xcode 4.6 安裝教學 : http://vincecc.blogspot.jp/2013/09/opencv-246-mac-xcode-46.html
[3]在MacOS10.10安装OpenCV2.4.10遇到的问题和解决办法 : http://blog.sina.com.cn/s/blog_6a740b360102ve3s.html
[4]OpenCV on Mac OSX: A step-by-step guide :http://tilomitra.com/opencv-on-mac-osx/
[5]在MacOS和iOS系统中使用OpenCV : http://blog.devtang.com/blog/2012/10/27/use-opencv-in-ios/=============更新日志===================
2015 - 5 - 25 初版
相关文章推荐
- 【OpenCV】Mac OS X平台使用Xcode搭建OpenCV环境
- Mac平台下QT+Opencv 环境搭建
- IOS Mac平台上OpenCV开发环境搭建(配置)
- MAC平台下Xcode配置使用OpenCV的具体方法 (2016最新)
- MAC平台下Xcode配置使用OpenCV的具体方法(转载)
- 学习OpenCV系列之一 - 开发环境搭建(Xcode 6.0@Mac OS X 10.10)
- MAC平台下Xcode配置使用OpenCV的具体方法 (2016最新)
- Mac平台下Opencv开发环境搭建
- Mac平台上OpenCV开发环境搭建
- MAC平台下Xcode配置使用OpenCV的具体方法
- MAC平台下Xcode配置使用OpenCV的具体方法 (2016最新)
- MAC平台在Xcode环境中配置使用OpenCV
- Mac平台上OpenCV开发环境搭建
- Mac平台上OpenCV开发环境搭建
- Mac平台下Opencv开发环境搭建
- Cocos从入门到精通--《Cocos引擎在mac平台上的搭建》
- Windows系统下以Eclipse为平台,搭建Python和OpenCV
- Windows/Mac平台下Visual Studio Code C++开发环境搭建
- 基于深度学习框架的火灾识别报警平台搭建----OpenCV3.1.0读取dav视频数据出错
- React Native简介与MAC平台下环境搭建