Opencv系列1.3--Opencv数据结构

本文深入探讨了OpenCV中的数据结构,包括基本数据类型如cv::Point、cv::Scalar、cv::Size和cv::Rect,以及固定矩阵和向量类。还介绍了智能指针cv::Ptr、异常处理和实用函数,如cv::ceil、cv::fastAtan2等。
摘要由CSDN通过智能技术生成

更多更详细的文章请关注微信公众号:SLAM之路

Opencv数据结构整体分为三大类

i.基本数据类型,直接由C++数据元素(int,float,等等)组成,如简单向量、简单矩阵或者表示几何概念的点、矩形、大小等等;

ii.helper objects,用于表示抽象的概念,如garbage-collecting pointer class、range objects;

iii.大数组类型,用于包含大规模数组、大规模几何元素、大规模基本数据类型;典型例子如cv::Mat类,用于表示任意维度数组包含任意基本数据类型;

iv.标准容器库,STL;

Ⅰ、基本数据类型

cv::Point类型

点类型,与固定向量类型cv::Vec紧密相连,它是两个或三个基本元素值得容器,当然点也可以根据其本身的模板生成;点类型和固定向量类型的主要区别在于:它可以通过变量名访问(mypoint.x,mypoint.y等等),而不是通过向量序号(myvec[0],myvec[1]等等);

点类型也具有其化名形式,如:

cv::Point2i表示二维点,整型

cv::Point2f表示二维点,单精度

cv::Point2d表示二维点,双精度

cv::Point3i表示三维点,整型

cv::Point3f表示三维点,单精度

cv::Point3d表示三维点,整型

下表是点类型支持的操作:默认构造、复制构造、值构造、强制转化为固定向量类型、访问成员、点积、叉乘;

 

cv::Scalar类型

实际上是一个四维点类型;但本质上cv::Vec<double,4>。

 

对于Scalar类型,强制转化为固定向量类型并未出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值