93 std::vector<icl32f>
gau;
104 float curvature_cutoff=100.,
105 float straight_line_thresh=0.1,
106 bool accurate =
false);
112 virtual void setPropertyValue(
const std::string &propertyName,
116 virtual std::vector<std::string> getPropertyList()
const;
119 virtual std::string getPropertyType(
const std::string &propertyName)
const;
122 virtual std::string getPropertyInfo(
const std::string &propertyName)
const;
125 virtual utils::Any getPropertyValue(
const std::string &propertyName)
const;
131 virtual std::string getPropertyToolTip(
const std::string &propertyName)
const;
140 static int gaussian(GaussianKernel &gauss,
float sigma,
float cutoff);
155 const std::vector<std::vector<utils::Point32f> > &detectCorners(
const std::vector<std::vector<T> > &boundaries,
const std::vector<icl32f> &sigmas);
157 const std::vector<utils::Point32f> &detectCorners(
const std::vector<T> &boundary);
167 inline void setSigma(
float value){ sigma = value; }
196 static void convolute_1D(
float *vec,
int dim,
float *kernel,
int kernelDim,
float *dst);
204 int gauss_radius(
float sigma,
float cutoff);
205 void fill_gauss(
float *mask,
float sigma,
int width);
206 void convolute(
const float *
data,
int data_length,
const float *mask ,
int mask_length,
float *convoluted);
207 void calculate_curvatures(
const float *smoothed_x,
const float *smoothed_y,
int length,
float curvature_cutoff,
float *curvatures);
208 void calculate_curvatures_bulk(
int array_length,
int num_boundaries,
const int *lengths,
209 const int *indices,
const int *indices_padded,
const float *smoothed_x,
const float *smoothed_y,
float curvature_cutoff,
float *curvature);
210 int findExtrema(
int *extrema,
int *num_extrema_out,
float* k,
int length);
211 void removeRoundCorners(
float rc_coeff,
int maxima_offset,
float* k,
int length,
int *extrema,
int num_extrema,
int *new_extrema,
int *num_new_extrema_out);
212 void removeRoundCornersAccurate(
float rc_coeff,
int maxima_offset,
float* k,
int length,
int *extrema,
int num_extrema,
int *extrema_out,
int *num_extrema_out);
213 float cornerAngle(
float *x,
float *y,
int prev,
int current,
int next,
int length,
float straight_line_thresh);
214 float cornerAngleAccurate(
float *x,
float *y,
int prev,
int current,
int next,
int array_length,
float straight_line_thresh);
215 void removeFalseCorners(
float angle_thresh,
float* x,
float* y,
float* k,
int length,
int *maxima,
int num_maxima,
int *maxima_out,
int *num_maxima_out);
void setAngleThreshold(float value)
Definition: CornerDetectorCSS.h:165
bool accurate
use acurate corner detection
Definition: CornerDetectorCSS.h:202
std::vector< utils::Point32f > corners
Definition: CornerDetectorCSS.h:218
undocument this line if you encounter any issues!
Definition: Any.h:37
Class interface for un-copyable classes.
Definition: Uncopyable.h:64
GaussianKernel()
Definition: CornerDetectorCSS.h:97
CLCurvature * clcurvature
Definition: CornerDetectorCSS.h:221
int width
Definition: CornerDetectorCSS.h:96
void setCurvatureCutoff(float value)
Definition: CornerDetectorCSS.h:168
float getAngleThreshold() const
Definition: CornerDetectorCSS.h:172
Curvature Corner Detector.
Definition: CornerDetectorCSS.h:89
float getSigma() const
Definition: CornerDetectorCSS.h:174
void setStraightLineThreshold(float value)
Definition: CornerDetectorCSS.h:169
void setRCCoeff(float value)
Definition: CornerDetectorCSS.h:166
void setAccurate(bool value)
Definition: CornerDetectorCSS.h:170
std::vector< icl32f > gau
Definition: CornerDetectorCSS.h:93
bool getAccurate() const
Definition: CornerDetectorCSS.h:177
ICLQt_API ImgROI data(ImgQ &r)
creates full ROI ROI-struct
#define ICLCV_API
Definition: CompatMacros.h:177
const std::vector< utils::Point32f > & getLastCorners() const
returns the result of last detectCorners call
Definition: CornerDetectorCSS.h:161
float getCurvatureCutoff() const
Definition: CornerDetectorCSS.h:175
float cutoff
Definition: CornerDetectorCSS.h:95
bool useOpenCL
Definition: CornerDetectorCSS.h:223
float straight_line_thresh
Definition: CornerDetectorCSS.h:200
float sigma
Definition: CornerDetectorCSS.h:94
virtual int getPropertyVolatileness(const std::string &propertyName) const
returns volatileness for given property
Definition: CornerDetectorCSS.h:128
Interface for classes that can be configured from configuration-files and GUI-Components.
Definition: Configurable.h:194
std::vector< std::vector< utils::Point32f > > corners_list
Definition: CornerDetectorCSS.h:219
float getRCCoeff() const
Definition: CornerDetectorCSS.h:173
1 dim gaussian kernel
Definition: CornerDetectorCSS.h:92
void setSigma(float value)
Definition: CornerDetectorCSS.h:167
Simple generic data type implementation that uses a string based data representation.
Definition: Any.h:109
float getStraightLineThreshold() const
Definition: CornerDetectorCSS.h:176