当前位置: 首页 > ops >正文

OpenCV——Mac系统搭建OpenCV的Java环境

这里写目录标题

  • 一、源码编译安装
    • 1.1、下载源码包
    • 1.2、cmake安装
    • 1.3、java配置
    • 1.4、测试
  • 二、Maven引入
    • 2.1、添加Maven依赖
    • 2.2、加载本地库

一、源码编译安装

1.1、下载源码包

官网下载opencv包:https://opencv.org/releases/

在这里插入图片描述

以4.6.0为例,下载解压后:

cd opencv-4.6.0
mkdir build && cd build

1.2、cmake安装

sudo cmake -D BUILD_opencv_java=ON -D BUILD_SHARED_LIBS=OFF ..
sudo make -j8
sudo make install

1.3、java配置

添加jar包:
在这里插入图片描述

启动程序要配置本地opencv库的地址:

-Djava.library.path=/usr/local/opencv/share/java/opencv4/

如果你这样操作没有效果,代码可以这样写:

static {System.load("/usr/local/opencv/share/java/opencv4/libopencv_java4100.dylib");
}

1.4、测试

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;public class TestOpenCV {public static void main(String[] args) {// 使用 System.load 来加载具体路径下的库文件System.load("/usr/local/opencv/share/java/opencv4/libopencv_java4100.dylib");System.out.println("Loaded OpenCV version " + Core.VERSION);Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);System.out.printf("mat = %s ", mat.dump());}
}

如果输出了下列信息,则表示成功!

Loaded OpenCV version 4.10.0
mat = [  1,   0,   0;0,   1,   0;0,   0,   1]

二、Maven引入

2.1、添加Maven依赖

OpenCV 官方提供了预编译的 Java 绑定,可以通过 Maven 直接引入。

<dependency><groupId>org.openpnp</groupId><artifactId>opencv</artifactId><version>4.6.0-0</version>  <!-- 4.6.0 版本 -->
</dependency>

2.2、加载本地库

使用 opencv-java 提供的工具类自动加载:

import nu.pattern.OpenCV;
import org.opencv.core.CvType;
import org.opencv.core.Mat;public class HelloOpenCV {static {OpenCV.loadLocally(); // 自动下载并加载本地库}public static void main(String[] args) {Mat m = Mat.zeros(2, 3, CvType.CV_8UC1);System.out.println(m.dump());}
}
[  0,   0,   0;0,   0,   0]
http://www.xdnf.cn/news/10454.html

相关文章:

  • 一键开关机电路分析
  • python第39天打卡
  • 网页前端开发(基础进阶2--JS)
  • 【Day42】
  • 常量指真,指针常量 ,
  • 如何通过 Makefile 向源代码传递变量值
  • 实验:基于SpringBoot+MyBatis-Plus实现文章列表增删改查
  • vue3(入门,setup,ref,计算属性,watch)
  • c++学习之---模版
  • JavaScript 模块系统:CJS/AMD/UMD/ESM
  • 使用 DeepSeek API 搭建智能体《无间》- 卓伊凡的完整指南 -优雅草卓伊凡
  • C语言基础(09)【数组的概念 与一维数组】
  • day03-Vue-Element
  • 临界区保护
  • 贴片SMT工艺优化实战指南
  • 【2025最新】Java图书借阅管理系统:从课程作业到实战应用的完整解决方案
  • 04.MySQL数据类型详解
  • 42. 自动化测试开发之浏览器启动属性与web并发测试实现
  • Day42 Python打卡训练营
  • 模块联邦:更快的微前端方式!
  • Linux发行版与其编译器依赖的猜测
  • Python Turtle实战:打造高精度图形化秒表
  • 生产系统中TongWeb故障应急处理办法
  • 蓝光过滤APP:护眼小助手,守护您的视力健康
  • Python基础:常量、变量、变量类型、表达式、注释、输入输入、运算符
  • Java网络编程基础:从阻塞式I/O到线程池模型
  • @Value,@ConfigurationProperties
  • 【CSS-1】CSS 语法规范与书写位置详解:提升代码可读性与维护性
  • 封闭内网安装配置VSCode Anconda3 并配置 PyQt5开发
  • 射频通信概述