OpenCV 基本模块概述
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛应用于图像处理、视频分析、机器学习等领域。其核心模块涵盖了从基础图像操作到高级算法的完整工具链,以下是主要模块的详细介绍及代码示例。
核心模块(Core)
核心模块包含OpenCV的基础数据结构与基本操作,如矩阵运算、文件IO、绘图函数等。cv::Mat是其核心数据结构,用于存储图像或矩阵数据。
代码示例:创建与操作矩阵
#include <opencv2/core.hpp>
using namespace cv;
int main() {
// 创建一个3x3的浮点矩阵
Mat matrix = (Mat_<float>(3, 3) << 1, 2, 3, 4, 5, 6, 7, 8, 9);
// 矩阵转置
Mat transposed;
transpose(matrix, transposed);
return 0;
}
图像处理模块(Imgproc)
图像处理模块提供滤波、边缘检测、几何变换等功能,是OpenCV中最常用的模块之一。
代码示例:边缘检测与高斯模糊
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
int main() {
Mat image = imread("input.jpg", IMREAD_GRAYSCALE);
Mat blurred, edges;
// 高斯模糊
GaussianBlur(image, blurred, Size(5, 5), 1.5);
// Canny边缘检测
Canny(blurred, edges, 50, 150);
imshow("Edges", edges);
waitKey(0);
return 0;
}
视频分析模块(Video)
视频分析模块支持运动估计、背景减除、光流计算等功能,适用于实时视频处理。
代码示例:背景减除
81

被折叠的 条评论
为什么被折叠?



