You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
## 基础概念
|
|
|
|
|
- OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库;轻量级而且高效,由一系列C函数和少量C++类构成;该库的核心是用C ++编写的
|
|
|
|
|
- 本项目是java语言项目,其本质是通过java调用opencv c++的接口实现的。
|
|
|
|
|
- 本项目,提供了两种方式去调用c++的接口,
|
|
|
|
|
- 1、通过javacpp调用;这种方式是原版EasyPR-Java项目的使用方式,在这里小编更新了javacpp版本,以及切换了依赖包的引用方式为maven pom引入
|
|
|
|
|
- 2、通过opencv官方提供的java 语言的api调用,个人推荐这种方式调用,毕竟是官方的版本
|
|
|
|
|
|
|
|
|
|
以上两种方式,本质上都是java调用c++的接口实现,具体可以自行了解一下jni或者jna,这里不做深入介绍了
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 开发环境搭建
|
|
|
|
|
|
|
|
|
|
### 软件版本
|
|
|
|
|
|
|
|
|
|
- jdk 1.8.61+
|
|
|
|
|
- maven 3.0+
|
|
|
|
|
- opencv 4.0.1 ; javacpp1.4.4;opencv-platform 4.0.1-1.4.4
|
|
|
|
|
- spring boot 2.1.5.RELEASE
|
|
|
|
|
|
|
|
|
|
### 操作步骤
|
|
|
|
|
|
|
|
|
|
- 安装jdk,不会的自行百度
|
|
|
|
|
- 安装maven,不会的自行百度
|
|
|
|
|
- 将项目导入eclipse,不会的自行百度,其他的开发工具的自行百度
|
|
|
|
|
- **javacpp方式调用:**
|
|
|
|
|
- 添加pom依赖坐标:
|
|
|
|
|
```xml
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.bytedeco.javacpp-presets</groupId>
|
|
|
|
|
<artifactId>opencv</artifactId>
|
|
|
|
|
<version>4.0.1-1.4.4</version>
|
|
|
|
|
</dependency>
|
|
|
|
|
<!-- 引入这个包,会把所有平台的依赖包都导入,大小有200+M,实际上用不到 -->
|
|
|
|
|
<!-- 只需要从lib目录引入对应的操作系统版本包(lib/opencv-4.0.1-1.4.4-windows-x86_64.jar)即可 -->
|
|
|
|
|
<!-- <dependency>
|
|
|
|
|
<groupId>org.bytedeco.javacpp-presets</groupId>
|
|
|
|
|
<artifactId>opencv-platform</artifactId>
|
|
|
|
|
<version>4.0.1-1.4.4</version>
|
|
|
|
|
</dependency> -->
|
|
|
|
|
```
|
|
|
|
|
- 将 /lib/opencv-4.0.1-1.4.4-windows-x86_64.jar 依赖包添加到build path;也可以在pom文件中,使用opencv-platform,增加exclusion标签排出多余的包
|
|
|
|
|
- maven update 一下项目即可
|
|
|
|
|
- 如果不需要这种方式的实现,删除多余的代码即可
|
|
|
|
|
|
|
|
|
|
- **官方的api调用:**
|
|
|
|
|
- https://opencv.org/releases/ 官方下载对应版本的安装包;傻瓜式安装,不会的自行百度
|
|
|
|
|
- 添加user library 方法:https://blog.csdn.net/qq_32447301/article/details/78494913
|
|
|
|
|
- **注意:** 需要将opencv安装目录\build\java\x64目录下dll文件,拷贝到\build\x64\vc14\bin目录下,其中x64、vc14根据实际版本自行调整
|
|
|
|
|
- 如果不需要这种方式的实现,删除多余的代码即可
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|