SpringBoot使用OpenCV开发和部署

这篇具有很好参考价值的文章主要介绍了SpringBoot使用OpenCV开发和部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近使用OpenCV进行后台的二维码识别,也用了别的方式但是识别的都不是很精准,对比一下还是OpenCV最准确,由于第一次使用,在windows下使用IDEA开发和部署Linux服务器后遇到了很多问题,在这特别记录一下。

一、windows环境下进行开发:

1.官网下载安装包

(1)Opencv官网:https://opencv.org/

SpringBoot使用OpenCV开发和部署

(2)选择windows版本

SpringBoot使用OpenCV开发和部署

2.解压安装包

解压安装包的目的是获取其中的jar包和dll文件,很多教程都是直接安装安装包,效果都一样。
jar包路径:opencv-4.6.0-vc14_vc15\opencv\build\java\opencv-460.jar
dll文件路径:opencv-4.6.0-vc14_vc15\opencv\build\java\x64\opencv_java460.dll
dll文件根据你的系统是多少位进行选择

3.项目中引入jar包

(1)在项目中新建lib文件夹用来存放引入的jar包,直接将jar包放进去就行。

SpringBoot使用OpenCV开发和部署

(2)在pom.xml中引入jar包,systemPath填写上一步新建lib文件的路径。
<dependency>
    <groupId>opencv</groupId>
    <artifactId>opencv</artifactId>
    <version>460</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/lib/opencv-460.jar</systemPath>
</dependency>
(3)这时候如果你直接运行的话,会提示 Caused by: java.lang.UnsatisfiedLinkError: no opencv_java460 in java.library.path,这是因为缺少dll文件引起的。

SpringBoot使用OpenCV开发和部署

(4)添加dll文件,解决 no opencv_java460 in java.library.path 异常。

将dll文件放到计算机系统System32文件夹下,路径:C:\Windows\System32
SpringBoot使用OpenCV开发和部署

(5)测试

测试代码

// 测试OpenCV是否安装成功
public static void main(String[] args) throws Exception {
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
    System.out.println("mat = " + mat.dump());
}

运行结果
SpringBoot使用OpenCV开发和部署

二、Linux环境下进行部署:

1.官网下载安装包

Opencv官网:https://opencv.org/
选择Linux压缩包版本
SpringBoot使用OpenCV开发和部署

2.安装

(1)安装依赖
# 缺什么就下什么,其中cmake是最重要的
yum -y install epel-release
yum install gcc gcc-c++  
yum install cmake 
yum install python-devel numpy 
yum install ffmpeg-devel
yum install -y unzip zip
(2)解压opencv
# 解压
unzip opencv-4.6.0.zip 
# 进入解压后的目录
cd opencv-4.6.0
# 创建名为build目录存放后续生成的一些东西
mkdir build
# 进入build目录中
cd build
(3)编译

这一步所需要的时间较长,请耐心等待。

cmake -D WITH_TBB=ON -D WITH_EIGEN=ON ..    
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=<你想要安装的路径> .. 
make 
make install

yum install ant
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=<你前面设置的安装路径> -DBUILD_TESTS=OFF ..
make -j8
make install
(4)测试

如果一切正常,则成功编译生成了OpenCV。确保以下文件被打包在相应的目录中。

/opt/opencv-4.6.0/build/lib/libopencv_java460.so
/opt/opencv-4.6.0/build/bin/opencv-460.jar

三、出现的问题:

1.Caused by: java.lang.UnsatisfiedLinkError: no opencv_java460 in java.library.path

(1)Windows环境下

SpringBoot使用OpenCV开发和部署
解决方法:将dll文件放到计算机系统System32文件夹下,路径:C:\Windows\System32

(2)Linux环境下

SpringBoot使用OpenCV开发和部署
解决方法:将安装opencv生成的so文件(路径:/opt/opencv-4.6.0/build/lib/libopencv_java460.so)放到/usr/lib64/目录下

2.运行时提示类未创建成功

(1)Windows环境下

解决方法:使用静态代码块加载库

// 得保证先执行该语句,用于加载库,才能调用其他操作库的语句
static {
	System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
(2)Linux环境下

解决方法:System.load加载生成的so文件文章来源地址https://www.toymoban.com/news/detail-459360.html

static {
	System.load("/opt/opencv-4.6.0/build/lib/libopencv_java460.so");
}

到了这里,关于SpringBoot使用OpenCV开发和部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker容器部署OpenCV,打造高效可移植的计算机视觉开发环境

    海鲸AI-ChatGPT4.0国内站点:https://www.atalk-ai.com 在计算机视觉领域,快速部署和测试算法是研究和开发的关键。OpenCV作为一个强大的开源计算机视觉库,广泛应用于各种图像处理和视频分析任务。然而,配置OpenCV环境可能会因为不同操作系统和依赖库的版本差异而变得复杂。这

    2024年04月26日
    浏览(44)
  • SpringBoot使用OpenCV

    本文展示Windows下Spring Boot 整合Opencv 4.5 进行对图片中的人脸提取,开发工具IDEA。 1、下载opencv安装包【下载地址】 2、下载后运行exe、安装。 1、创建空白spring boot项目,jar放入如下图,pom添加依赖。 2、opencvbuildjava目录的dll,opencvsourcesdatahaarcascades数据集,按图存放。 3、

    2024年02月22日
    浏览(22)
  • 最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信

    阿里云短信服务网址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 第一步:申请签名(一般申请时长在1-2小时之间)特别注意:场景说明不要乱填以免申请不通过  第二步:申请短信模板(一般申请时长在1-2小时之间)特别注意:场景说明不要乱填以免申请不

    2024年02月06日
    浏览(49)
  • 线上部署springboot和vue开发的博客需要替换的地方

    账号密码更换 数据库名称更换 2.将所有localhost 替换为 ‘47.109.28.131’ 1.查看原有jar包 2.杀死原有端口号 3.移除原有jar包 4.winscp传入当前最新jar包 5.执行java命令后台启用 6.传入前端vue dist文件夹

    2024年01月20日
    浏览(36)
  • 使用OpenCV部署全景驾驶感知网络YOLOP

    MCnet 是一个神经网络模型,用于实现车辆视觉感知的任务,比如车道线检测、行驶区域分割和物体检测等。MCnet 的全称是 Multitask CNN,它在单个神经网络模型中集成了多个任务的网络结构,可以同时对输入图像进行多个任务的处理和输出。MCnet 的设计灵感来源于 YOLOv4 和 CSPN

    2024年02月04日
    浏览(31)
  • 【模型部署】使用opencv C++ 加速YOLO V5

    在ultralytics/YOLO V5中官方给出了利用opencv c++ cuda 进行YOLO V5加速的实例代码,但是代码中并没有给出相关注释,今天花了些时间,把示例源码仔细看了看,并把每一部分都进行了详细注释。内容在下方,欢迎大家交流学习。 官网示例源码参考链接:doleron/yolov5-opencv-cpp-python: E

    2024年02月02日
    浏览(41)
  • Linux系统部署OpenCV环境(java项目使用方式)

    Opencv4.5.2的zip包(OpenCV官网下载) 1. 上传opencv4.5.2的zip包到home目录(不一定home目录,根据运维情况决定) 2. 运行解压缩命令 3. 进入opencv-452文件夹,创建文件夹 4. 进入文件夹中 5. 如果没有安装cmake,使用下列命令安装,并且查看版本信息。 需要高一点的版本,我安装的是

    2024年02月06日
    浏览(52)
  • 最近正在集成SpringBoot与MyBatis-plus, MyBatis-Plus-Join体验感很好啊

    MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗

    2024年02月08日
    浏览(47)
  • [C++]使用纯opencv部署yolov8旋转框目标检测

    【官方框架地址】 https://github.com/ultralytics/ultralytics 【算法介绍】 YOLOv8是一种先进的对象检测算法,它通过单个神经网络实现了快速的物体检测。其中,旋转框检测是YOLOv8的一项重要特性,它可以有效地检测出不同方向和角度的物体。 旋转框检测的原理是通过预测物体的边界

    2024年04月26日
    浏览(39)
  • dockerfile的使用,使用dockerfile部署springboot项目

    Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 官网:https://docs.docker.com/engine/reference/builder/ 1:每条保留字指令都 必须为大写字母 且后面要跟随至少一个参数 2:指令按照从上到下,顺序执行 3:#表示注释 4:每条指令都会创建

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包