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

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.lryc.cn/news/2402262.html

相关文章:

  • 更新Java的环境变量后VScode/cursor里面还是之前的环境变量
  • 【设计模式-3.4】结构型——代理模式
  • 电脑频繁黑屏怎么办
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Sound Board(音响控制面板)
  • 关于大数据的基础知识(一)——定义特征结构要素
  • chrome使用手机调试触屏web
  • 浅谈量子计算:从实验室突破到产业落地的中国实践
  • 68道Hbase高频题整理(附答案背诵版)
  • python版若依框架开发:项目结构解析
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice在线编辑word文件保存数据同时保存文件
  • day34- 系统编程之 网络编程(TCP)
  • 鸿蒙jsonToArkTS_工具exe版本来了
  • DeviceNet转Modbus TCP网关的远程遥控接收端连接研究
  • ASP.NET Core 中间件深度解析:构建灵活高效的请求处理管道
  • 开关机、重启、改密、登录:图解腾讯云CVM日常管理核心操作,轻松掌控你的云主机
  • 从0到1认识ElasticStack
  • I2C 外设知识体系:从基础到 STM32 硬件实现
  • vue和uniapp聊天页面右侧滚动条自动到底部
  • 文件索引:数组、二叉树、二叉排序树、平衡树、红黑树、B树、B+树
  • PHP的namespace
  • 《仿盒马》app开发技术分享-- 商品搜索页(顶部搜索bar热门搜索)(端云一体)
  • 10_聚类
  • 网络安全:网页密码防护与记住密码功能的安全
  • Tensorborad
  • Kafka存储机制核心优势剖析
  • day027-Shell自动化编程-基础
  • 工业自动化DeviceNET从站转Ethernet/IP主站网关赋能冶金行业工业机器人高效运行
  • STM32启动文件学习(startup_stm32f40xx.s)
  • 构建高效可靠的电商 API:设计原则与实践指南
  • 开源数据库MySQL 与 PostgreSQL的巅峰对决。