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 文件目录如下

代码执行的时候配置 java.library.path

执行加载 opencv库

复制代码
    static {


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

        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

    }

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

后记

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

maven依赖

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

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

java 复制代码
<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

相关推荐
AI备案指南-满满几秒前
算法备案审核不通过,一般是什么原因?
java·人工智能·算法·大模型备案·算法备案·大模型登记
秋天的怀念_David13 分钟前
算法一千零一夜 · 第二十三夜 电力民生写成的曲线
java·程序人生·算法
吴名氏.35 分钟前
Java转AI Agent教程(第五周)Prompt工程
java·人工智能·prompt·ai agent
8Qi836 分钟前
DDD架构演进
java·分布式·mvc·ddd
paopaokaka_luck1 小时前
灾害应急物资管理系统(AI应急助手、Echarts可视化数据看板、捐赠入库联动、 物资全流程管理、库存变动追溯、灾情资讯与互动反馈、物资发放公示)
java·前端·javascript·spring boot·mysql·tomcat·echarts
SL_staff1 小时前
HR系统对接钉钉考勤总失败?根源在于缺乏业务语义级逻辑中枢
java·开源·全栈
程序边界1 小时前
一台数据集成软件的拆解笔记(下):一致性、容错、跑批与迁移,KFS 真正难的地方在这
java·前端·笔记
揣一尾游鱼yu1 小时前
内部类和Object笔记
java·开发语言·object·内部类
你怎么知道我是队长2 小时前
C++零基础第3周:if/else、switch、for/while/do-while 控制流完全指南(附20段可运行代码+避坑清单)
java·开发语言·c++
damoluomu2 小时前
Node 的 Headless 出厂没有前台,Java 的 Headless 是从门户里长出来的
java·开发语言·node.js