springboot集成opencv开源计算机视觉库
最近项目需要用到opencv
,网上看到很多资料都是下载安装并且引入jar包与dll文件,感觉很麻烦,不是我想要的,于是花时间折腾了下,不需要任何安装与引入jar包与dll文件,简单方便,快速上手。
先说说 opencv
可以干什么?
OpenCV具有广泛的功能和应用领域,包括:
-
- 图像处理:OpenCV提供了丰富的图像处理功能,如滤波、边缘检测、图像增强、几何变换、颜色空间转换等。
-
- 物体检测和识别:OpenCV包含了多种物体检测和识别算法,如人脸检测、目标跟踪、行人检测等。这些算法可用于视频监控、人脸识别、智能驾驶等应用。
-
- 机器学习集成:OpenCV与机器学习框架(如TensorFlow、PyTorch)结合使用,提供了对机器学习模型的支持。开发者可以使用OpenCV加载、预处理和后处理图像数据,以及与机器学习模型进行集成。
-
- 摄像头和视频处理:OpenCV提供了访问摄像头和处理实时视频流的功能。可以实时捕获摄像头数据,并应用图像处理算法或对象检测算法进行实时分析。
-
- 计算机视觉研究和开发:OpenCV为计算机视觉的研究人员和开发人员提供了一个强大的工具,使其能够快速实现算法原型、实验和应用开发。
首先直接新建一个springboot项目
,然后引入opencv坐标
<!-- https://mvnrepository.com/artifact/org.openpnp/opencv -->
<dependency>
<groupId>org.openpnp</groupId>
<artifactId>opencv</artifactId>
<version>4.6.0-0</version>
</dependency>
好了,不需要再额外的安装与引入任何文件。下面写一段测试代码,如下:
//初始化加载 opencv_javaXX.dll
//nu.pattern.OpenCV.loadLocally();
// 或者
OpenCV.loadShared();
//测试图片地址
String imgPath = "D:\\test.jpg";
//读取图片
Mat img = Imgcodecs.imread(imgPath);
//生成灰度图
Mat gray = new Mat();
Imgproc.cvtColor(img,gray, Imgproc.COLOR_BGR2GRAY);
//保存图片
Imgcodecs.imwrite("D:\\workspace\\demo3\\test1111.png", gray);
跑一下测试代码,是不是已经成功了。