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

OpenCv 如何在 Java 中使用

Java 项目引入 OpenCv

  • 环境准备
  • OpenCv
    • 介绍
    • 下载
    • Maven 安装
    • 动态链接库
  • 完成

环境准备

JDK 8
OpenCv 4.0.0
Maven 3.9
Windows 11

OpenCv

介绍

OpenCV(开源计算机视觉库)是一个功能强大的计算机视觉和机器学习库。它提供了广泛的工具和算法,用于图像处理和计算机视觉任务。

下载

  1. OpenCv 下载库 选择符合需要的版本,本文采用的是 4.0.0 的 Windows 版本。因为过高版本的已不兼容 JDK 8,目前下图展现的 4.10.0 对应 JDK 11,使用 JDK 11 的可以直接下载最新版本。

在这里插入图片描述

  1. 下载后
  2. 解压后
    在这里插入图片描述

Maven 安装

  1. 得到 OpenCv 的 jar 包后,通过Maven 的 install 命令安装到 Maven 仓库
    在这里插入图片描述
mvn install:install-file -Dfile={本地jar包路径}\opencv-400.jar -DgroupId=org.opencv -DartifactId=opencv -Dversion=4.0.0 -Dpackaging=Jar
  1. 项目中引入 Maven 依赖
        <dependency><groupId>org.opencv</groupId><artifactId>opencv</artifactId><version>4.0.0</version></dependency>

动态链接库

  1. 项目中需要引入动态链接库,动态链接库在我们解压后的文件夹中 在这里插入图片描述
  2. 将 opencv_java400.dll 放入我们的项目目录
    在这里插入图片描述
  3. 代码中引入
        URL url = ClassLoader.getSystemResource("dlls/opencv_java400.dll");System.load(url.getPath());

完成

准备好以上工作后就可以在我们的 Java 项目中使用 OpenCv 了


在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据结构课程设计:源代码(C)客房信息管理系统
  • 【Qt+opencv】基础的图像绘制
  • 【JAVA】深入理解Hutool中的Pair、Triple和Tuple:组合数据的新方式,方法返回多个值,嘎嘎香,谁用谁知道,比原生好用更强大
  • 关于Centos停更yum无法使用的解决方案
  • 可用内存为什么可以超过实际内存
  • C++写一个线程池
  • 阿里云CDN- https(设计支付宝春节开奖业务)
  • Linux——远程连接服务器
  • MySQL下载安装使用教程图文教程(超详细)
  • Gmsh教程
  • 关于dom4j主节点的xmlns无法写入的问题
  • 手机日历如何与Outlook同步
  • 基于PHP+MYSQL开发制作的趣味测试网站源码
  • openlayers请求地图瓦片超时的问题解决
  • SpringBoot 解决 getSession().getAttribute() 在负载均衡环境下无法获取session的问题
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JavaScript DOM 10 - 滚动
  • JavaScript HTML DOM
  • java取消线程实例
  • JWT究竟是什么呢?
  • Protobuf3语言指南
  • react-native 安卓真机环境搭建
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Terraform入门 - 1. 安装Terraform
  • 初探 Vue 生命周期和钩子函数
  • 分布式事物理论与实践
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端自动化解决方案
  • 如何在 Tornado 中实现 Middleware
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 详解NodeJs流之一
  • 小程序开发之路(一)
  • 移动端唤起键盘时取消position:fixed定位
  • ionic异常记录
  • UI设计初学者应该如何入门?
  • #APPINVENTOR学习记录
  • (1)Nginx简介和安装教程
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (二)hibernate配置管理
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (一)为什么要选择C++
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .bat批处理(六):替换字符串中匹配的子串
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .Net Memory Profiler的使用举例
  • .net 调用海康SDK以及常见的坑解释
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET框架类在ASP.NET中的使用(2) ——QA