cv::Point_< _Tp > Class Template Reference 核心功能 » 基本结构


Template class for 2D points specified by its coordinates x and y . 更多...

#include <opencv2/core/types.hpp>

公共类型

typedef _Tp  value_type
 

Public Member Functions

  Point_ ()
  default constructor 更多...
 
  Point_ (_Tp _x, _Tp _y)
 
  Point_ (const Point_ &pt)
 
  Point_ ( Point_ &&pt) CV_NOEXCEPT
 
  Point_ (const Size_ < _Tp > &sz)
 
  Point_ (const Vec < _Tp, 2 > &v)
 
double  cross (const Point_ &pt) const
  cross-product 更多...
 
double  ddot (const Point_ &pt) const
  dot product computed in double-precision arithmetics 更多...
 
_Tp  dot (const Point_ &pt) const
  dot product 更多...
 
bool  inside (const Rect_ < _Tp > &r) const
  checks whether the point is inside the specified rectangle 更多...
 
template<typename _Tp2 >
  operator Point_< _Tp2 > () const
  conversion to another data type 更多...
 
  operator Vec< _Tp, 2 > () const
  conversion to the old-style C structures 更多...
 
Point_ operator= (const Point_ &pt)
 
Point_ operator= ( Point_ &&pt) CV_NOEXCEPT
 

Public Attributes

_Tp  x
  x coordinate of the point 更多...
 
_Tp  y
  y coordinate of the point 更多...
 

详细描述

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

Template class for 2D points specified by its coordinates x and y .

An instance of the class is interchangeable with C structures, CvPoint and CvPoint2D32f . There is also a cast operator to convert point coordinates to the specified type. The conversion from floating-point coordinates to integer coordinates is done by rounding. Commonly, the conversion uses this operation for each of the coordinates. Besides the class members listed in the declaration above, the following operations on points are implemented:

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 norm
pt1 == pt2;
pt1 != pt2;

For your convenience, the following type aliases are defined:

typedef Point_<int> Point2i ;
typedef Point2i Point ;
typedef Point_<float> Point2f ;
typedef Point_<double> Point2d ;

范例:

Point2f a(0.3f, 0.f), b(0.f, 0.4f);
Point pt = (a + b)*10.f;
cout << pt.x << ", " << pt.y << endl;

Member Typedef Documentation

◆  value_type

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

Constructor & Destructor Documentation

◆  Point_() [1/6]

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

default constructor

◆  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

cross-product

◆  ddot()

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

dot product computed in double-precision arithmetics

◆  dot()

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

dot product

◆  inside()

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

checks whether the point is inside the specified rectangle

◆  operator Point_ < _Tp2 > ()

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

conversion to another data type

◆  operator Vec < _Tp, 2 > ()

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

conversion to the old-style C structures

◆  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 )

Member Data Documentation

◆  x

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

x coordinate of the point

◆  y

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

y coordinate of the point


The documentation for this class was generated from the following file: