opencv的学习笔记

OpenCV 提供了许多数据结构来处理图像和计算机视觉任务。以下是一些常用的 OpenCV 数据结构及其说明:

1. cv::Mat

  • 用途:主要用于存储图像数据,但也可以存储任意多维矩阵数据。
  • 说明cv::Mat 是一个灵活且高效的多维矩阵容器。它可以表示灰度图像、彩色图像、多通道图像以及其他类型的矩阵数据。支持浅复制和引用计数,允许高效的矩阵操作。

2. cv::Point

  • 用途:表示二维或三维点。
  • 说明
    • cv::Point_<T>:通用模板类,T 可以是任意类型(如 intfloat)。
    • 常用特化:
      • cv::Point2i:表示二维整型点。
      • cv::Point2f:表示二维浮点型点。
      • cv::Point2d:表示二维双精度浮点型点。
      • cv::Point3i:表示三维整型点。
      • cv::Point3f:表示三维浮点型点。
      • cv::Point3d:表示三维双精度浮点型点。

3. cv::Size

  • 用途:表示二维尺寸(宽度和高度)。
  • 说明
    • cv::Size_<T>:通用模板类,T 可以是任意类型(如 intfloat)。
    • 常用特化:
      • cv::Size2i:表示整型尺寸。
      • cv::Size2f:表示浮点型尺寸。

4. cv::Rect

  • 用途:表示二维矩形区域。
  • 说明
    • cv::Rect_<T>:通用模板类,T 可以是任意类型(如 intfloat)。
    • 常用特化:
      • cv::Rectcv::Rect2i:表示整型矩形。
      • cv::Rect2f:表示浮点型矩形。

5. cv::Scalar

  • 用途:表示多通道值,通常用于颜色表示。
  • 说明cv::Scalar 是一个包含 1 到 4 个通道的值的容器,默认情况下用于颜色表示(如 BGR、BGRA)。

6. cv::Vec

  • 用途:表示固定大小的向量。
  • 说明
    • cv::Vec<T, cn>:通用模板类,T 是类型,cn 是通道数。
    • 常用特化:
      • cv::Vec2icv::Vec3icv::Vec4i:表示 2、3、4 维整型向量。
      • cv::Vec2fcv::Vec3fcv::Vec4f:表示 2、3、4 维浮点型向量。
      • cv::Vec2dcv::Vec3dcv::Vec4d:表示 2、3、4 维双精度浮点型向量。

7. cv::RotatedRect

  • 用途:表示旋转矩形。
  • 说明cv::RotatedRect 包含中心点、尺寸(宽度和高度)以及旋转角度。

8. cv::Range

  • 用途:表示连续的范围。
  • 说明cv::Range 类通常用于矩阵的行或列范围操作。

9. cv::Moments

  • 用途:表示图像矩。
  • 说明cv::Moments 包含图像的空间矩和中心矩,用于计算物体的特征(如质心、方向等)。

10. cv::KeyPoint

  • 用途:表示图像中的关键点。
  • 说明cv::KeyPoint 包含关键点的位置、大小、方向、响应度等信息。

11. cv::DMatch

  • 用途:表示两个特征点之间的匹配。
  • 说明cv::DMatch 包含匹配点的索引和距离。

12. cv::Matx

  • 用途:表示小型固定大小的矩阵。
  • 说明cv::Matx<T, m, n>:通用模板类,T 是类型,mn 是矩阵的行数和列数。

13. cv::Affine3

  • 用途:表示三维仿射变换。
  • 说明cv::Affine3<T>:通用模板类,T 是类型(如 floatdouble)。

14. cv::UMat

  • 用途:表示统一内存访问的矩阵。
  • 说明cv::UMatcv::Mat 的增强版,用于加速计算,支持异构计算架构(如 CPU、GPU)。

总结

这些数据结构在 OpenCV 中用于不同的场景和用途,为图像处理、特征提取、几何变换等提供了强大的支持。了解并掌握这些数据结构可以帮助你更有效地使用 OpenCV 进行计算机视觉任务。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值