温馨提示:这篇文章已超过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 的介绍开始。
第一部分:Homebrew 安装
Homebrew 是一个用命令行下载各种软件的软件集合,下载完 Homebrew 本体后,其会在本体中内置很多软件的下载地址,当你需要那个软件的时候,Homebrew 会自动根据配置文件配置所安装软件的环境变量。
Homebrew 将软件分成了四个仓库:brew Homebrew 源代码仓库、homebrew-core Homebrew 核心软件仓库、homebrew-bottles Homebrew 预编译二进制软件包、homebrew-cask MacOS 客户端应用。
安装 homebrew:
1、终端输入以下命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2、安装完成后运行source /Users/{用户名}/.zprofile
以使 .zprofile 文件生效。
3、使用 brew 下载的文件保存在 /opt/homebrew/Cellar 目录下,每个不同的软件下载完成后会提示你下载到的路径。
第二部分:用 Homebrew 安装 OpenCV
首先配置 Java 环境(如果已安装 java 环境可以先参考下面两位博主的文章:mac上安装opencv、mac系统上通过源码编译安装opencv for java),然后用 brew install opencv 命令下载 opencv,但此时还有三个打红叉的依赖(cmake, pkg-config, python-setuptools)需要我们手动下载,最后配置环境变量,具体步骤不展开讨论。
第三部分:配置 OpenCV—Java 环境
初步配置环境变量后在 Idea 中添加 opencv 库,然后出现了问题:opencv/share/opencv4 目录下找不到 opencv 生成的 jar 包,原因是brew install opencv时对应配置文件的opencv_java开关没打开,需要在配置文件中设置,具体步骤如下:
1、编辑 Homebrew 下载 opencv 时的配置文件,具体命令为 brew edit opencv。
2、进入配置文件中,执行以下三步:
步骤一将 -DBUILD_opencv_java=OFF 的 OFF 改成 ON。
步骤二(经过实验发现不需要此步骤)复制 JDK 版本信息到 args 中,自行添加一个 # 注释,以免忘记修改过。
步骤三(经过实验发现不需要此步骤)在每个 system cmake 的 cmake 前加 “arch”,“-arm64”,因为 M1 版本采用 arm 架构。
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 的区别主要在于构建方式、依赖项、安装路径和系统兼容性等方面有所不同。
还没有评论,来说两句吧...