openCV自学总结(基础操作,非完整版,后续学完了还会更新)

preview
需积分: 0 1 下载量 118 浏览量 更新于2023-09-06 收藏 301KB PDF 举报
OpenCV基础操作总结 OpenCV是一个基于BSD许可的计算机视觉库,主要由加利福尼亚大学圣迭戈分校(UCSD)扩展了的Intel Image Processing Library(IPL)。 OpenCV提供了大量的计算机视觉算法和数据结构,可以用于图像和视频处理、特征检测、对象识别、跟踪、3D重建等领域。 在OpenCV中,数据类型是非常重要的,下面将对一些基本的数据类型进行介绍: 1. cv::InputArray:是一个抽象基类,用于描述输入数据,包括Mat、Matx、Scalar等。 2. cv::OutputArray:是一个抽象基类,用于描述输出数据,包括Mat、Matx、Scalar等。 3. cv::Scalar:是一个四维数据结构,包括四个double类型的元素,常用于表示颜色信息。 4. cv::Point:是一个二维数据结构,包括两个整数类型的元素,用于表示图像中的坐标点。 5. cv::Size:是一个二维数据结构,包括两个整数类型的元素,用于表示图像的大小。 6. cv::Rect:是一个矩形数据结构,包括四个整数类型的元素,用于表示图像中的矩形区域。 7. cv::RotatedRect:是一个旋转矩形数据结构,包括五个元素,包括中心点、大小和旋转角度,用于表示图像中的旋转矩形区域。 8. cv::Mat:是一个矩阵数据结构,用于存储图像数据,可以是二维或三维的。 9. cv::SparseMat:是一个稀疏矩阵数据结构,用于存储稀疏矩阵数据。 在OpenCV中,还有许多其他的数据类型和函数,用于实现各种计算机视觉算法和数据处理操作。 在OpenCV中,Mat是最基本的数据类型,用于存储图像数据。Mat可以通过多种方式构造,包括: * 赋值构造:Mat(size si, int type) * 拷贝构造:Mat(const Mat &mat) * 全零构造:Mat::zeros(int rows, int cols, int type) * 全一构造:Mat::ones(int rows, int cols, int type) * 单位矩阵构造:Mat::eye(int rows, int cols, int type) Mat也可以通过.channels()函数获取通道数,通过.copyTo()函数和.clone()函数实现数据的复制和 Clone。 在OpenCV中,还有许多其他的函数和算子,用于实现各种数据处理操作,例如: * cv::abs():计算绝对值 * cv::absdiff():计算两个矩阵的绝对差 * cv::add():计算两个矩阵的和 * cv::addWeighted():计算两个矩阵的加权和 * cv::convertScaleAbs():将矩阵转换为绝对值 这些函数和算子可以用于实现各种图像和视频处理算法,例如图像滤波、图像变换、对象识别等。 在OpenCV中,还有许多其他的数据结构和函数,用于实现各种计算机视觉算法和数据处理操作。