#include "HumanCarAnalysis.h" HumanCarAnalysis::HumanCarAnalysis(/* args */) { } HumanCarAnalysis::~HumanCarAnalysis() { release(); } int HumanCarAnalysis::init(int devId){ ACL_CALL(aclrtCreateContext(&ctx, devId), SY_SUCCESS, SY_FAILED); ACL_CALL(aclrtSetCurrentContext(ctx), SY_SUCCESS, SY_FAILED); hcp_param param; param.modelNames = "./models/hcp/hcp211008_310p.om"; param.devId = devId; cout << "hcp_init start " << endl; int ret = hcp_init(&m_handle, param); if (ret != 0) { return -1; } cout << "hcp_init success " << endl; return SY_SUCCESS; } std::vector HumanCarAnalysis::detect(vector vec_img){ std::vector vec_result; const int batchsize = vec_img.size(); hcp_analysis_result * results = new hcp_analysis_result[batchsize]; int ret = SY_FAILED; do { ret = aclrtSetCurrentContext(ctx); if (SY_SUCCESS != ret) { printf("aclrtSetCurrentContext failed!"); break; } ret = hcp_batch(m_handle, vec_img.data(), batchsize, results); if (SY_SUCCESS != ret) { printf("hcp_batch failed!"); break; } for(int batchIdx = 0;batchIdx