java opencv 常用api
时间: 2024-07-21 14:01:08 浏览: 69
在 Java 中使用 OpenCV (Open Source Computer Vision Library),是一个广泛应用于计算机视觉和机器学习项目的开源库。OpenCV 提供了一系列丰富的 API,让开发者能够处理图像、视频数据以及进行各种图像处理任务。以下是一些常用的功能和 API:
1. **Core**: 这是最底层的模块,包括基本的数据结构(如 Mat,表示图像矩阵)、内存管理和数学运算等。
- `Mat` 和 `MatOf<T>`:用于存储和操作图像和矩阵。
- `Size` 和 `Rect`:用于表示图像尺寸和矩形区域。
2. **HighGui**: 提供了图像显示、窗口管理等功能。
- `imshow()`:显示图像。
- `imread()` 和 `imwrite()`:读取和保存图片。
3. **Imgcodecs**: 图像文件读写支持。
4. **VideoCapture** 和 **VideoWriter**: 分别用于读取视频流和写入视频。
5. **Feature Detection & Description**: 包括 SIFT/SURFORBIS 等特征检测算法,以及 BOW、FLANN 算法用于描述符匹配。
6. **Object Detection**:例如 Haar cascades(人脸检测)、HOG+SVM 等模型。
7. **Image Processing**: 包括滤波(Blur, Gaussian blur, Canny edge detection)、形态学操作(erosion, dilation)、阈值化等。
8. **Machine Learning**: 部分机器学习算法如 SVM, KNN 可以用于分类和对象识别。
9. **Calibration** 和 **Camera Calibration**: 计算相机内参和外参。
10. **Drawing Operations**: 绘制线条、文本、形状等。
阅读全文