#pragma once #include #include #include #include "SG_bagPositioning_Export.h" #include "VZNL_Types.h" #include "VrTimeUtils.h" #include "VrError.h" #include "VrLog.h" #include "IVrConfig.h" #include "LaserDataLoader.h" #include "IYGrabBagStatus.h" #include "PointCloudImageUtils.h" #include "VrConvert.h" #include "VrDateUtils.h" class DetectPresenter { private: /* data */ public: DetectPresenter(/* args */); ~DetectPresenter(); int DetectBag( std::vector& detectionDataCache, const SG_bagPositionParam& algoParam, const SSG_planeCalibPara& cameraCalibParam, const VrDebugParam& debugParam, LaserDataLoader& dataLoader, const double clibMatrix[16], DetectionResult& detectionResult); int DetectBag( std::vector& detectionDataCache, const SG_bagPositionParam& algoParam, const SSG_planeCalibPara& cameraCalibParam, const VrDebugParam& debugParam, LaserDataLoader& dataLoader, const double clibMatrix[16], const SSG_hsvCmpParam& hsvCmpParam, const RGB& rgbColorPattern, const double frontColorTemplate[RGN_HIST_SIZE], const double backColorTemplate[RGN_HIST_SIZE], DetectionResult& detectionResult); // 新增:处理统一数据格式和项目类型的DetectBag函数 int DetectBag( std::vector>& laserLines, ProjectType projectType, const SG_bagPositionParam& algoParam, const SSG_planeCalibPara& cameraCalibParam, const VrDebugParam& debugParam, LaserDataLoader& dataLoader, const double clibMatrix[16], const SSG_hsvCmpParam& hsvCmpParam, const RGB& rgbColorPattern, const double frontColorTemplate[RGN_HIST_SIZE], const double backColorTemplate[RGN_HIST_SIZE], DetectionResult& detectionResult); };