SpringBoot整合OpenCV的实现示例
作者:小夏陌 发布时间:2022-09-07 03:53:19
标签:SpringBoot,整合,OpenCV
简介
接下来会讲解怎么用SpringBoot整合OpenCV
初始化SpringBoot项目
这里正常初始一个SpringBoot项目
依赖文件
在安装目录下找到以下两个文件,如果不知道怎么安装OpenCV,可查看这篇文章,Windows下安装OpenCV
opencv\build\java\opencv-420.jar
opencv\build\java\x64\opencv_java420.dll
在resource目录下新建一个lib文件夹,然后将两个文件复制到resource\lib下
项目添加lib
在项目中添加依赖,点击“+”后选择Java,其它如图所示
测试
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();
}
}
出现以下两张图,一张代表原始图,一张代表处理过后的图,即表示整合成功
来源:https://blog.csdn.net/qq_22136439/article/details/103937436


猜你喜欢
- 本文实例讲述了Java ThreadLocal类应用。分享给大家供大家参考,具体如下:一 点睛ThreadLocal,是Thread Loc
- 本文实例讲述了Android编程实现震动与振铃的方法。分享给大家供大家参考,具体如下:1、Android的震动实现——Vibrator类(1
- 本文实例为大家分享了springmvc实现验证码功能展示的具体代码,供大家参考,具体内容如下先看效果图: 思路: 首先验证码是一张图片,是一
- 本文实例讲述了Android观察者模式。分享给大家供大家参考。具体分析如下:一、环境:主机:WIN8开发环境:Eclipse二、说明:1.打
- 抛出问题:Long a = 4l;Long b = 4l;a == b //trueLong a = 128l;Long b = 128l;
- 记录一下使用IDEA创建servlet并使用Tomcat本地部署的过程。需要安装好的软件首先IDEA社区版不支持Java EE,因此要使用U
- 前言 最近项目有一个节点进度条的小需求,完成后,想分享出来希望可以帮到有需要的同学。真机效果图自定义View完整代码开箱即用~,注释已经炒鸡
- 配置文件context-path的坑context-path: /manage 这个配置加入后会导致访问spring的页面都需要加这个/ma
- 1、IndexTagController.java@GetMapping("/tags/{id}") &n
- 前言poi的解析方式是dom解析,把结果一次都读入内存操作,这样的操作平时是不会有问题的,但是并发量上来的时候就会出现OOM,EasyExc
- 欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demo
- 首先,我们假设这样一个场景:一个ViewPager里面嵌套一个ViewPager,内部滑动方向和外部滑动方向一样时,该怎么解决这一冲突呢?针
- 本文介绍了springboot前后台数据交互的示例代码,分享给大家,具体如下:1.在路径中传递数据,比如对某个数据的id:123前台发送:格
- 1、文件上传1.1 后端部分1.1.1 引入Apache Commons FIleUpload组件依赖<!--文件上传与下载相关的依赖
- 本文实例讲述了Android开发之ListView的简单用法及定制ListView界面操作。分享给大家供大家参考,具体如下:效果:如何从获得
- 文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处 理而开发的,所以文件读写是应用程序开发的一个基本功能。Qt
- springboot @ConfigurationProperties和@PropertySource区别@ConfigurationPro
- 前言相对来说呢,jpg格式的相对来说容易破解一点,当然也取决于你的干扰元素,元素越复杂,破解也就难度越高,有的加的多,人都识别不出来了,何况
- 秒杀功能秒杀场景现在已经非常常见了,各种电商平台都有秒杀的产品,接下来我们模拟一个秒杀的项目,最终能够确保高并发下的线程安全。界面比较简单,
- Feign获取异常信息最近在使用Feign调用时,出现了异常,原本使用的是fallback,直接返回了自定义的结果@Override &nb