查看:OpenCV系列文章目录(持续更新中......)
上一篇:在基于 Android 相机预览的 CV 应用程序中使用 OpenCL
下一篇:基于ARM 的Linux系统的交叉编译
以下步骤已针对 MacOSX (Mavericks) 进行了测试,但也应该适用于其他版本。
所需软件包
- CMake 3.9 or higher
- Git
- Python 2.7 or later and Numpy 1.5 or later
本教程将假设您的计算机上安装了 Python、Numpy 和 Git。
注意
OSX 默认附带 Python 2.7,如果您想专门使用它,则需要安装 Python 3.8。
如果安装了 XCode 和 XCode Command Line-Tools,则您的计算机上已经安装了 git。
安装 CMake
- 找到适合您系统的版本,并从其发布页面下载 CMake
- 安装 dmg 软件包并从应用程序启动它。这将为您提供 CMake 的 UI 应用程序
- 从 CMake 应用程序窗口中,选择菜单 Tools –> How to Install For Command Line Use。然后,按照弹出窗口中的说明进行操作。
- 默认情况下,安装文件夹将为 /usr/bin/,请选择 Install command line links (安装命令行链接) 提交该文件夹。
- 通过运行来测试它是否正常工作
cmake --version
注意
您可以使用 Homebrew 将 CMake 与
brew install cmake
获取 OpenCV 源代码
您可以使用最新的稳定 OpenCV 版本,也可以从我们的 Git 存储库中获取最新的快照。
获取最新的稳定 OpenCV 版本
- 转到我们的下载页面。
- 下载源存档并解压缩。
从 Git 存储库获取尖端的 OpenCV
启动 Git 客户端并克隆 OpenCV 存储库。如果您需要 OpenCV contrib 存储库中的模块,也可以克隆它。
例如
cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
Building OpenCV from Source Using CMake
-
创建一个临时目录,我们将其表示为 ,您要在其中放置生成的 Makefile、项目文件以及目标文件和输出二进制文件并输入到那里。
build_opencv
例如
mkdir build_opencv cd build_opencv
注意
保持源代码目录清洁是一种很好的做法。在源代码树之外创建构建目录。
-
配置.执行
cmake [<some optional parameters>] <path to the OpenCV source directory>
例如
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=ON ../opencv
或者:
cmake-gui
- 将 OpenCV 源代码路径设置为,例如
/home/user/opencv
- 将二进制构建路径设置为 CMake 构建目录,例如
/home/user/build_opencv
- 设置可选参数
- 运行:“配置”
- run: “生成”
- 将 OpenCV 源代码路径设置为,例如
- 部分参数说明
- 构建类型:(或
CMAKE_BUILD_TYPE=Release
Debug
) - 使用模块进行构建opencv_contrib设置为
OPENCV_EXTRA_MODULES_PATH
<path to opencv_contrib>/modules
- 用于建筑文件(需要 doxygen)
BUILD_DOCS=ON
- 设置为生成所有示例
BUILD_EXAMPLES=ON
- 构建类型:(或
- [可选]构建 python。设置以下 python 参数:
PYTHON3_EXECUTABLE = <path to python>
PYTHON3_INCLUDE_DIR = /usr/include/python<version>
PYTHON3_NUMPY_INCLUDE_DIRS = /usr/lib/python<version>/dist-packages/numpy/core/include/
注意
要指定 Python2 版本,您可以在上述参数中替换为
PYTHON3_
PYTHON2_
-
编译. 从构建目录执行 make,建议在多个线程中执行此操作
例如
make -j7 # runs 7 jobs in parallel
- 通过指定变量在基于 CMake 的项目中使用 OpenCV。
find_package(OpenCV)
specifyOpenCV_DIR=<path_to_build_or_install_directory>
variable.
通过指定变量find_package(OpenCV)
OpenCV_DIR=<path_to_build_or_install_directory>
在基于 CMake 的项目中使用 OpenCV。
注意:
可以使用像 Homebrew 或 pip 这样的包管理器来安装仅 OpenCV 的版本(不是最前沿的)。
参考文献:
1、《Installation in MacOS》@sajarindider