1. 安装

打开官网的Linux安装OpenCV的网页,打开这个网页的目的不是按照它所提供的步骤安装OpenCV(因为你会遇到一个坑,下文会提到),而是为了安装一些依赖的包或库。

其中的pkg-configcmake必须安装,GCC G++就更不用说了,其他的能装上就装。
安装方法,这里使用Homebrew。如果你电脑没有安装Homebrew,建议安装,方法参考官网
使用方法很简单:比如要安装cmake,先search一下:

sudo brew search cmake

根据反馈看看有没有这个包,包名有没有写错。都没有问题的话使用以下命令安装:

sudo brew install cmake

好,以上能安装的包都装完之后。开始安装opencv

sudo brew tap homebrew/science
sudo brew install opencv

安装完成之后,在目录/usr/local/Cellar就会出现一个文件夹opencv。现在配置环境变量,之前我们不是安装了pkg-config,现在用到了:打开.bash_profile,加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/Cellar/opencv/2.4.12/lib/pkgconfig
export PKG_CONFIG_PATH export LD_LIBRARY_PATH=/usr/local/Cellar/opencv/2.4.12/bin:SLD_LIBRARY_PATH
export PATH=${PATH}:/usr/local/Cellar/opencv/2.4.12/lib

保存关闭,然后终端执行命令【source .bash_profile】使之生效。
在打开另!一!个!终端窗口,输入命令查看是否安装成功:

pkg-config --libs opencv
pkg-config --cflags opencv
配置opencv路径

2. 测试

新建文件夹test,文件夹内创建文件test.cpp,代码:

#include </usr/local/Cellar/opencv/2.4.12/include/opencv2/opencv.hpp>
#include </usr/local/Cellar/opencv/2.4.12/include/opencv2/highgui/highgui.hpp>
using namespace cv; int main(int argc, char** argv)
{
// Load an image from file - change this based on your image name
Mat img = imread("lena.jpg", CV_LOAD_IMAGE_UNCHANGED); if(img.empty())
{
fprintf(stderr, "failed to load input image\n");
return -1;
}
Mat gray;
cvtColor(img,gray,CV_BGR2GRAY);
if( ! imwrite("image_copy.png", img) )
{
fprintf(stderr, "failed to write image file\n");
} imshow("Display Image", img);
waitKey(0); // no need to release anything with c++ !
return 0;
}

然后新建文件makefile,写入:

test:test.cpp
g++ -o test test.cpp `pkg-config --libs opencv` `pkg-config --cflags opencv` clean:
rm test

一定注意,第二行打头是一个tab,空!格!不!行!
好,根据代码中写的拷一张图片进来,名字lena.jpg
然后终端执行【make】,此时会生成一个文件test,然后终端再执行【./test】。好,一张图片的窗口就弹出来了:

Mac OS X 安装并测试 OpenCV的更多相关文章

  1. wget Mac OS 下安装

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

  2. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  3. Mac OS X安装OpenGL

    Mac OS X安装OpenGL 安装最新的cmake brew install cmake brew upgrade cmake 安装glew brew install glew 安装GLTools ...

  4. TensorFlow 安装官方教程:Ubuntu 安装,Mac OS X 安装,Windows 安装

    从我的使用体验来看  Ubuntu 是最好的, Mac 没有显卡,后期跑大项目比较鸡肋,Windows 安装各种依赖各种坑.Ubuntu 安装 TensorFlow 方便,后面安装  TensorFl ...

  5. Mac OS X安装OpenCV 3.1.0

    在我的上一篇文章“”中已经介绍了Linux下OpenCV的安装配置方法,在这里仅仅记录Mac上相对于Linux的一点点差异. 1. 安装依赖包 Mac上安装软件包使用的工具是brew,用此来替代Ubu ...

  6. 以 MAMP 为 Mac OS X 安装并设置 PHP开发环境

    PHP 页需要通过 Web 服务器处理.因此,要在 Dreamweaver 中使用 PHP 进行开发,您需要访问支持 PHP 的 Web 服务器和 MySQL 数据库.phpMyAdmin 也很实用, ...

  7. 在Mac OS上安装Vagrant和Docker的教程

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/128.html?1455808640 当听到很多人在说Docker是多么多 ...

  8. Mac OS 10.8 中的 OpenCV 开发环境设置

    一.编译OpenCV 要在Mac OS上使用OpenCV,需要自己编译源代码.操作过程如下: 1)从http://www.cmake.org下载cmake 2.8安装包. 2)安装cmake 2.8. ...

  9. mac os下载安装jmeter

    一.简介 jmeter是属于apache的一个开源产品,纯Java应用.最初用来进行功能测试,而后又扩展了更多的测试功能. 二.下载 进入apache的jmeter下载页:http://jmeter. ...

随机推荐

  1. 【学习笔记】【C语言】char类型

    1. 存储细节 ASCII单字节表(双字节GBK\GB2312\GB18030\Unicode) 2. 常见错误 char c = A; char c = "A"; char c ...

  2. UI2_ScrollView&UIPageControl

    // // ViewController.h // UI2_ScrollView&UIPageControl // // Created by zhangxueming on 15/7/10. ...

  3. lua中pairs和ipairs的区别

    标准库提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代数组元素的(ipairs),迭代字符串中单词的 (string.gmatch)等等.LUA手册中 ...

  4. 继承关系在内存和DB中的映射

    使用 将若干相似的类映射为单表,对拥有许多特殊数据的类使用具体表继承. 对高层次使用类表继承,对低层次使用具体表继承. Single Table Inheritance 在DB中将类继承层次设计为一个 ...

  5. MySQL Limit order by

    今天写模糊查询的时候,按照时间排序并进行分页时,在mybatis的映射文件中有这样一条sql语句 SELECT <include refid="Base_Column_List&quo ...

  6. 济南学习 Day 5 T1 pm

    欧拉函数(phi)题目描述: 已知(N),求phi(N). 输入说明: 正整数N. 输出说明: 输出phi(N). 样例输入: 8 样例输出: 4 数据范围: 对于20%的数据,N<=10^5 ...

  7. javascript给不能修改的函数增加额外处理的方法

    不知道是否可行,但姑且google之. 查看到相关的stack overflow(堆栈溢出)帖子:http://stackoverflow.com/questions/1659219/add-to-a ...

  8. python——异常处理

    python处理异常的格式一般如下: try: A部分 Except  .... [as ..]: B部分 [ finally: C部分 Else: D部分 ] ps: 1.不管有没有异常,final ...

  9. 【风马一族_Java】如何使用ACSLL表的值,

    ------------------------------------------------------------------------------ 一,依次ACSLL表的值 将自然数赋值给c ...

  10. JavaScript 垃圾回收机制分析

    同C# .Java一样可以手工调用垃圾回收程序,但是由于其消耗大量资源,而且手工调用的不会比浏览器判断的准确,所以不推荐手工调用垃圾回收.   最近精力主要用在了Web 开发上,读了一下<Jav ...