Visual Servoing Platform
version 3.6.0
Loading...
Searching...
No Matches
vpImageCircle.cpp
1
/****************************************************************************
2
*
3
* ViSP, open source Visual Servoing Platform software.
4
* Copyright (C) 2005 - 2023 by Inria. All rights reserved.
5
*
6
* This software is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
* See the file LICENSE.txt at the root directory of this source
11
* distribution for additional information about the GNU GPL.
12
*
13
* For using ViSP with software that can not be combined with the GNU
14
* GPL, please contact Inria about acquiring a ViSP Professional
15
* Edition License.
16
*
17
* See https://visp.inria.fr for more information.
18
*
19
* This software was developed at:
20
* Inria Rennes - Bretagne Atlantique
21
* Campus Universitaire de Beaulieu
22
* 35042 Rennes Cedex
23
* France
24
*
25
* If you have questions regarding the use of this file, please contact
26
* Inria at visp@inria.fr
27
*
28
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
29
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
30
*
31
* Description:
32
* Image circle, i.e. circle in the image space.
33
*
34
*****************************************************************************/
35
36
#include <visp3/core/vpImageCircle.h>
37
38
vpImageCircle::vpImageCircle
()
39
: m_center()
40
, m_radius(0.)
41
{
42
43
}
44
45
vpImageCircle::vpImageCircle
(
const
vpImagePoint
¢er,
const
float
&radius)
46
: m_center(center)
47
, m_radius(radius)
48
{
49
50
}
51
52
#ifdef HAVE_OPENCV_CORE
53
vpImageCircle::vpImageCircle
(
const
cv::Vec3f &vec)
54
: m_center(vec[1], vec[0])
55
, m_radius(vec[2])
56
{
57
58
}
59
#endif
60
61
vpImageCircle::~vpImageCircle
()
62
{
63
64
}
65
66
vpImagePoint
vpImageCircle::getCenter
()
const
67
{
68
return
m_center;
69
}
70
71
float
vpImageCircle::getRadius
()
const
72
{
73
return
m_radius;
74
}
75
76
vpRect
vpImageCircle::getBBox
()
const
77
{
78
vpRect
bbox(m_center -
vpImagePoint
(m_radius, m_radius), 2 * m_radius, 2 * m_radius);
79
return
bbox;
80
}
81
82
float
vpImageCircle::get_n20
()
const
83
{
84
return
m_radius * m_radius / 4;
85
}
86
87
float
vpImageCircle::get_n02
()
const
88
{
89
return
m_radius * m_radius / 4;
90
}
91
92
float
vpImageCircle::get_n11
()
const
93
{
94
return
0.;
95
};
vpImageCircle::vpImageCircle
vpImageCircle()
Definition
vpImageCircle.cpp:38
vpImageCircle::getRadius
float getRadius() const
Definition
vpImageCircle.cpp:71
vpImageCircle::get_n11
float get_n11() const
Definition
vpImageCircle.cpp:92
vpImageCircle::getBBox
vpRect getBBox() const
Definition
vpImageCircle.cpp:76
vpImageCircle::getCenter
vpImagePoint getCenter() const
Definition
vpImageCircle.cpp:66
vpImageCircle::get_n02
float get_n02() const
Definition
vpImageCircle.cpp:87
vpImageCircle::~vpImageCircle
virtual ~vpImageCircle()
Definition
vpImageCircle.cpp:61
vpImageCircle::get_n20
float get_n20() const
Definition
vpImageCircle.cpp:82
vpImagePoint
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition
vpImagePoint.h:82
vpRect
Defines a rectangle in the plane.
Definition
vpRect.h:76
modules
core
src
image
vpImageCircle.cpp
Generated by
1.12.0