Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南

马肤

温馨提示:这篇文章已超过469天没有更新,请注意相关的内容是否还可用!

摘要:使用Mac M1电脑,通过Homebrew安装OpenCV是一个相对简单的流程。用户需要在M1电脑上安装Homebrew包管理器,这是一个开源软件安装平台。随后,通过Homebrew安装OpenCV,这是一个开源计算机视觉和机器学习软件库。安装完成后,用户可以在Mac M1电脑上使用OpenCV进行各种计算机视觉应用。这一流程相对便捷,为开发者在Mac上实现图像处理、视频分析等功能提供了便利的途径。

我的 Mac 是 M1 芯片,MacOS Sonoma 14.2.1 版本。

从官网安装 OpenCV

Mac 电脑使用 OpenCV 只能先从官网下载源码,然后手动编译,不像 Windows 那样给你一个编译好的版本,下面是安装步骤:

1、手动编译还需要下载很多依赖才能顺利完成,根据 opencv 官网的 mac 配置教程,至少得安装 CMake、python3 等环境。

2、我最后没有使用源码编译的方式,因为官网推荐的教程中也用到了 Homebrew 这个工具,所以我采用 Homebrew 来安装 OpenCV-Java 环境。

正常的用 Idea 加载 OpenCV-Java 环境的思路:

1、在官网下载源码并编译完成后,你会在一个特定的文件夹下面找到编译好的 jar 包。

2、然后在 Idea 中的 File->ProjectStructure->Libraries 中点击+号,选择 Java 并添加这个 jar 包,然后就可以使用 opencv 了。

最麻烦的是安装这个 opencv 源码并编译的过程,下面我们从 Homebrew 的介绍开始。

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第1张

第一部分:Homebrew 安装

Homebrew 是一个用命令行下载各种软件的软件集合,下载完 Homebrew 本体后,其会在本体中内置很多软件的下载地址,当你需要那个软件的时候,Homebrew 会自动根据配置文件配置所安装软件的环境变量。

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第2张

Homebrew 将软件分成了四个仓库:brew Homebrew 源代码仓库、homebrew-core Homebrew 核心软件仓库、homebrew-bottles Homebrew 预编译二进制软件包、homebrew-cask MacOS 客户端应用。

安装 homebrew:

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第3张

1、终端输入以下命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2、安装完成后运行source /Users/{用户名}/.zprofile 以使 .zprofile 文件生效。

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第4张

3、使用 brew 下载的文件保存在 /opt/homebrew/Cellar 目录下,每个不同的软件下载完成后会提示你下载到的路径。

第二部分:用 Homebrew 安装 OpenCV

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第5张

首先配置 Java 环境(如果已安装 java 环境可以先参考下面两位博主的文章:mac上安装opencv、mac系统上通过源码编译安装opencv for java),然后用 brew install opencv 命令下载 opencv,但此时还有三个打红叉的依赖(cmake, pkg-config, python-setuptools)需要我们手动下载,最后配置环境变量,具体步骤不展开讨论。

第三部分:配置 OpenCV—Java 环境

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第6张

初步配置环境变量后在 Idea 中添加 opencv 库,然后出现了问题:opencv/share/opencv4 目录下找不到 opencv 生成的 jar 包,原因是brew install opencv时对应配置文件的opencv_java开关没打开,需要在配置文件中设置,具体步骤如下:

1、编辑 Homebrew 下载 opencv 时的配置文件,具体命令为 brew edit opencv。

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第7张

2、进入配置文件中,执行以下三步:

步骤一将 -DBUILD_opencv_java=OFF 的 OFF 改成 ON。

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第8张

步骤二(经过实验发现不需要此步骤)复制 JDK 版本信息到 args 中,自行添加一个 # 注释,以免忘记修改过。

步骤三(经过实验发现不需要此步骤)在每个 system cmake 的 cmake 前加 “arch”,“-arm64”,因为 M1 版本采用 arm 架构。

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第9张

3、修改完以上步骤后按 esc 退出编辑模式,再按:wq 退出文件,然后重新下载 opencv。

在执行以上步骤中又会出现问题,报错找不到修改过的文件 opencv.rb,这时可以使用 brew doctor 命令检查问题,它给出的建议提交了修改即可,或者重新输入命令但使用自己刚才编辑的配置文件:/opt/homebrew/Library/Taps/homebrew/homebrew-core/Formula/o/opencv.rb,最后下载了 38 分钟终于下载完成,接下来就可以按照正常的 OpenCV 使用方式调用 Java 项目了,在 Maven 构建项目时使用 org.openpnp:opencv:4.9.0-4 作为依赖项即可,最后推荐在main方法所在class的静态块中加入 System.loadLibrary(Core.NATIVE_LIBRARY_NAME) 这行代码以优化 OpenCV 的使用效果,Maven 和 brew 下载 OpenCV 的区别主要在于构建方式、依赖项、安装路径和系统兼容性等方面有所不同。

Mac M1电脑使用Homebrew 安装OpenCV,Mac M1电脑使用Homebrew安装OpenCV指南 第10张


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码