12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #pragma once
- #include <memory>
- #include <string>
- #include <vector>
- #include <map>
- #include <list>
- #include <queue>
- #include "cnstream_frame.hpp"
- #include "cnstream_module.hpp"
- #include "easyinfer/model_loader.h"
- #include "easytrack/easy_track.h"
- #include "cnstream_frame_va.hpp"
- #include "trajectory.hpp"
- #include "opencv2/highgui/highgui.hpp"
- #include "opencv2/imgproc/imgproc.hpp"
- #include "opencv2/dnn.hpp"
- #include "opencv2/opencv.hpp"
- #include "opencv2/highgui.hpp"
- #include "opencv2/imgcodecs/imgcodecs.hpp"
- namespace cnstream{
- // Pointer for frame info
- using CNFrameInfoPtr = std::shared_ptr<CNFrameInfo>;
- /// Pointer for infer object
- using CNInferObjectPtr = std::shared_ptr<CNInferObject>;
- class locus : public cnstream::Module, public cnstream::ModuleCreator<locus> {
- using super = cnstream::Module;
- public:
- explicit locus(const std::string &name) : super(name) {}
- bool Open(cnstream::ModuleParamSet paramSet) override {
- // Your codes.
- return true;
- }
- void Close() override { std::cout << this->GetName() << " Close called" << std::endl; }
- int Process(std::shared_ptr<cnstream::CNFrameInfo> data) override;
- std::pair<cv::Point, cv::Point> GetBboxCorner(const cnstream::CNInferObject &object,
- int img_width, int img_height) const;
- private:
- locus(const locus &) = delete;
- locus &operator=(locus const &) = delete;
- Trajectory m_Trajectory;
-
- };
- };
|