在 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

相关推荐
fqbqrr4 小时前
2606C++,C++构的多态
开发语言·c++
小欣加油4 小时前
leetcode56 合并区间
c++·算法·leetcode·职场和发展
Yolo_TvT5 小时前
C++:析构函数
c++
Hello:CodeWorld7 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
搬砖魁首9 小时前
基础能力系列 - 多线程2 - 条件变量
c++·rust·条件变量·原子类型·线程同步互斥
chase_my_dream9 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
牛油果子哥q10 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
Tr2e10 小时前
🐱 从 0 到 1:用 Swift 手搓一个 macOS 桌面宠物(附源码)
macos·ios·swift
凡人叶枫11 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
不想写代码的星星12 小时前
std::move 根本不移动,就像老婆饼里没有老婆
c++