基于Mac os 10.12.6,openCV3.3+opencv_contrib配置,使用cmake

来源:互联网 发布:马士兵java基础教程 编辑:程序博客网 时间:2024/06/05 23:41

首先感谢邓小俊同学的博客
https://www.cnblogs.com/dengxiaojun/p/5245206.html
大部分的过程就是里面的情况了,这篇博客提到了我在配置过程中遇到的问题,希望可以给有需要的人提供一些参考。

安装homebrew,打开终端,写入代码

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

安装之后可以用
brew help
若输出帮助信息则表示安装成功;

下载opencv
https://opencv.org
这里写图片描述
随便选择一个你需要的版本,我选择的是3.3.1,下载Sources,存放于某个路径下,随意放就好,不影响后续编译;

opencv_contrib从github下载
https://github.com/opencv/opencv_contrib
这里写图片描述
下载好之后是这样的;

下载完成后解压,在根目录下新建一个build文件夹用于后续存放编译文件;
这里写图片描述

下载cmake gui
https://cmake.org/download/
这里写图片描述
dmg格式直接安装即可

下载好后安装,过程很简单。安装好后打开
这里写图片描述
上面where is the source code,填入你下载好的opencv的路径,下面填入新建的build文件夹的路径;
输入好后点击Configure,弹出的页面不要修改,默认选择unix makefile;
理论上就会开始配置了,我在过程中遇到了下载一个文件很久都不成功的问题

download ippicv_2017u3_mac_intel64_general_20170822.tgz

这个文件一致没有下载出来,然后我就自己从github下载了,下载好后放在根目录下面,然后配置继续。
https://github.com/opencv/opencv_3rdparty/branches/all
配置结束后会有以下字样

configure done

这里写图片描述
在search中输入extra,会出现这里写图片描述
那么即为extra,因为opencv_contrib是独立于主要框架的库,有些功能还不是特别稳定;
在value中输入 /你的opencv_contrib地址/modules
点击configure;
这个过程还好,需要下载一个data,会有点慢,但是没有什么大问题,没有太多停顿;
配置完成后点击generate,显示generate done

终端配置
打开终端,cd到之前创建的opencv3.3.1/build下
这里写图片描述
/你的存放位置/opencv3.1.0/release/里面现在出现了一个makefile文件

StaceydeMacBook-Air:~ Stacey_W$ cd /Users/apple/Documents/opencv-3.3.1/buildStaceydeMacBook-Air:build Stacey_W$ make

make之后需要很久才行,中间有warning但是不影响最后的结果,中间慢的时候不要急;

[ 99%] Linking CXX executable ../../bin/opencv_interactive-calibration[ 99%] Built target opencv_interactive-calibrationScanning dependencies of target opencv_version[ 99%] Building CXX object apps/version/CMakeFiles/opencv_version.dir/opencv_version.cpp.o[100%] Linking CXX executable ../../bin/opencv_version[100%] Built target opencv_version

成功之后输入sudo make install,输入密码后继续等待;
中间会有各种提示缺包或者warning,但是看起来不影响;
后面配好之后就会有很多installing,可以说很开心了。

最终的lib在/usr/local/lib
这里写图片描述

header在/usr/local/include
这里写图片描述

至此,opencv和opencv_contrib都配置好了,在xcode配置时导入一下lib配置一下build setting就可以了~~

有任何问题欢迎提出哦,我会修改的

阅读全文
0 0