Visual Servoing Platform version 3.6.0
Loading...
Searching...
No Matches
vpImageCircle.h
1/*
2 * ViSP, open source Visual Servoing Platform software.
3 * Copyright (C) 2005 - 2023 by Inria. All rights reserved.
4 *
5 * This software is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 * See the file LICENSE.txt at the root directory of this source
10 * distribution for additional information about the GNU GPL.
11 *
12 * For using ViSP with software that can not be combined with the GNU
13 * GPL, please contact Inria about acquiring a ViSP Professional
14 * Edition License.
15 *
16 * See https://visp.inria.fr for more information.
17 *
18 * This software was developed at:
19 * Inria Rennes - Bretagne Atlantique
20 * Campus Universitaire de Beaulieu
21 * 35042 Rennes Cedex
22 * France
23 *
24 * If you have questions regarding the use of this file, please contact
25 * Inria at visp@inria.fr
26 *
27 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29 *
30 * Description:
31 * Image circle, i.e. circle in the image space.
32 */
33
39#ifndef _vpImageCircle_h_
40#define _vpImageCircle_h_
41
42#include <visp3/core/vpConfig.h>
43#include <visp3/core/vpColor.h>
44#include <visp3/core/vpImage.h>
45#include <visp3/core/vpImagePoint.h>
46#include <visp3/core/vpRect.h>
47
48#if defined(VISP_HAVE_OPENCV)
49#include <opencv2/core/core.hpp>
50#endif
51
55class VISP_EXPORT vpImageCircle
56{
57public:
62
66 vpImageCircle(const vpImagePoint &center, const float &radius);
67
68#ifdef HAVE_OPENCV_CORE
72 vpImageCircle(const cv::Vec3f &vec);
73#endif
74
78 virtual ~vpImageCircle();
79
84 vpImagePoint getCenter() const;
85
90 float getRadius() const;
91
96 vpRect getBBox() const;
97
102 float get_n20() const;
103
108 float get_n02() const;
109
114 float get_n11() const;
115
116private:
117 vpImagePoint m_center;
118 float m_radius;
119};
120#endif
Class that defines a 2D circle in an image.
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Defines a rectangle in the plane.
Definition vpRect.h:76