本文编辑时间:2021-01-18
当前最新版本:opencv4.5.1+opencv_contrib4.5.1
opencv4.5.1安装
直接使用homebrew安装:brew install -s opencv
有关opencv_contrib的问题
见这里:https://github.com/Homebrew/homebrew-core/blob/master/Formula/opencv.rb 这是使用brew安装时执行的命令,我们可以看到它下载了opencv
和opencv_contrib
两个包,同时查看cmake指令,这里挑几个来看:
- 第71行:启用了
non-free
算法的编译; - 第72行:启用了
opencv_contrib
编译;
所以,homebrew默认安装opencv_contrib,不需要考虑重新编译opencv+opencv_contrib,这也就是为什么说brew安装是最简单的方法。
自己在这个地方停留了很长时间,在寻找如何补全编译,后来在官方文档中看到了这个文件,解决了自己的问题。
在MacBook Air with M1上,下载包文件+编译时间在7分钟左右;
安装后的目录分析
现阶段,M1原生的homebrew的安装目录只能为/opt/homebrew
。homebrew安装的包都在/opt/homebrew/Cellar
下,opencv也不例外,具体为/opt/homebrew/Cellar/opencv/4.5.1_2
,其文件结构如下:
4.5.1_2
|__bin
|
|__include
| |__opencv4
| |__opencv2
| |__opecv.hpp
| |__videoio.hpp
| |__...
|__lib
| |__libopencv_xxx.dylib
| |__...
|
|__share
这里只展开了include/opencv4/opencv2
和lib
文件夹下的部分内容,我们可以大概看出:
-
include/opencv4/opencv2
:C++中#include <opencv2/opencv.hpp>
正是这里的目录。这里面不仅包含了opencv的头文件,更有像videoio
,surface_matching
等来自contrib库的文件夹和文件; -
lib
:配置Library Path
正是这个目录。
下面结合Xcode来看一下这些目录怎么用。
Xcode调用方法
参考链接:https://zhuanlan.zhihu.com/p/113873616
这里面有关Xcode的配置需要改三处:
- 第一次导入
dylib
文件时,目录应该是上面的/lib
文件夹处; - 设置
Search Path
时,目录应该是如下图所示:
执行测试代码,出图即可。
希望这篇文章对您有所帮助。