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

相关推荐
M-Robots echo2 小时前
轻量化裁剪方案解析:M-Robots 模块化构建,适配高低端各类机器人硬件平台
java·机器人·ros·开源社区·atomgit·m-robots
不可求~3 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
mldong4 小时前
用 DDD 设计工作流引擎:聚合根与充血模型
java·架构
mqiqe5 小时前
AgentScope Java Harness:4. 双层记忆系统 让 Agent 拥有真正的“长期大脑“
java·开发语言
伍一515 小时前
03-文件管理模块-一个看似简单的模块藏着多少细节
java·ruoyi·若依
gugucoding5 小时前
46. 【Java】JUC并发工具:让并发更简单
java·开发语言
Nebula_g5 小时前
JavaSE基础语法:面向对象高级(代码中的成分)
java·开发语言·编程·javase·技术栈·高级语法
AC赳赳老秦6 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
小强库计算机毕业设计7 小时前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统
李冰然8 小时前
深入Java集合框架:HashMap源码解析(JDK 8)
java