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
0
投稿
猜你喜欢
- springboot初始化器新建项目项目结构idea工具类中初始化本地git仓库选择当前项目目录即可工具类由VCS变成了Gitadd 到缓存
- 前言在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。放在地址栏中,我们可以通过如下方式获取参数:S
- c语言颜色代码初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性。/*颜色函数SetConsoleTextAtt
- 后端实现1. 数据库设计我们需要设计两个表:用户表和角色表。用户表字段 类型 描述id bigint(20) 用户 IDusername v
- 可重入锁,从字面来理解,就是可以重复进入的锁。可重入锁,也叫做递归锁,指的是同一线程外层函数获得锁之后,内层递归函数仍然有获取该锁的代码,但
- 本文实例为大家分享了Java操作qq邮箱发送邮件的具体代码,供大家参考,具体内容如下今天尝试了使用QQ邮箱的POP3/IMAP/SMTP/E
- yml 文件规则yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的。不支持tab缩进可以使用 "-
- 这篇文章主要介绍了通过实例解析java8中的parallelStream,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 前言Condition是在Spring4.0增加的条件判断功能,通过这个功能可以实现选择性的创建Bean对象。引入一个例子SpringBoo
- 1、SerialPortHelper「Android串口通信」介绍原项目地址https://github.com/freyskill/Ser
- ForkJoinTask就是ForkJoinPool里面的每一个任务。他主要有两个子类:RecursiveAction和RecursiveT
- 本文实例为大家分享了SpringBoot+easypoi实现数据的Excel导出的具体代码,供大家参考,具体内容如下maven<dep
- 以下是代码:package cn.study.concurrency.ch11;/** * 锁分段 * @author xiaof * */
- 有时候我们需要在一个ArrayList的for循环中动态删除元素的需求, 废话不多说看代码List<Integer> list
- 验证码逻辑以前在项目中也做过验证码,生成验证码的代码网上有很多,也有一些第三方的jar包也可以生成漂亮的验证码。验证码逻辑很简单,就是在登录
- 前言Graalvm通过静态分析提前编译来为Java应用程序构建高度优化的本机可执行文件,这就需要在编译时就知道所有的程序类型,而java中的
- 这篇文章主要介绍了简单了解Spring中BeanFactory与FactoryBean的区别,文中通过示例代码介绍的非常详细,对大家的学习或
- 本文实例讲述了Java Lambda表达式。分享给大家供大家参考,具体如下:一 点睛Lambda表达式支持将代码块作为方法参数,Lambda
- 这篇文章主要介绍了Java实现发送手机短信语音验证功能代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 一、下载RabbitMQhttp://www.rabbitmq.com/install-windows.html二、下载OTPhttp://