#include "MotorRainshedAnalysis.h" #include "motor_rainshed_cls.h" MotorRainshedAnalysis::MotorRainshedAnalysis(/* args */) { } MotorRainshedAnalysis::~MotorRainshedAnalysis() { release(); } int MotorRainshedAnalysis::init(int devId, std::string sdk_root){ ACL_CALL(aclrtCreateContext(&ctx, devId), SY_SUCCESS, SY_FAILED); std::string model_path = sdk_root + "/models/rainshed/motor_rainshed_231123_310p.om"; mrc_param param; param.modelNames = (char*)model_path.data(); param.thresld = 0.0; param.devId = devId; LOG_INFO("mrc_init start"); int ret = mrc_init(&m_handle, param); if (ret != 0) { return -1; } LOG_INFO("mrc_init success"); return SY_SUCCESS; } vector MotorRainshedAnalysis::detect(vector vec_img){ vector vec_result; const int batchsize = vec_img.size(); vector results; results.resize(batchsize); int ret = SY_FAILED; do { ret = aclrtSetCurrentContext(ctx); if (SY_SUCCESS != ret) { printf("aclrtSetCurrentContext failed!"); break; } ret = mrc_batch(m_handle, vec_img.data(), batchsize, results.data()); if (SY_SUCCESS != ret) { printf("mrc_batch failed!"); break; } for(int batchIdx = 0;batchIdx