首先交代下安装环境MAC OSX10.10,安装版本为OpenCV2.4.10,Xcode的版本为6.1.1,基本上都是各个软件的最新版本。因为OpenCV3.0还在测试阶段,正式版本没有发布,所以没用3.0.下面详细介绍安装步骤:
一,安装Homebrew
Homebrew类似Ubuntu的apt-get,Fedora的yum,简单来说就是为了方便安装软件而生的。打开Homebrew官方网站http://brew.sh/index_zh-cn.html,找到安装homebrew的ruby命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
二,利用homebrew安装cmake
输入brew update,然后输入brew upgrade。之后输入brew install cmake 这样等待一会cmake就安装好了。
三,到OpenCV官网下载MAC/Linux版本的OpenCV
地址:http://opencv.org/downloads.html 因为最新3.0还是beta版本阶段,杂家这次选择的是2.4.10版本,下载过程中发现用MAC貌似在sourceforge上链接死活打开不了。后来在PC上速度刷刷的就下好了。不方便转到windows上下的可以在MAC上换个浏览器,本文后面也会附上2.4.10的MAC/linux版本的下载链接。
下载后的文件名为opencv-2.4.10.zip,大小为91.7M。双击解压,进到/Users/yanzi/Desktop/工程/opencv-2.4.10/路径下,然后新建一个release文件夹,再进到release文件夹下。输入cmake -G "Unix Makefiles" .. 或者参照官网输入:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
也是可以的。然后输入make就开始编译了,在MAC上编译速度就是比windows上快。大概十分钟编译完毕,然后输入sudo make install进行安装。
至此OpenCV在MAC上算安装完毕了。
四,配置Xcode,编写OpenCV的测试用例
打开Xcode,新建一个command line工程:
工程名字TestOpenCVDemo,注意语言选择C++。
这样C++的HelloWorld就建好了,编译应该能正常运行。接下来先来配置xcode再来写代码。
最左边选中工程,然后右边选中Targets,再BuildSettings下,右边搜索框里输入search,很快就能找到Search Paths设置项。在Header Search Paths里输入:/usr/local/include 在Library Search Paths里输入:/usr/local/lib
示意图如下:
接着在Build Phases里找到Link Binary With Libraries,点击+号
选择add other,然后按下/键,输入lib的路径/usr/local/lib,点go:
然后就是选择OpenCV的库了,用哪个添加哪个,没必要都添加完。我们添加最基础的几个:
libopencv_core.2.4.11.dylib
libopencv_highgui.2.4.11.dylib
libopencv_imgproc.2.4.11.dylib
libopencv_ml.2.4.11.dylib
可以按下command实现多选。添加上面这四个最常用的就可以胜任本次的测试代码了。添加完毕后可以在左侧看到:
在main.cpp里输入以下内容,实现显示一张照片及显示灰度化后的:
//
// main.cpp
// TestOpenCV
//
// Created by yanzi on 14/12/22.
// Copyright (c) 2014年 yanzi. All rights reserved.
//
#include <iostream>
using namespace std;
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, const char * argv[]) {
// insert code here...
std::cout << "Hello, World!\n";
string path = "/Users/yanzi/Documents/photo/nanhuaijin.jpg";
Mat image = imread(path);
namedWindow("NanHuaiJin");
imshow("NanHuaiJin", image);
Mat gray;
cvtColor(image, gray, COLOR_RGBA2GRAY);
namedWindow("gray");
imshow("gray", gray);
waitKey(0);
return 0;
}
运行结果如下:
至此大功告成,补充一个OpenCV使用中的小诀窍。尽管xcode的自动补全很好用,但有时还是不如人意。如
cvtColor(image, gray, )第三个参数它就不会补全了,如果你记得这个参数是COLOR开头,那么恭喜你,xcode还是能补全的,如果你什么都不知道,又不想问度娘,可以到OpenCV安装过程中的解压缩包里,
/Users/yanzi/Desktop/工程/opencv-2.4.10路径下,输入grep 'cvtColor' * -r 这个grep命令里第二个参数*表示当前路径下的所有文件,-r表示递归搜索,可以看到搜出来一堆的东西。(此时可以把release文件件删掉了)最终找到
/Users/yanzi/Desktop/工程/opencv-2.4.10/modules/imgproc/include/opencv2/imgproc路径下的imgproc.hpp,按下command+F输入cvtColor进行搜索.
这样在上面就可以看到一堆的关于该函数的参数说明了。虽然比直接问度娘麻烦点,不过程序员还是要培养这种看源码解决问题的能力。仅抛砖引玉哈。
附OpenCV2.4.10的Linux/Mac版本下载地址:http://pan.baidu.com/s/1eQ1pkkE
参考:http://wuzhaoxi1992511.blog.163.com/blog/static/18375811820132213544889/