openCV自学总结(基础操作,非完整版,后续学完了还会更新)
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中,还有许多其他的数据结构和函数,用于实现各种计算机视觉算法和数据处理操作。
- 粉丝: 15
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- js-leetcode题解之158-read-n-characters-given-read4-ii-call
- js-leetcode题解之157-read-n-characters-given-read4.js
- js-leetcode题解之156-binary-tree-upside-down.js
- js-leetcode题解之155-min-stack.js
- js-leetcode题解之154-find-minimum-in-rotated-sorted-array-ii.js
- js-leetcode题解之153-find-minimum-in-rotated-sorted-array.js
- js-leetcode题解之152-maximum-product-subarray.js
- js-leetcode题解之151-reverse-words-in-a-string.js
- js-leetcode题解之150-evaluate-reverse-polish-notation.js
- js-leetcode题解之149-max-points-on-a-line.js