macos 上使用 java+opencv记录

自编译

失败很多次之后终于跑起来一个 java+opencv 的demo。

过程

主要步骤如下:

编译需要 Apache Ant

brew install ant

需要告诉 opencv 需要 javabuild -DBUILD_opencv_java=ON

brew edit opencv

编辑这个我错了很多次 直接编辑完了它会默认下载未修改的opencv 配置
opencv.rb所以自己搞一个 下载的时候带上配置

brew install --build-from-source opencv yourpath/opencv.rb

下载后会看到 jar和 dylib 文件目录如下

macos 上使用 java+opencv记录_第1张图片

代码执行的时候配置 java.library.path
macos 上使用 java+opencv记录_第2张图片

执行加载 opencv库

    static {


        System.out.println(System.getProperty("java.library.path"));

        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

    }

我执行了识别答题卡的代码示例 ,效果如下

macos 上使用 java+opencv记录_第3张图片

后记

  1. java.library.path 配置的时候 一定直接到 dylib 和 jar
  2. 一定注意 jdk 版本 4.8.1只能用 java21了 之前用 java8编译一直报错

maven依赖

直接 maven依赖,可以用。省去了复杂的编译过程。

stackoverflow 参考地址 https://stackoverflow.com/a/65784365/14246311

<dependencies>
    <!-- https://mvnrepository.com/artifact/org.openpnp/opencv -->
    <dependency>
        <groupId>org.openpnp</groupId>
        <artifactId>opencv</artifactId>
        <version>4.3.0-3</version>
    </dependency>
</dependencies>

看了他的源码,判断系统后自动从 jar 里面引入动态链接库。确实太省心了。
参考 stackoverflow 参考地址 https://stackoverflow.com/a/65784365/14246311

你可能感兴趣的:(macos,java,opencv)