SpringBoot整合OpenCV的实现示例

作者:小夏陌 时间:2022-09-07 03:53:19 

简介

接下来会讲解怎么用SpringBoot整合OpenCV

初始化SpringBoot项目

这里正常初始一个SpringBoot项目

SpringBoot整合OpenCV的实现示例

依赖文件

在安装目录下找到以下两个文件,如果不知道怎么安装OpenCV,可查看这篇文章,Windows下安装OpenCV
opencv\build\java\opencv-420.jar
opencv\build\java\x64\opencv_java420.dll
在resource目录下新建一个lib文件夹,然后将两个文件复制到resource\lib下

SpringBoot整合OpenCV的实现示例

项目添加lib

在项目中添加依赖,点击“+”后选择Java,其它如图所示

SpringBoot整合OpenCV的实现示例

SpringBoot整合OpenCV的实现示例

测试


import org.junit.Test;
import org.opencv.core.Mat;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import static org.opencv.core.Core.merge;
import static org.opencv.core.Core.split;
import static org.opencv.highgui.HighGui.imshow;
import static org.opencv.highgui.HighGui.waitKey;
import static org.opencv.imgcodecs.Imgcodecs.imread;
import static org.opencv.imgproc.Imgproc.equalizeHist;
/**
* @ClassName OpenCVTest
* @Description TODO
* @Author L
* @Date Create by 2020/1/11
*/
public class OpenCVTest {
/**
 * 测试OpenCV是否能运行:需要自行修改图片位置
 * @throws Exception 测试是否成功
 */
@Test
public void testOpenCV() throws Exception {
 URL url = ClassLoader.getSystemResource("lib/opencv_java420.dll");
 System.load(url.getPath());
 //填你的图片地址
 Mat image = imread("E:\\opencv\\src\\main\\resources\\static\\opencv.png", 1);
 if (image.empty()){
  throw new Exception("image is empty!");
 }
 imshow("Original Image", image);
 List<Mat> imageRGB = new ArrayList<>();
 split(image, imageRGB);
 for (int i = 0; i < 3; i++) {
  equalizeHist(imageRGB.get(i), imageRGB.get(i));
 }
 merge(imageRGB, image);
 imshow("Processed Image", image);
 waitKey();
}
}

出现以下两张图,一张代表原始图,一张代表处理过后的图,即表示整合成功

SpringBoot整合OpenCV的实现示例

来源:https://blog.csdn.net/qq_22136439/article/details/103937436

标签:SpringBoot,整合,OpenCV
0
投稿

猜你喜欢

  • C#模板方法模式(Template Method Pattern)实例教程

    2022-09-12 02:59:23
  • C#生成随机数实例

    2023-09-17 23:28:28
  • 详解java中的阻塞队列

    2021-11-26 12:24:44
  • Windows 10卸载JDK1.8超详细图文教程

    2022-07-07 22:30:16
  • Java本地缓存工具之LoadingCache的使用详解

    2023-06-24 11:28:11
  • Android Jetpack中Room的使用

    2021-11-11 08:43:36
  • 零基础写Java知乎爬虫之先拿百度首页练练手

    2022-11-14 09:07:05
  • Java面向对象基础,类,变量,方法

    2023-04-08 13:21:49
  • 详解java中各类锁的机制

    2022-08-01 06:48:56
  • Android ActionBarActivity设置全屏无标题实现方法总结

    2023-09-09 10:44:57
  • Android 判断SIM卡属于哪个移动运营商详解及实例

    2023-08-25 15:29:39
  • 浅谈C#中Process类的使用详解

    2022-11-13 01:42:44
  • Unity 数据存储和读取的方法汇总

    2021-12-12 11:39:47
  • 解析c#在未出现异常情况下查看当前调用堆栈的解决方法

    2023-05-18 02:54:04
  • Android 设置Edittext获取焦点并弹出软键盘

    2022-02-28 12:02:02
  • Android自定义漂亮的圆形进度条

    2023-08-04 04:23:06
  • Android List(集合)中的对象以某一个字段排序案例

    2021-10-07 03:28:39
  • java使用计算md5校验码方式比较两个文件是否相同

    2023-05-10 23:43:16
  • Android 无障碍服务 performAction 调用过程分析

    2023-05-03 12:06:17
  • Java中锁的实现和内存语义浅析

    2021-06-04 01:09:49
  • asp之家 软件编程 m.aspxhome.com