java环境配置opencv

这篇具有很好参考价值的文章主要介绍了java环境配置opencv。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

❗️❗️注意事项:本篇的配置环境基于 Mac + M2芯片(arm64架构)+ Intellij,其他操作系统可能存在不适用的情况,请知晓。

1. 基础信息确认

在进行opencv配置前,需要先确认系统和jvm的架构,以保证后续安装可以顺利进行。

查询设备os架构:

uname -m

//以我的设备为例,输出的是:arm64

查询jvm架构:

java -XshowSettings:properties -version
// 以我的设备为例,os.arch字段输出的是:os.arch = aarch64
// 如果输出的是 os.arch = x86_64,需要重新下载正确的jdk


这里要注意,jvm的架构需要和设备os架构一致,否则在引入opencv动态库时,会报incompatible architecture的错误。

2. Intellij配置opencv

2.1. 安装opencv

mac上面最方便快捷的安装方法是使用Homebrew安装。
Homebrew安装完成后,检查一下你是否已经安装了XCode 命令行工具,在终端执行以下命令:

xcode-select --install

如果出现 error: command line tools are already installed 你就可以直接开始安装OpenCV了,如果没有报错,你就需要安装XCode。


检查你是否安装了Apache Ant,如果没有安装,使用下面的命令安装:

brew install ant

你需要修改opencv的安装规则(formula)以安装opencv的java支持,你可以执行以下命令:

brew edit opencv

进入编辑模式,找到 DBUILD_opencv_java=OFF 并修改为 DBUILD_opencv_java=ON,保存并退出。

现在你可以执行如下命令来安装最近版本的opencv:

HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source opencv

如果你想要安装旧版本的OpenCV,使用这个命令查看可以选择的版本:

brew search opencv

然后带版本号安装:

HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source opencv@[Version]

稍等片刻,OpenCV就安装完成了,可以使用这个命令来查看OpenCV的安装信息:

brew info opencv

在 /opt/homebrew/Cellar/opencv/xxx/share 路径下查看jar包的格式:

cd /opt/homebrew/Cellar/opencv/4.9.0_3/share/java/opencv4
file libopencv_java490.dylib 
libopencv_java490.dylib: Mach-O 64-bit bundle arm64

// 可以看到编译产生的动态库支持的是arm64架构

2.2. 配置Intellij

在IDEA中创建一个新的项目或者打开一个已有的,打开 File -> Project Structure,在 Project Settings 的 Libraries 点击 + 并选择java

java opencv 环境搭建,java,opencv,开发语言

浏览到上面提到的OpenCV的安装路径,在其中找到 share/java/opencv4 并选择 opencv-xxx.jar。文件名称与你安装的具体版本关联。

java opencv 环境搭建,java,opencv,开发语言

选择module opencv-430点击 + 在上面的jar所在目录,找到 libopencv_java430.dylib 

java opencv 环境搭建,java,opencv,开发语言

配置完成如上图所示,点击OK。

2.3. 配置maven

maven导入依赖。这里需要注意,maven中的依赖版本需要和导入的opencv库版本一致,否则会报错。

以上都配置完成后,就可以在代码中使用opencv了:

public class SIFT {
    public static void main(String[] args) throws IOException {
        System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
        System.out.println("load lib success: " + Core.VERSION);
    }
}

// 控制台输出
// load lib success: 4.9.0

3. 踩坑记录

1. brew edit opencv提示Error: Invalid usage: opencv doesn't exist on disk.
很大可能是安装homebrew的时候没有正确安装,比如网络断了等,根据提示更新一下homebrew-core就可以了。

brew tap --force homebrew/core

// 更新成功后再brew edit opencv

2. /opt/homebrew/Cellar/opencv/xxx/share 路径下没有java编译结果。
查看brew在执行 brew install --build-from-source opencv 时的log:

`brew install` ignores locally edited casks and formulae if HOMEBREW_NO_INSTALL_FROM_API is not set.

log说的很明白了,如果不设置 HOMEBREW_NO_INSTALL_FROM_API,就会忽略本地的修改,从线上拉取。线上拉取的formula 默认的 DBUILD_opencv_java=OFF,所以不会生成jar包。网上的参考文档估计是比较早的版本了,当时没有 HOMEBREW_NO_INSTALL_FROM_API 这个东西。

HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source opencv

3. intellij导入动态库后,运行报错:

Exception in thread "main"java.Lang.UnsatisfiedLinkError Create breakpoint /opt/homebrew/Cellar/opencv/4.9.0 3/share/java/opencv4/libopency java490.dylib:
dlopen(/opt/homebrew/Cellar/opencv/4.9.0_3/share/java/opencv4/Libopencv_java490.dylib,0x0001):tried:'/opt/homebrew/Cellar/opencv/4.9
.0_3/share/java/opencv4/libopencv_java490.dylib'(mach-o file,but is an incompatible architecture (have 'arm64',need 'x86_64'))

原因是安装的jdk有问题,jvm环境是x86_64的,但是编译出来的动态库是aarch64的格式,导致报错。
java -XshowSettings:properties -version 查看 os.arch 字段,如果为"x86_64",去Oracle官网重新下载正确系统的jdk。文章来源地址https://www.toymoban.com/news/detail-850191.html

4. reference

  1. Mac 安装opencv for java 并配置Intellij Idea详细图文步骤及找不到jar的问题解决_macjar找不到-CSDN博客
  2. M1、Mac环境下安装opencv和配置环境(java)_mac m1 下载 安装java opencv native-CSDN博客

到了这里,关于java环境配置opencv的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows搭建OpenCV开发环境(C++)

    Windows 10 OpenCV MinGW-w64 CMake CLion 打包下载地址:https://download.csdn.net/download/u012899618/87902325 也可以直接下载编译好的文件(这样可跳过编译的步骤):https://download.csdn.net/download/u012899618/87907660 MinGW和CMake都需要配置(根据实际目录进行配置) 打开命令提示符,输入 如果提示如下

    2024年02月14日
    浏览(67)
  • VScode搭建Opencv(C++开发环境)

    cmake :cmake-3.27.2-windows-x86_64 MinGw:版本:8.1.0-release-posix-seh-rt_v6-rev0 Opencv:版本:4.5.5 MinGw下载地址 选择 mingw-w64 往下拉选择下载这个 下载该文件,下载后解压,然后记住位置。为了方便,我把它改名为MinGw。(这里是MinGw软件) 添加环境变量,可以直接 win+Q 搜索 “环境变量”

    2024年02月02日
    浏览(56)
  • MacOS搭建OpenCV开发环境(Python)

    按照官方安装步骤:https://docs.anaconda.com/free/anaconda/install/mac-os/ 安装即可 进入PyCharm中Preferences 点击下面红框中的下拉,点击Add Local Interpreter 按照如下所示进行配置 创建项目,如下所示 代码如下(示例): 将Lenna.png放到main.py同级目录下,运行程序,如下所示: 提示:更多内

    2024年02月07日
    浏览(53)
  • MacOS搭建OpenCV开发环境(C++)

    安装opencv的前置条件需要先安装HomeBrew(安装过的请忽略) HomeBrew安装好以后,运行以下命令: 整个安装过程下载的东西较多,安装时间较长,需要耐心等待,同时对网络情况要求较高,请自行解决。 一些常见的 brew 命令 新建工程untitled 创建后,修改 CMakeLists.txt 文件 然后,

    2024年02月10日
    浏览(62)
  • 【OpenCV】windows环境下,java OpenCV环境搭建,java 也可以实现opencv的功能了!opencv自由了

    目录 1. 下载opencv 2. 安装opencv 目录 1. 下载opencv 2. 安装opencv 3. dll文件的导入配置 dll文件的导入: (C++的类库文件),opencv是c++开发的类库,java语言要调用其中的方法,所以依赖了dll文件 3.1 opencv_java460.dll文件拷贝至下面2个目录,任选其一即可。  3.2 还有一种方式,是在运

    2024年02月08日
    浏览(40)
  • Opencv Win10+Qt+Cmake 开发环境搭建

    官网下载Opencv安装包 双击下载的软件进行解压 3. 系统环境变量添加 创建一个新的Qt项目(Non-Qt Project) 打开创建好的项目中的CMakeLists.txt,添加如下代码 main.cpp中添加以下代码 点击运行,显示图像则说明环境搭建成功

    2024年02月15日
    浏览(49)
  • 【OpenCV】P1 开发环境搭建 + 图像处理基础(待完成)

    OpenCV is the word’s biggest computer vision library. It’s open source, contains over 2500 algorithms and is operated by the non-profit Open Source Vision Foundation. – From opencv.org Opencv 库由 C 和 C++ 语言编写,涵盖计算机视觉各个领域内的 2500 多个函数,可以在多种操作系统上运行。其旨在提供一个简洁而又

    2024年01月23日
    浏览(57)
  • OpenCV之Window开发环境配置

    下载opencv开发包       win配置: 双击SDK包解压 解压中   解压成功  配置环境变量    验证环境  创建控制台应用并配置工程属性表添加opencv环境 创建属性表 配置属性 复制属性表并修改名Project1X64_Debug与Project1X64_Release  导入属性表 测试opencv功能 示例代码

    2024年02月11日
    浏览(41)
  • 【OpenCV】在VS2017中配置OpenCV开发环境

    开发环境:OpenCV4.5.4、VS2017、x64 打开属性管理器:视图--其他窗口--属性管理器 找到 Release|x64,配置OpenCV环境主要操作的对象就是 Micorosoft.Cpp.x64.user 需要注意的是Micorosoft.Cpp.x64.user 在VS2019里没有了,只能手动创建,手动创建方式:右击Release|x64,选择“添加新项目属性表” 在

    2024年02月08日
    浏览(52)
  • java环境配置opencv

    ❗️❗️ 注意事项:本篇的配置环境基于 Mac + M2芯片(arm64架构)+ Intellij ,其他操作系统可能存在不适用的情况,请知晓。 在进行opencv配置前,需要先确认系统和jvm的架构,以保证后续安装可以顺利进行。 查询设备os架构: 查询jvm架构: 这里要注意,jvm的架构需要和设备

    2024年04月13日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包