在 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

相关推荐
(Charon)5 分钟前
【C++】 定时器入门:从定时任务到 epoll 驱动
开发语言·c++
泡干脆面就番茄36 分钟前
02_摄像头实时人脸检测与微笑识别
python·opencv
励志不掉头发的内向程序员36 分钟前
【LibreCAD 2D架构】鼠标点下的坐标为什么会被“吸”走?LibreCAD 对象捕捉系统解析
开发语言·c++·qt·学习·系统架构
Sunsets_Red39 分钟前
浅谈扫描线
c++·算法·编程·题解·洛谷·扫描线·信息学竞赛
深念Y1 小时前
黑苹果P400-卡顿排查与优化记录
linux·macos·ios·pve·黑苹果·英伟达·n卡
朝朝辞暮i1 小时前
C++第一课
开发语言·c++·算法
老赵的博客1 小时前
c++ tcp的三次握手
c++
张小姐的猫1 小时前
【AI大模型接入SDK】 —— Ollama本地接入Deepseek
java·linux·开发语言·网络·c++·人工智能
不爱学英文的码字机器1 小时前
让 Live2D 角色真正开始对话:Open-LLM-VTuber 从本地部署到远程访问
服务器·opencv·微信·电脑
wabs6661 小时前
关于二叉树【力扣116.填充每个节点的下一个右侧节点指针的思考】
数据结构·c++·算法·leetcode·二叉树·层序遍历