踩坑记录
在macOS上安装openCV用于Java调用(以4.7.0版本为例)
00 分钟
2023-12-3
2024-6-29
type
status
date
summary
slug
tags
category
password
URL
icon
😀
因工作需要,要调研使用Java调用openCV的一些能力,因此需要先在MacOS上安装好openCV,搜索了一些安装教程以及openCV官网的安装教程,均存在一些问题导致无法生成Java需要的文件,因此新开一篇文章记录下正确且 简单的安装教程。
 

源码拉取

该方法是通过源码安装,因此需要先从Github上拉取源码。注意,这里不建议使用git clone直接拉取最新的opencv代码,而是建议进页面,选择自己Java代码引入的版本。截止当前(2023年12月3日),maven仓库中支持的最新的opencv版本为4.7.0.0,所以我们选择release版本的时候,只能选择4.7.0以及之前的版本。
 
notion image
 

安装Cmake

在使用源码安装openCV的时候,需要使用cmake,因此之前没有安装过的话,需要先安装cmake,可以直接使用brew install cmake进行安装。安装完成后通过cmake -version验证是否安装成功。
 

安装openCV

默认安装是不会生成Java需要的文件的,因此需要设置cmake -DBUILD_opencv_java=ON来生成Java需要的文件。
make过程需要时间比较长,有进度条,耐心等待即可。

在Java中使用openCV

安装完成后,可以进入安装目录查看指定路径下是否已存在对应的文件。如果没有修改安装路径的话,可以进入下面的路径查看。
如果路径下存在两个文件:opencv-470.jar和libopencv-java470.dylib则证明安装成功。之后可以在IDE中引入这个路径即可正常调用openCV。以IDEA这个IDE为例,可以在Run/Debug Configurations中增加VM options配置,增加Djava.library.path=/usr/local/share/java/opencv4即可。
notion image

吐槽

之前查阅了一些资料,发现大家写的内容都差不多,看了下,基本都是要先使用brew edit opencv修改opencv的默认配置,但是我如果之前没有安装过opencv,这个配置文件是不存在的,所以没办法修改配置;如果之前安装过了,即使我brew edit opencv修改了配置后,再使用brew reinstall --build-from-source opencv重新安装,配置又会被覆盖,导致无法生成对应的Java所需的文件。重试几次不成功后,因此更换了以上的方式进行安装。
注意,使用cmake安装4.6.0版本的时候,编译过程出错了,错误提示如下:
我之前安装过FFmpeg这个音视频工具,应该是这两个起了冲突,更换安装4.7.0就安装成功了。
 

参考资料

  1. https://limbang.top/OpenCV-install.html
  1. https://juejin.cn/post/7006821354397761543
  1. opencv
    openpnpUpdated Jun 15, 2024
  1. https://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html#install-opencv-3-x-under-macos
 
上一篇
红米K70标准版续航真实体验
下一篇
ThreadLocal内容详解