Class: OpenCV::CvSURFPoint

Inherits:
Object
  • Object
show all
Defined in:
ext/opencv/cvsurfpoint.cpp,
ext/opencv/cvsurfpoint.cpp

Overview

C structure is here.

typedef struct CvSURFPoint {
  CvPoint2D32f pt; // position of the feature within the image
  int laplacian;   // -1, 0 or +1. sign of the laplacian at the point.
                   // can be used to speedup feature comparison
                   // (normally features with laplacians of different
                   // signs can not match)
  int size;        // size of the feature
  float dir;       // orientation of the feature: 0..360 degrees
  float hessian;   // value of the hessian (can be used to
                   // approximately estimate the feature strengths)
} CvSURFPoint;

Instance Method Summary collapse

Constructor Details

#new(pt, laplacian, size, dir, hessian) ⇒ CvSURFPoint

Create a CvSURFPoint

Parameters:

  • pt (CvPoint2D32f)

    Position of the feature within the image

  • laplacian (Integer)

    -1, 0 or +1. sign of the laplacian at the point. Can be used to speedup feature comparison (normally features with laplacians of different signs can not match)

  • size (Integer)

    Size of the feature

  • dir (Number)

    Orientation of the feature: 0..360 degrees

  • hessian (Number)

    Value of the hessian (can be used to approximately estimate the feature strengths)


59
60
61
62
63
64
65
66
67
68
69
70
# File 'ext/opencv/cvsurfpoint.cpp', line 59

VALUE
rb_initialize(VALUE self, VALUE pt, VALUE laplacian, VALUE size, VALUE dir, VALUE hessian)
{
  CvSURFPoint *self_ptr = CVSURFPOINT(self);
  self_ptr->pt = VALUE_TO_CVPOINT2D32F(pt);
  self_ptr->laplacian = NUM2INT(laplacian);
  self_ptr->size = NUM2INT(size);
  self_ptr->dir = (float)NUM2DBL(dir);
  self_ptr->hessian = (float)NUM2DBL(hessian);

  return self;
}

Instance Method Details

#dirNumber

Return orientation of the feature: 0..360 degrees

Returns:

  • (Number)

    Orientation of the feature.


154
155
156
157
158
# File 'ext/opencv/cvsurfpoint.cpp', line 154

VALUE
rb_get_dir(VALUE self)
{
  return DBL2NUM((double)(CVSURFPOINT(self)->dir));
}

#dir=(value) ⇒ Object

Set orientation of the feature: 0..360 degrees.

Parameters:

  • Value (Number)

    to set.


166
167
168
169
170
171
# File 'ext/opencv/cvsurfpoint.cpp', line 166

VALUE
rb_set_dir(VALUE self, VALUE value)
{
  CVSURFPOINT(self)->dir = (float)NUM2DBL(value);
  return self;
}

#hessianNumber

Return value of the hessian

Returns:

  • (Number)

    Hessian


179
180
181
182
183
# File 'ext/opencv/cvsurfpoint.cpp', line 179

VALUE
rb_get_hessian(VALUE self)
{
  return DBL2NUM((double)(CVSURFPOINT(self)->hessian));
}

#hessian=(value) ⇒ Object

Set value of the hessian

Parameters:

  • Value (Number)

    to set.


191
192
193
194
195
196
# File 'ext/opencv/cvsurfpoint.cpp', line 191

VALUE
rb_set_hessian(VALUE self, VALUE value)
{
  CVSURFPOINT(self)->hessian = (float)NUM2DBL(value);
  return self;
}

#laplacianInteger

Return sign of the laplacian at the point (-1, 0 or +1)

Returns:

  • (Integer)

    Sign of the laplacian at the point.


103
104
105
106
107
# File 'ext/opencv/cvsurfpoint.cpp', line 103

VALUE
rb_get_laplacian(VALUE self)
{
  return INT2NUM(CVSURFPOINT(self)->laplacian);
}

#laplacian=(value) ⇒ Object

Set sign of the laplacian at the point

Parameters:

  • value (Integer)

    Value to set.


115
116
117
118
119
120
121
# File 'ext/opencv/cvsurfpoint.cpp', line 115

VALUE
rb_set_laplacian(VALUE self, VALUE value)
{
  int val = NUM2INT(value);
  CVSURFPOINT(self)->laplacian = (val > 0) ? 1 : (val < 0) ? -1 : 0;
  return self;
}

#ptCvPoint2D32f

Return position of the feature as CvPoint2D32f.

Returns:


78
79
80
81
82
# File 'ext/opencv/cvsurfpoint.cpp', line 78

VALUE
rb_get_pt(VALUE self)
{
  return REFER_OBJECT(cCvPoint2D32f::rb_class(), &CVSURFPOINT(self)->pt, self);
}

#pt=(value) ⇒ Object

Set position of the feature.

Parameters:


90
91
92
93
94
95
# File 'ext/opencv/cvsurfpoint.cpp', line 90

VALUE
rb_set_pt(VALUE self, VALUE value)
{
  CVSURFPOINT(self)->pt = VALUE_TO_CVPOINT2D32F(value);
  return self;
}

#sizeInteger

Returns size of feature.

Returns:

  • (Integer)

    Size of feature.


129
130
131
132
133
# File 'ext/opencv/cvsurfpoint.cpp', line 129

VALUE
rb_get_size(VALUE self)
{
  return INT2NUM(CVSURFPOINT(self)->size);
}

#size=(value) ⇒ Object

Return size of feature

Parameters:

  • Value (Integer)

    to set.


141
142
143
144
145
146
# File 'ext/opencv/cvsurfpoint.cpp', line 141

VALUE
rb_set_size(VALUE self, VALUE value)
{
  CVSURFPOINT(self)->size = NUM2INT(value);
  return self;
}