8 #ifndef META_OCEAN_CV_DETECTOR_POINT_FEATURE_H
9 #define META_OCEAN_CV_DETECTOR_POINT_FEATURE_H
75 inline explicit PointFeature(
const Vector2& observation,
const DistortionState distortionState = DS_UNKNOWN,
const Scalar strength = 0);
88 inline const Vector2& observation()
const;
94 inline const Vector3& position()
const;
100 inline Scalar strength()
const;
106 inline DistortionState distortionState()
const;
113 inline void setObservation(
const Vector2& position,
const DistortionState distortionState);
119 inline void setPosition(
const Vector3& position);
125 inline void setStrength(
const Scalar strength);
140 inline bool operator==(
const PointFeature& feature)
const;
147 inline bool operator!=(
const PointFeature& feature)
const;
154 inline bool operator<(
const PointFeature& feature)
const;
173 featureObservation(0, 0),
174 featurePosition(0, 0, 0),
182 featureObservation(observation),
183 featurePosition(0, 0, 0),
184 featureStrength(strength),
185 featureDistortionState(distortionState)
192 featureObservation(0, 0),
193 featurePosition(position),
194 featureStrength(strength),
195 featureDistortionState(DS_INVALID)
248 return !(*
this == feature);
This class implements the abstract base class for arbitrary computer vision features.
Definition: Feature.h:35
This class implements the base class for all computer vision features mainly basing on points.
Definition: PointFeature.h:44
Scalar featureStrength
Feature strength.
Definition: PointFeature.h:165
void setObservation(const Vector2 &position, const DistortionState distortionState)
Sets or changes the 2D observation position of this feature.
Definition: PointFeature.h:220
void setPosition(const Vector3 &position)
Sets or changes the 3D position of this feature.
Definition: PointFeature.h:226
const Vector3 & position() const
Returns the 3D position of this feature e.g.
Definition: PointFeature.h:205
PointFeature()
Creates a new feature object.
Definition: PointFeature.h:171
bool operator==(const PointFeature &feature) const
Returns whether two feature objects are equal.
Definition: PointFeature.h:241
static const Geometry::ImagePoint & feature2imagePoint(const PointFeature &feature)
Converts a point feature to a simple 2D image position.
Definition: PointFeature.h:236
Scalar strength() const
Returns the strength of this feature.
Definition: PointFeature.h:210
Vector2 featureObservation
2D feature observation point.
Definition: PointFeature.h:159
DistortionState
Definition of individual distortion states.
Definition: PointFeature.h:51
@ DS_INVALID
Invalid distortion state.
Definition: PointFeature.h:53
@ DS_UNKNOWN
Unknown distortion state.
Definition: PointFeature.h:55
@ DS_DISTORTED
Distorted position.
Definition: PointFeature.h:57
bool operator!=(const PointFeature &feature) const
Returns whether two feature objects are not equal.
Definition: PointFeature.h:246
const Vector2 & observation() const
Returns the 2D observation position of this feature e.g.
Definition: PointFeature.h:200
DistortionState featureDistortionState
Holds the distortion state of the observation position.
Definition: PointFeature.h:168
DistortionState distortionState() const
Returns the distortion state of the feature point.
Definition: PointFeature.h:215
void setStrength(const Scalar strength)
Sets or changes the strength of this feature.
Definition: PointFeature.h:231
bool operator<(const PointFeature &feature) const
Returns whether the this feature has a higher strength than a second feature object.
Definition: PointFeature.h:251
Vector3 featurePosition
3D feature position.
Definition: PointFeature.h:162
std::vector< PointFeature > PointFeatures
Definition of a vector holding point features.
Definition: PointFeature.h:29
float Scalar
Definition of a scalar type.
Definition: Math.h:128
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15