OSVR-Core
BlobParams.h
Go to the documentation of this file.
1 
11 // Copyright 2016 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 #ifndef INCLUDED_BlobParams_h_GUID_ADC18202_C3F1_4CB7_65C4_77BED9F0C981
26 #define INCLUDED_BlobParams_h_GUID_ADC18202_C3F1_4CB7_65C4_77BED9F0C981
27 
28 // Internal Includes
29 // - none
30 
31 // Library/third-party includes
32 // - none
33 
34 // Standard includes
35 // - none
36 
37 namespace osvr {
38 namespace vbtracker {
40  struct BlobParams {
43  float minDistBetweenBlobs = 3.0f;
44 #ifdef OSVR_USING_EDGE_HOLE_EXTRACTOR
45  float minArea = 3.0f;
49 #else
50  float minArea = 2.0f;
53 #endif
54 
57  bool filterByCircularity = true;
58 
60  float minCircularity = 0.2f;
61 
64  bool filterByConvexity = true;
65 
67  float minConvexity = 0.85f;
68 
72  double absoluteMinThreshold = 50.;
73 
78  double minThresholdAlpha = 0.3;
79 
84  double maxThresholdAlpha = 0.8;
85 
90  int thresholdSteps = 4;
91  };
92 
93  struct EdgeHoleParams {
98 
102 
106 
110 
113 
118 
122 
126  };
127 
128 } // namespace vbtracker
129 } // namespace osvr
130 
131 #endif // INCLUDED_BlobParams_h_GUID_ADC18202_C3F1_4CB7_65C4_77BED9F0C981
float minConvexity
Same meaning as the parameter to OpenCV's SimpleBlobDetector.
Definition: BlobParams.h:67
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
bool filterByConvexity
Same meaning as the parameter to OpenCV's SimpleBlobDetector - this is a lot more expensive than filt...
Definition: BlobParams.h:64
int laplacianKSize
Laplacian edge detection kernel size: must be positive and odd, advise not messing with this one...
Definition: BlobParams.h:101
bool postEdgeDetectionBlur
Whether we perform a blur and threshold step after the edge detection (in an attempt to smooth and jo...
Definition: BlobParams.h:117
int postEdgeDetectionBlurSize
If postEdgeDetectionBlur is true, the single-axis size passed to the blur.
Definition: BlobParams.h:121
float minDistBetweenBlobs
Same meaning as the parameter to OpenCV's SimpleBlobDetector - in pixel units.
Definition: BlobParams.h:43
Definition: BlobParams.h:93
int thresholdSteps
This is the number of thresholding and contour extraction steps that the blob extractor will take bet...
Definition: BlobParams.h:90
float minArea
Same meaning as the parameter to OpenCV's SimpleBlobDetector - in square pixel units.
Definition: BlobParams.h:52
int erosionKernelValue
The value in the erosion kernel.
Definition: BlobParams.h:112
int postEdgeDetectionBlurThreshold
If postEdgeDetectionBlur is true, the value used as a threshold to binarize the image after the blur...
Definition: BlobParams.h:125
int preEdgeDetectionBlurSize
The single-axis size passed to the blur performed on the input image before the Laplacian edge detect...
Definition: BlobParams.h:97
bool filterByCircularity
Same meaning as the parameter to OpenCV's SimpleBlobDetector - this is faster than convexity but may ...
Definition: BlobParams.h:57
double absoluteMinThreshold
This is the absolute minimum pixel value that will be considered as a possible signal.
Definition: BlobParams.h:72
Blob detection configuration parameters.
Definition: BlobParams.h:40
bool edgeDetectErosion
Should we do an erode step after edge detection, primarily for removing mjpeg compression artifacts...
Definition: BlobParams.h:109
double maxThresholdAlpha
This value, in the range (0, 1), is the linear interpolation factor between the minimum and maximum v...
Definition: BlobParams.h:84
double laplacianScale
Laplacian edge detection output data scale factor, passed to Laplacian function.
Definition: BlobParams.h:105
double minThresholdAlpha
This value, in the range (0, 1), is the linear interpolation factor between the minimum and maximum v...
Definition: BlobParams.h:78
float minCircularity
Same meaning as the parameter to OpenCV's SimpleBlobDetector.
Definition: BlobParams.h:60