【OpenCV】windows环境下,java OpenCV环境搭建,java 也可以实现opencv的功能了!opencv自由了

目录

1. 下载opencv

2. 安装opencv

目录

1. 下载opencv

2. 安装opencv

3. dll文件的导入配置

dll文件的导入: (C++的类库文件),opencv是c++开发的类库,java语言要调用其中的方法,所以依赖了dll文件

3.1 opencv_java460.dll文件拷贝至下面2个目录,任选其一即可。 

3.2 还有一种方式,是在运行java代码的时候,指定依赖的类库地址, -D参数

4. java项目中导入opencv jar类库

4.1  maven方式

4.2 idea中引入外部的jar

5. java代码示例,java + opencv

6. 运行失败的情况

7. opencv的安装包地址,共享


3. 项目中导入相应的包文件

3.1 opencv_java460.dll文件拷贝至下面2个目录,任选其一即可。 

3.2 还有一种方式,是在运行java代码的时候,指定依赖的类库地址, -D参数

4. java项目中导入opencv jar类库

4.1  maven方式

4.2 idea中引入外部的jar

5. java代码示例,java + opencv

6. 运行失败的情况

7. opencv的安装包地址,共享


 【OpenCV】java OpenCV环境搭建!!java 也可以实现opencv的功能了!!

在windows环境下,也可以通过java来实现opencv的功能了 !!

1. 下载opencv

官网文档地址:https://docs.opencv.org/4.6.0/df/d65/tutorial_table_of_content_introduction.html

教程参考:https://www.w3cschool.cn/opencv/

教程参考:https://www.yiibai.com/opencv/opencv_adding_text.html

下载与安装: 下载地址:https://opencv.org/releases/ 

网络原因可能下载慢,下载失败的情况。

我这里准备了一份 opencv的安装文件   opencv-4.6.0-vc14_vc15.exe。见文章底部。

2. 安装opencv

官网下载的opencv exe文件,在本地解压到指定目录下.

双击运行,解压到指定的目录下就可以了。

 关键是java目录下面,就是我们需要依赖的类库文件

opencv-460.jar就是我们要用到的 java  类库

x64 目录下,就是c++编写的dll文件,待会我们也需要用到。x64就是本地机器是64位的

x86 目录下,就是c++编写的dll文件,待会我们也需要用到。x86就是本地机器是32位的

3. dll文件的导入配置

dll文件的导入: (C++的类库文件),opencv是c++开发的类库,java语言要调用其中的方法,所以依赖了dll文件

所以在你本地,需要配置这个dll文件路径。

3.1 opencv_java460.dll文件拷贝至下面2个目录,任选其一即可。 

· 拷贝到jre bin目录下面:

在这里插入图片描述

· 或者拷贝到系统win32目录下面:

在这里插入图片描述

3.2 还有一种方式,是在运行java代码的时候,指定依赖的类库地址, -D参数

这种方式,很少使用,可能我们很多人 都忘记了!!!

-Djava.library.path=‪D:\WorkSpace\projectName\demo\lib\opencv_java460.dll

ps: 3.1和3.2 导入dll文件,只需要选择一种就可以了。

4. java项目中导入opencv jar类库

在你的项目中真正的引入opencv460.jar,这个jar文件。

4.1  maven方式

如果你的项目是maven项目,可以通过pom文件,引用本地的jar文件,但是记得maven build打包的时候,把本地jar文件也打进去。

        <!-- 加载lib目录下的opencv包 --><dependency><groupId>org.opencv</groupId><artifactId>opencv</artifactId><version>4.6.0</version><scope>system</scope><systemPath>${basedir}/lib/opencv-460.jar</systemPath></dependency>

4.2 idea中引入外部的jar

在idea工具中,选择 File -》Project Structure -》Libraries 选择 opencv-460.jar文件

5. java代码示例,java + opencv

import org.opencv.core.*;public class Hello
{public static void main( String[] args ){System.loadLibrary( Core.NATIVE_LIBRARY_NAME );Mat m = Mat.eye( 2, 3, CvType.CV_8UC1 );System.out.println(m.dump()); }
}

运行结果:

 到这里,能够跑起来,说明你本地的开发环境就搭建好了。可以opencv自由开发了。

6. 运行失败的情况

假如出现下面的报错:

说明 dll文件, opencv_java460.dll 未找到,放置的目录不正确,

可以把opencv_java460.dll 文件拷贝到 windows/sysem32/ 目录下面。

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java460 in java.library.pathat java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)at java.lang.Runtime.loadLibrary0(Runtime.java:871)at java.lang.System.loadLibrary(System.java:1122)

7. opencv的安装包地址,共享

链接: https://pan.baidu.com/s/1bMT3_OcqtDkFoEVGnJZh7Q?pwd=eqer 提取码: eqer 复制这段内容后打开百度网盘手机App,操作更方便哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言机器学习之影像组学分析的原理详解

概要 影像组学从常规医学图像中高通量提取大量的放射学定量数据&#xff0c;并以非侵入性方式探索它们与临床结果的相关性&#xff0c;在医学研究中得到广泛的应用。 01 影像组学&#xff08;Radiomics&#xff09;的概念&#xff1a; 影像组学&#xff08;Radiomics&#xff…

了解Unity编辑器之组件篇UI(一)

UI组件&#xff1a;提供了用户交互&#xff0c;信息展示&#xff0c;用户导航等功能 一、Button&#xff1a;用于响应用户的点击事件 1.Interactable&#xff08;可交互&#xff09;&#xff1a;该属性控制按钮是否可以与用户交互&#xff0c;如果禁用则按钮无法被点击。可以通…

Ubuntu18.04配置PX4开发环境

源文件下载 读者可以参考PX4中文维基百科&#xff0c;或者使用下面命令↓ git clone https://github.com/PX4/PX4-Autopilot.git --recursive 下载完成之后&#xff0c;执行脚本安装命令&#xff0c;PX4给我们提供了脚本安装模式 bash ./PX4-Autopilot/Tools/setup/ubuntu.sh …

Spring Boot-3

学习笔记&#xff08;今天又读了好多篇的博客&#xff0c;做个今天的总结&#xff0c;加油&#xff01;&#xff01;&#xff01;&#xff09; PS&#xff1a;快到中伏了&#xff0c;今天还是好热 使用阿里巴巴 FastJson 的设置 1、jackson 和 fastJson 的对比 有很多人已经…

Linux 网络收包流程

哈喽大家好&#xff0c;我是咸鱼 我们在跟别人网上聊天的时候&#xff0c;有没有想过你发送的信息是怎么传到对方的电脑上的 又或者我们在上网冲浪的时候&#xff0c;有没有想过 HTML 页面是怎么显示在我们的电脑屏幕上的 无论是我们跟别人聊天还是上网冲浪&#xff0c;其实…

Python绘制多条y轴范围不同的曲线并在一张图上显示

如何使用Python绘制多条y轴范围不同的曲线&#xff0c;然后把它们合并在一张图上显示 import matplotlib.pyplot as plt import numpy as npdef multilines(target, x, ys, types, colors, x_label, labels):"""用来绘制多条y轴范围不同的线&#xff0c;并在一…

苹果iOS 16.6 RC发布:或为iPhone X/8系列养老版本

今天苹果向iPhone用户推送了iOS 16.6 RC更新(内部版本号&#xff1a;20G75)&#xff0c;这是时隔两个月的首次更新。 按照惯例RC版基本不会有什么问题&#xff0c;会在最近一段时间内直接变成正式版&#xff0c;向所有用户推送。 需要注意的是&#xff0c;鉴于iOS 17正式版即将…

Python获取接口数据

首先我们需要下载python&#xff0c;我下载的是官方最新的版本 3.8.3 其次我们需要一个运行Python的环境&#xff0c;我用的是pychram&#xff0c;需要库的话我们可以直接在setting里面安装 代码&#xff1a; # -*- codeing utf-8 -*- from bs4 import BeautifulSoup # 网页…

docker中搭建lnmp

目录 一&#xff1a;项目环境 1、主机ip需求 2、 任务需求 二&#xff1a;多级构建Dockerfile实验部署 lnmp 1、先部署一个有所有依赖包的镜像 2、搭建nginx 3、搭建mysql 4、搭建php 三&#xff1a;一级构建安装lnmp 1、构建自定义docker网络 2、构建nginx容器&#x…

Java版Spring Cloud+Spring Boot+Mybatis+uniapp知识付费平台讲解

提供私有化部署&#xff0c;免费售后&#xff0c;专业技术指导&#xff0c;支持PC、APP、H5、小程序多终端同步&#xff0c;支持二次开发定制&#xff0c;源码交付。 Java版知识付费-轻松拥有知识付费平台 多种直播形式&#xff0c;全面满足直播场景需求 公开课、小班课、独…

降压电路原理 12V电源是如何下降到5V?

引言&#xff1a; 12V-5V开关电源设计原理&#xff1a;以12V电压作为输入&#xff0c;通过控制开关电路的通断时间&#xff0c;实现电感的充放电时间&#xff0c;改变输出电压的平均值&#xff0c;然后进行LC滤波&#xff0c;对输出电压进行电压和电流反馈控制&#xff0c;使其…

企业知识管理系统安全是重中之重

企业开展知识管理工作的益处是全方位的&#xff0c;效果能从业务的各方面得到体现&#xff0c;最终效果就是企业竞争力的提升与企业经营业绩的提升。 知识管理系统的意义在于&#xff0c;构建系统的知识库&#xff0c;对纷杂的知识内容&#xff08;方案、策划、制度等&#xf…

MybatisPlus使用排序查询时,将null值放到最后

1用户需求 查询结果&#xff0c;按照某些字段进行排序&#xff0c;将为null的值放到最后。按照更新时间排序&#xff0c;但是更新时间可能为null&#xff0c;因此将null的数据放到最后。 2解决方案 最简单的方式&#xff0c;当然是下面这种直接在SQL最后面 NULLS LAST &…

502 Bad GateWay报错的解决方法

什么是502 bad gateway 报错 简单来说 502 是报错类型代码 bad gateway 错误的网关。是Web服务器作为网关或代理服务器时收到无效的响应。 用我们的口语说就是运行网站的服务器暂时挂了(不响应)。 产生错误的原因 1.连接超时 我们向服务器发送请求 由于服务器当前链接太多&am…

89、简述RabbitMQ的架构设计

简述RabbitMQ的架构设计 BrokerQueueExchangeRoutingKeyBinding信道架构设计图 Broker RabbitMQ的服务节点 Queue 队列&#xff0c;是RabbitMQ的内部对象&#xff0c;用于存储消息。RabbitMQ中消息只能存储在队列中。生产者投递消息到队列&#xff0c;消费者从队列中获取消息…

科技与人元宇宙论坛跨界对话

近来&#xff0c;“元宇宙”成为热门话题&#xff0c;越来越频繁地出现在人们的视野里。大家都在谈论它&#xff0c;但似 乎还没有一个被所有人认同的定义。元宇宙究竟是什么&#xff1f;未来它会对我们的工作和生活带来什么样 的改变&#xff1f;当谈论虚拟现实&#xff08;VR…

ES6基础知识五:你是怎么理解ES6新增Set、Map两种数据结构的?

如果要用一句来描述&#xff0c;我们可以说 Set是一种叫做集合的数据结构&#xff0c;Map是一种叫做字典的数据结构 什么是集合&#xff1f;什么又是字典&#xff1f; 集合 是由一堆无序的、相关联的&#xff0c;且不重复的内存结构【数学中称为元素】组成的组合 字典 是…

vue2生命周期图

生命周期全过程如下&#x1f447;详解 一:生命周期之创建阶段 1.创建一个Vue实例【new Vue()】 2.初始化Vue实例,第一次初始化,初始化Vue当中的事件和生命周期方法【Init Events Lifecycle】 ☆☆☆调用生命周期方法当中的beforCreate,调用这个方法的时候有一个特点,就是在调…

Matlab中实现对一幅图上的局部区域进行放大

大家好&#xff0c;我是带我去滑雪&#xff01; 局部放大图可以展示图像中的细节信息&#xff0c;使图像更加直观和精美&#xff0c;此次使用magnify工具实现对绘制的figure选择区域绘制&#xff0c;图像效果如下&#xff1a; 1、基本图像绘制 这里选择绘制一个散点图&#xff…

前端:运用html+css+js模仿百度热搜电影榜鼠标移入特效

前端:运用htmlcssjs模仿百度热搜电影榜鼠标移入特效 1. 实现原理2. 界面布局3. js实现对鼠标移入和移出的监听4. 参考代码如下&#xff1a; 1. 实现原理 百度热搜上电影榜鼠标移入特效如上图所示。个人觉得上述特效实现原理为使用相对定位、绝对定位实现的(鼠标移入和没有移入…