YoloFeatureExtractor.h 698 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include <opencv2/opencv.hpp>
  3. #include <opencv2/dnn.hpp>
  4. #include <vector>
  5. #include <string>
  6. class YoloFeatureExtractor {
  7. private:
  8. cv::dnn::Net net;
  9. int inputWidth;
  10. int inputHeight;
  11. std::vector<std::string> classNames;
  12. public:
  13. YoloFeatureExtractor(const std::string& modelPath, const std::string& classesPath);
  14. ~YoloFeatureExtractor() = default;
  15. void loadClassNames(const std::string& file);
  16. std::vector<float> extractFeatures(const std::string& imagePath);
  17. std::vector<float> extractBackboneFeatures(const std::string& imagePath);
  18. std::vector<std::vector<float>> extractROIFeatures(const std::string& imagePath);
  19. void initOpenCL();
  20. };