在 MacOS 中安装

查看: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

本教程将假设您的计算机上安装了 PythonNumpyGit

注意

OSX 默认附带 Python 2.7,如果您想专门使用它,则需要安装 Python 3.8。

如果安装了 XCode 和 XCode Command Line-Tools,则您的计算机上已经安装了 git。

安装 CMake

  1. 找到适合您系统的版本,并从其发布页面下载 CMake
  2. 安装 dmg 软件包并从应用程序启动它。这将为您提供 CMake 的 UI 应用程序
  3. 从 CMake 应用程序窗口中,选择菜单 Tools --> How to Install For Command Line Use。然后,按照弹出窗口中的说明进行操作。
  4. 默认情况下,安装文件夹将为 /usr/bin/,请选择 Install command line links (安装命令行链接) 提交该文件夹。
  5. 通过运行来测试它是否正常工作
bash 复制代码
cmake --version

注意

您可以使用 Homebrew 将 CMake 与

brew install cmake

获取 OpenCV 源代码

您可以使用最新的稳定 OpenCV 版本,也可以从我们的 Git 存储库中获取最新的快照。

获取最新的稳定 OpenCV 版本

  • 转到我们的下载页面
  • 下载源存档并解压缩。

从 Git 存储库获取尖端的 OpenCV

启动 Git 客户端并克隆 OpenCV 存储库。如果您需要 OpenCV contrib 存储库中的模块,也可以克隆它。

例如

cpp 复制代码
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

  1. 创建一个临时目录,我们将其表示为 ,您要在其中放置生成的 Makefile、项目文件以及目标文件和输出二进制文件并输入到那里。build_opencv

    例如

    bash 复制代码
    mkdir build_opencv
    cd build_opencv

    注意

    保持源代码目录清洁是一种很好的做法。在源代码树之外创建构建目录。

  2. 配置.执行 cmake [<some optional parameters>] <path to the OpenCV source directory>

    例如

    bash 复制代码
    cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=ON ../opencv

    或者:

    bash 复制代码
     cmake-gui
    • 将 OpenCV 源代码路径设置为,例如/home/user/opencv
    • 将二进制构建路径设置为 CMake 构建目录,例如/home/user/build_opencv
    • 设置可选参数
    • 运行:"配置"
    • run: "生成"
  3. 部分参数说明

    • 构建类型:(或CMAKE_BUILD_TYPE=Release``Debug)
    • 使用模块进行构建opencv_contrib设置为OPENCV_EXTRA_MODULES_PATH``<path to opencv_contrib>/modules
    • 用于建筑文件(需要 doxygen)BUILD_DOCS=ON
    • 设置为生成所有示例BUILD_EXAMPLES=ON
  4. [可选]构建 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_

  5. 编译. 从构建目录执行 make,建议在多个线程中执行此操作

    例如

    cpp 复制代码
    make -j7 # runs 7 jobs in parallel
  6. 通过指定变量在基于 CMake 的项目中使用 OpenCV。 find_package(OpenCV) specify OpenCV_DIR=<path_to_build_or_install_directory> variable.

通过指定变量find_package(OpenCV)``OpenCV_DIR=<path_to_build_or_install_directory>在基于 CMake 的项目中使用 OpenCV。

注意:

可以使用像 Homebrewpip 这样的包管理器来安装仅 OpenCV 的版本(不是最前沿的)。

参考文献:

1、《Installation in MacOS》@sajarindider

相关推荐
独正己身10 分钟前
代码随想录day4
数据结构·c++·算法
我不是代码教父3 小时前
[原创](Modern C++)现代C++的关键性概念: 流格式化
c++·字符串格式化·流格式化·cout格式化
利刃大大3 小时前
【回溯+剪枝】找出所有子集的异或总和再求和 && 全排列Ⅱ
c++·算法·深度优先·剪枝
子燕若水3 小时前
mac 手工安装OpenSSL 3.4.0
c++
*TQK*3 小时前
ZZNUOJ(C/C++)基础练习1041——1050(详解版)
c语言·c++·编程知识点
ElseWhereR4 小时前
C++ 写一个简单的加减法计算器
开发语言·c++·算法
*TQK*4 小时前
ZZNUOJ(C/C++)基础练习1031——1040(详解版)
c语言·c++·编程知识点
※DX3906※5 小时前
cpp实战项目—string类的模拟实现
开发语言·c++
萌の鱼5 小时前
leetcode 2080. 区间内查询数字的频率
数据结构·c++·算法·leetcode
xianwu5437 小时前
反向代理模块jmh
开发语言·网络·数据库·c++·mysql