OpenCV453
edgeboxes.hpp
1/*M///////////////////////////////////////////////////////////////////////////////////////
2//
3// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4//
5// By downloading, copying, installing or using the software you agree to this license.
6// If you do not agree to this license, do not download, install,
7// copy or use the software.
8//
9//
10// License Agreement
11// For Open Source Computer Vision Library
12//
13// Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.
15// Third party copyrights are property of their respective owners.
16//
17// Redistribution and use in source and binary forms, with or without modification,
18// are permitted provided that the following conditions are met:
19//
20// * Redistribution's of source code must retain the above copyright notice,
21// this list of conditions and the following disclaimer.
22//
23// * Redistribution's in binary form must reproduce the above copyright notice,
24// this list of conditions and the following disclaimer in the documentation
25// and/or other materials provided with the distribution.
26//
27// * The name of the copyright holders may not be used to endorse or promote products
28// derived from this software without specific prior written permission.
29//
30// This software is provided by the copyright holders and contributors "as is" and
31// any express or implied warranties, including, but not limited to, the implied
32// warranties of merchantability and fitness for a particular purpose are disclaimed.
33// In no event shall the Intel Corporation or contributors be liable for any direct,
34// indirect, incidental, special, exemplary, or consequential damages
35// (including, but not limited to, procurement of substitute goods or services;
36// loss of use, data, or profits; or business interruption) however caused
37// and on any theory of liability, whether in contract, strict liability,
38// or tort (including negligence or otherwise) arising in any way out of
39// the use of this software, even if advised of the possibility of such damage.
40//
41//M*/
42
43#ifndef __OPENCV_EDGEBOXES_HPP__
44#define __OPENCV_EDGEBOXES_HPP__
45
46#include <opencv2/core.hpp>
47
48namespace cv
49{
50namespace ximgproc
51{
52
55
56// bounding box data structures
57typedef struct
58{
59 int x, y, w, h;
60 float score;
61} Box;
62
63typedef std::vector<Box> Boxes;
64
67class CV_EXPORTS_W EdgeBoxes : public Algorithm
68{
69
70public:
71
79 CV_WRAP virtual void getBoundingBoxes(InputArray edge_map, InputArray orientation_map, CV_OUT std::vector<Rect> &boxes, OutputArray scores = noArray()) = 0;
80
83 CV_WRAP virtual float getAlpha() const = 0;
86 CV_WRAP virtual void setAlpha(float value) = 0;
87
90 CV_WRAP virtual float getBeta() const = 0;
93 CV_WRAP virtual void setBeta(float value) = 0;
94
97 CV_WRAP virtual float getEta() const = 0;
100 CV_WRAP virtual void setEta(float value) = 0;
101
104 CV_WRAP virtual float getMinScore() const = 0;
107 CV_WRAP virtual void setMinScore(float value) = 0;
108
111 CV_WRAP virtual int getMaxBoxes() const = 0;
114 CV_WRAP virtual void setMaxBoxes(int value) = 0;
115
118 CV_WRAP virtual float getEdgeMinMag() const = 0;
121 CV_WRAP virtual void setEdgeMinMag(float value) = 0;
122
125 CV_WRAP virtual float getEdgeMergeThr() const = 0;
128 CV_WRAP virtual void setEdgeMergeThr(float value) = 0;
129
132 CV_WRAP virtual float getClusterMinMag() const = 0;
135 CV_WRAP virtual void setClusterMinMag(float value) = 0;
136
139 CV_WRAP virtual float getMaxAspectRatio() const = 0;
142 CV_WRAP virtual void setMaxAspectRatio(float value) = 0;
143
146 CV_WRAP virtual float getMinBoxArea() const = 0;
149 CV_WRAP virtual void setMinBoxArea(float value) = 0;
150
153 CV_WRAP virtual float getGamma() const = 0;
156 CV_WRAP virtual void setGamma(float value) = 0;
157
160 CV_WRAP virtual float getKappa() const = 0;
163 CV_WRAP virtual void setKappa(float value) = 0;
164
165};
166
182CV_EXPORTS_W Ptr<EdgeBoxes>
183createEdgeBoxes(float alpha=0.65f,
184 float beta=0.75f,
185 float eta=1,
186 float minScore=0.01f,
187 int maxBoxes=10000,
188 float edgeMinMag=0.1f,
189 float edgeMergeThr=0.5f,
190 float clusterMinMag=0.5f,
191 float maxAspectRatio=3,
192 float minBoxArea=1000,
193 float gamma=2,
194 float kappa=1.5f);
195
197
198}
199}
200
201#endif /* __OPENCV_EDGEBOXES_HPP__ */
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition: mat.hpp:295
This is a base class for all more or less complex algorithms in OpenCV
Definition: core.hpp:3091
Class implementing EdgeBoxes algorithm from :
Definition: edgeboxes.hpp:68
CV_EXPORTS_W Ptr< EdgeBoxes > createEdgeBoxes(float alpha=0.65f, float beta=0.75f, float eta=1, float minScore=0.01f, int maxBoxes=10000, float edgeMinMag=0.1f, float edgeMergeThr=0.5f, float clusterMinMag=0.5f, float maxAspectRatio=3, float minBoxArea=1000, float gamma=2, float kappa=1.5f)
Creates a Edgeboxes
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75
Definition: cvstd_wrapper.hpp:74
Definition: edgeboxes.hpp:58