OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
无匹配
公共类型 | 公共成员函数 | 公共属性 | 所有成员列表
cv::Point_< _Tp > 类模板参考

用于二维点的模板类,由其坐标 xy 指定。 更多...

#include <opencv2/core/types.hpp>

cv::Point_< _Tp > 的协作图

公共类型

typedef _Tp value_type
 

公共成员函数

 Point_ ()
 默认构造函数
 
 Point_ (_Tp _x, _Tp _y)
 
 Point_ (const Point_ &pt)=default
 
 Point_ (const Size_< _Tp > &sz)
 
 Point_ (const Vec< _Tp, 2 > &v)
 
 Point_ (Point_ &&pt) CV_NOEXCEPT=default
 
double cross (const Point_ &pt) const
 叉积
 
double ddot (const Point_ &pt) const
 使用双精度算术运算计算的点积
 
_Tp dot (const Point_ &pt) const
 点积
 
bool inside (const Rect_< _Tp > &r) const
 检查点是否在指定的矩形内
 
template<typename _Tp2 >
 operator Point_< _Tp2 > () const
 转换为另一种数据类型
 
 operator Vec< _Tp, 2 > () const
 转换为旧式 C 结构
 
Point_operator= (const Point_ &pt)=default
 
Point_operator= (Point_ &&pt) CV_NOEXCEPT=default
 

公共属性

_Tp x
 点的 x 坐标
 
_Tp y
 点的 y 坐标
 

详细描述

template<typename _Tp>
class cv::Point_< _Tp >

用于二维点的模板类,由其坐标 xy 指定。

该类的实例可以与 C 结构 CvPoint 和 CvPoint2D32f 交换。还有一个强制转换运算符可将点坐标转换为指定的类型。从浮点坐标到整数坐标的转换是通过四舍五入完成的。通常,转换对每个坐标使用此操作。除了声明中列出的类成员外,还实现了以下点操作

pt1 = pt2 + pt3;
pt1 = pt2 - pt3;
pt1 = pt2 * a;
pt1 = a * pt2;
pt1 = pt2 / a;
pt1 += pt2;
pt1 -= pt2;
pt1 *= a;
pt1 /= a;
double value = norm(pt); // L2 范数
pt1 == pt2;
pt1 != pt2;
double norm(InputArray src1, int normType=NORM_L2, InputArray mask=noArray())
计算数组的绝对范数。

为了方便起见,定义了以下类型别名

typedef Point2i Point;
用于二维点的模板类,由其坐标 x 和 y 指定。
定义 types.hpp:163
Point_< int > Point2i
定义 types.hpp:205
Point2i Point
定义 types.hpp:209
Point_< double > Point2d
定义 types.hpp:208
Point_< float > Point2f
定义 types.hpp:207

示例

Point2f a(0.3f, 0.f), b(0.f, 0.4f);
Point pt = (a + b)*10.f;
cout << pt.x << ", " << pt.y << endl;
_Tp y
点的 y 坐标
定义 types.hpp:202
_Tp x
点的 x 坐标
定义 types.hpp:201

成员类型定义文档

◆ value_type

template<typename _Tp >
typedef _Tp cv::Point_< _Tp >::value_type

构造函数和析构函数文档

◆ Point_() [1/6]

template<typename _Tp >
cv::Point_< _Tp >::Point_ ( )

默认构造函数

◆ Point_() [2/6]

template<typename _Tp >
cv::Point_< _Tp >::Point_ ( _Tp  _x,
_Tp  _y 
)

◆ Point_() [3/6]

template<typename _Tp >
cv::Point_< _Tp >::Point_ ( const Point_< _Tp > &  pt)
默认

◆ Point_() [4/6]

template<typename _Tp >
cv::Point_< _Tp >::Point_ ( Point_< _Tp > &&  pt)
默认

◆ Point_() [5/6]

template<typename _Tp >
cv::Point_< _Tp >::Point_ ( const Size_< _Tp > &  sz)

◆ Point_() [6/6]

template<typename _Tp >
cv::Point_< _Tp >::Point_ ( const Vec< _Tp, 2 > &  v)

成员函数文档

◆ cross()

template<typename _Tp >
double cv::Point_< _Tp >::cross ( const Point_< _Tp > &  pt) const

叉积

◆ ddot()

template<typename _Tp >
double cv::Point_< _Tp >::ddot ( const Point_< _Tp > &  pt) const

使用双精度算术运算计算的点积

◆ dot()

template<typename _Tp >
_Tp cv::Point_< _Tp >::dot ( const Point_< _Tp > &  pt) const

点积

◆ inside()

template<typename _Tp >
bool cv::Point_< _Tp >::inside ( const Rect_< _Tp > &  r) const

检查点是否在指定的矩形内

◆ operator Point_< _Tp2 >()

template<typename _Tp >
template<typename _Tp2 >
cv::Point_< _Tp >::operator Point_< _Tp2 > ( ) const

转换为另一种数据类型

◆ operator Vec< _Tp, 2 >()

template<typename _Tp >
cv::Point_< _Tp >::operator Vec< _Tp, 2 > ( ) const

转换为旧式 C 结构

◆ operator=() [1/2]

template<typename _Tp >
Point_ & cv::Point_< _Tp >::operator= ( const Point_< _Tp > &  pt)
默认

◆ operator=() [2/2]

template<typename _Tp >
Point_ & cv::Point_< _Tp >::operator= ( Point_< _Tp > &&  pt)
默认

成员数据文档

◆ x

template<typename _Tp >
_Tp cv::Point_< _Tp >::x

点的 x 坐标

◆ y

template<typename _Tp >
_Tp cv::Point_< _Tp >::y

点的 y 坐标


此类的文档是从以下文件生成的