美文网首页Opencv3基础学习
【opencv10】cv::Point:二维/三维点类

【opencv10】cv::Point:二维/三维点类

作者: yuanCruise | 来源:发表于2018-12-18 09:54 被阅读26次

正如我们所知道的,opencv中的数据类型多由模板类进行创建,因此对于点类而言也是如此,支持各种类型如int,float等等的不同数据类型的point。点类的开销相对是很少的,因为该类上并未定义太多操纵,在需要的时候它们可以转化为更为一般的类型,例如固定向量类or固定矩阵类(之后讨论)。主要有两种模板,一种是二维的点,一种是三维的点。

一般通过下面的语句来实例化point对象。

cv::Point2i
cv::Point3f
语句中最后的i,f等所表达的意思为:
b是unsigned character,
s是short integer, 
i是32-bit integer,
f是32-bit floating-point number, 
d是64-bit floating-point number.

下表是一些point类直接支持的操作。

操作 例子(3可以换成2)
默认构造方法 cv::Point3i p;
拷贝构造方法 cv::Point3f p2( p1 );
带初始化值的构造方法 cv::Point3d p( x0, x1, x2 );
转换到固定向量类 (cv::Vec3f) p;
成员访问 p.x; p.y;p.z(2的时候没有z)
点积操作 float x = p1.dot( p2 )
双精度点积操作 double x = p1.ddot( p2 )
矢量积操作 p1.cross( p2 )(只针对3维point)
判断point是否在矩阵r中 p.inside( r )(只针对2维point)

这些类型可以被强制转换成old C类型的CvPoint和CvPoint2D32f。如果一个point类的实例被强制转换成CvPoint,那么该值将被四舍五入。

相关文章

  • 【opencv10】cv::Point:二维/三维点类

    正如我们所知道的,opencv中的数据类型多由模板类进行创建,因此对于点类而言也是如此,支持各种类型如int,fl...

  • OpenCV常用数据结构和函数

    点的表示:Point类 Point类数据结构表示二维坐标系下的点,即由其图像坐标x,y指定的2D点。用法如下 Po...

  • 【opencv12】cv::Size/cv::Rect/cv::

    1.cv::Size类 在实践中,size类与对应的Point点类(一致类型的)类似,可以互相转换。主要的区别在s...

  • 检测某一坐标点是否在多边形框中

    double cv::pointPolygonTest ([InputArray] contour,[Point...

  • C++基础强化

    1. 实现二维坐标下的类Point和Circle。 继承还是组合? 2. 实现二维坐标下的类Line和类Trian...

  • resize

    skimage 输入可以为二维也可以为三维 opencv 输入为二维(一定要注意缩放后大小先y后x)cv2.res...

  • 绪论

    点云数据及获取 点云定义 属性 点云(point cloud):三维点的数据集合三维坐标 强度 颜色 时间戳 分类...

  • opencv常见几何图形绘制

    绘制直线 函数:cv2.line(img,Point pt1,Point pt2,color,thickness=...

  • SVO:深度滤波器

    定义的一些类: Frame:帧Feature:特征点,包含二维像素坐标,三维的单位求面上的坐标。二维坐标用金字塔最...

  • OpenCV坐标计算辅助

    OpenCV坐标计算辅助,其它情况可修改数点(cv::Point)数据类型以适用。用于一些坐标计算的辅助类,算法来...

网友评论

    本文标题:【opencv10】cv::Point:二维/三维点类

    本文链接:https://www.haomeiwen.com/subject/qjsqkqtx.html