介绍
Java OpenCV 是一个强大的开源计算机视觉库,它提供了丰富的图像处理和分析功能,越来越多的应用需要使用摄像头来获取实时视频流进行处理和分析。
在 Java 中使用 OpenCV 打开摄像头的基本步骤如下:
- 确保已经安装了OpenCV库
- 使用 OpenCV 的 VideoCapture 类来打开摄像头
- 使用 Mat 类来存储每一帧的图像
- 使用循环来不断从摄像头中读取帧,并显示这些帧
- 处理完毕后,释放摄像头资源
安装 OpenCV
下载地址:https://opencv.org/releases
从 OpenCV 官网下载适合自己操作系统版本的,然后双击安装(实质就是解压),解压完打开文件夹是:
build/
sources/
LICENSE.txt
LICENSE_FFMPEG.txt
README.md.txt
build 是 OpenCV 使用时要用到的一些库文件,而 sources 中则是 OpenCV 官方为我们提供的一些 demo 示例源码
配置环境变量可以不用配置,直接将用到的 dll(opencv_java411.dll
、opencv_world411.dll
、opencv_videoio_ffmpeg411_64.dll
) 文件复制到 C:\Windows\System32
下即可。
编码实现
将 OpenCV 库添加到 Java 项目的构建路径中,使用 VideoCapture 类来打开摄像头。
添加依赖
<!--openCV 依赖包-->
<dependency>
<groupId>org.opencv</groupId>
<artifactId>opencv</artifactId>
<version>4.1.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/opencv-411.jar</systemPath>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
注:fork、includeSystemScope 不配置,打包不生效。
打开摄像头
package com.demo.utils;
import lombok.extern.slf4j.Slf4j;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.videoio.VideoCapture;
import org.opencv.videoio.VideoWriter;
import static org.opencv