1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #ifndef GBMOT_OBJECTDATA2D_H
- #define GBMOT_OBJECTDATA2D_H
- #include "ObjectData.h"
- namespace core
- {
- class ObjectData2D;
- typedef std::shared_ptr<ObjectData2D> ObjectData2DPtr;
-
- class ObjectData2D : public ObjectData
- {
- private:
- static const std::string CONSTRAINT_DISTANCE_EUCLID;
- static const std::string CONSTRAINT_X_DIFFERENCE;
- static const std::string CONSTRAINT_Y_DIFFERENCE;
-
- const cv::Point2d position_;
-
- double temporal_weight_;
-
- double spatial_weight_;
- virtual void Print(std::ostream& os) const override;
- public:
-
- ObjectData2D(size_t frame_index, cv::Point2d position);
-
- void SetTemporalWeight(double weight);
-
- void SetSpatialWeight(double weight);
-
- cv::Point2d GetPosition() const;
-
- double GetTemporalWeight() const;
-
- double GetSpatialWeight() const;
- virtual double CompareTo(ObjectDataPtr obj) const override;
- virtual bool IsWithinConstraints(ObjectDataPtr obj,
- std::unordered_map<std::string, double> & constraints)
- const override;
- virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override;
- virtual void Visualize(cv::Mat& image, cv::Scalar& color, double alpha) const override;
- virtual std::string ToString(char delimiter) const override;
- };
- }
- #endif
|