OpenCV453
公開型 | 公開メンバ関数 | 公開変数類 | 全メンバ一覧
cv::Point_< _Tp > クラステンプレート

Template class for 2D points specified by its coordinates x and y. [詳解]

#include <types.hpp>

公開型

typedef _Tp value_type
 

公開メンバ関数

 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)
 
Point_operator= (const Point_ &pt)
 
Point_operator= (Point_ &&pt) CV_NOEXCEPT
 
template<typename _Tp2 >
 operator Point_< _Tp2 > () const
 conversion to another data type
 
 operator Vec< _Tp, 2 > () const
 conversion to the old-style C structures
 
_Tp dot (const Point_ &pt) const
 dot product
 
double ddot (const Point_ &pt) const
 dot product computed in double-precision arithmetics
 
double cross (const Point_ &pt) const
 cross-product
 
bool inside (const Rect_< _Tp > &r) const
 checks whether the point is inside the specified rectangle
 

公開変数類

_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;
CV_EXPORTS_W double norm(InputArray src1, int normType=NORM_L2, InputArray mask=noArray())
Calculates the absolute norm of an array.

For your convenience, the following type aliases are defined:

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

Example:

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

このクラス詳解は次のファイルから抽出されました: