#include "VehicleRecognition.h" #include #include "sy_errorinfo.h" #include "depend_inc.h" using namespace std; VehicleRecognition::VehicleRecognition(/* args */) { } VehicleRecognition::~VehicleRecognition() { LOG_INFO("~VehicleRecognition"); } int VehicleRecognition::init(char*dbpath, int gpuid, char* auth_license) { vr_param params; params.gpuid = 0; params.mode = DEVICE_GPU; params.engine = ENGINE_TENSORRT; params.max_batch = 20; params.vehicle_brand_serialize_file = "./serialize_file/VEHICLE_BRAND"; params.vr5905cls_serialize_file = "./serialize_file/VR5905CLS"; params.vehicle_type_serialize_file = "./serialize_file/VEHICLE_TYPE"; params.auth_license = "sy_va_sub_sdk_2023"; int ret = vr_init(&handle, params); if (ret != 0) { LOG_ERROR("vr_init failed!"); return FAILED; } LOG_INFO("vr_init success! gpu_id: {}", gpuid); return SUCCESS; } int VehicleRecognition::process(sy_img * batch_img, int batchsize, vehicle_recog_result *&vrresult) { for (int i = 0; i < batchsize; i++) { if (batch_img[i].data_ == NULL) { LOG_ERROR("data null "); return FAILED; } } vr_batch(handle, batch_img, batchsize, vrresult); return SUCCESS; } int VehicleRecognition::release() { if (handle) { vr_release(&handle); handle = nullptr; } LOG_INFO("release"); return SUCCESS; }