SpringBoot集成OpenCV进行图像处理

一、环境部署

  • Windows
  1. OpenCV官网下载安装包
    OpenCV官网
    OpenCV官网
  2. 安装完毕后,在opencv\build\java复制jar包,后续导入依赖时使用
  3. opencv\build\java\x64opencv\build\java\x86复制dll文件,将dll文件复制到C:\Windows\System32文件夹
  • Linux 以Centos为例
  1. 安装依赖
yum install  gcc  gcc-c++
yum install cmake*
yum install gtk2-devel
yum install ant
  1. 在官网下载OpenCV源码,上传至Linux服务器并解压
    在这里插入图片描述
  2. 进入解压后的OpenCV源码目录,创建编译目录
cd /opencv4.4.0
mkdir build
cd build
  1. 生成makefile(/makefile目录更换为自定义的文件夹)
cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/makefile ..

.. 代表在父目录执行

  1. 编译、安装
make
make install
  1. 安装后产生的文件
opencv-4.4.0/build/lib/libopencv_java440.so
opencv-4.4.0/build/bin/opencv-440.jar

jar包和Windows下生成的一样;so包则是Linux所特有,对应于Windows的dll文件
7. 将libopencv_java440.so复制到 /usr/lib 文件夹
8. Linux下编译安装完成后会默认部署OpenJDK11环境在服务器上,影响服务器原Java环境,只需要手动卸载OpenJDK即可,原Java环境会重新生效

二、导入依赖

  1. 在SpringBoot项目的resources文件夹新建 /lib/opencv 文件夹,将 jar 包复制进去
  2. 项目不要集成spring-boot-devtools工具,会影响dll库文件导入
  3. 添加依赖
		<!-- OpenCV -->
        <dependency>
            <groupId>org</groupId>
            <artifactId>opencv</artifactId>
            <scope>system</scope>
            <systemPath>${project.basedir}\src\main\resources\lib\opencv\opencv-440.jar</systemPath>
            <version>4.4.0</version>
        </dependency>

三、使用

  1. 新建MatUtil,将图片Base64(去掉Base64文件头)转为Mat对象
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.MatOfByte;
import org.opencv.imgcodecs.Imgcodecs;
import sun.misc.BASE64Decoder;

import javax.imageio.ImageIO;
import javax.xml.bind.DatatypeConverter;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.io.<
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值