diff --git a/jni/VehicleNativeInterface.cpp b/jni/VehicleNativeInterface.cpp index 8b15ace..286206c 100644 --- a/jni/VehicleNativeInterface.cpp +++ b/jni/VehicleNativeInterface.cpp @@ -341,7 +341,12 @@ JNIEXPORT jint JNICALL Java_com_objecteye_nativeinterface_vehicle_VehicleNativeI //jclass cls_MucktruckcoverResult = env->FindClass("com/objecteye/pojo/vehicle/MucktruckcoverResultParam"); jclass cls_MtaResult = env->FindClass("com/objecteye/pojo/vehicle/MtaResultParam"); jclass cls_MtaDetailsParam = env->FindClass("com/objecteye/pojo/vehicle/MtaDetailsParam"); - //jclass cls_StainVplateResultParam = env->FindClass("com/objecteye/pojo/vehicle/StainVplateResultParam"); + jclass cls_StainVplateResultParam = env->FindClass("com/objecteye/pojo/vehicle/StainVplateResultParam"); + if (nullptr == cls_StainVplateResultParam) + { + cout << "cls_StainVplateResultParam find class error!" << endl; + } + jclass cls_MannedResultParam = env->FindClass("com/objecteye/pojo/vehicle/MannedResultParam"); //jclass cls_VehiclePoseResultParam = env->FindClass("com/objecteye/pojo/vehicle/VehiclePoseResultParam");//wh20210601������pose��� @@ -358,7 +363,11 @@ JNIEXPORT jint JNICALL Java_com_objecteye_nativeinterface_vehicle_VehicleNativeI jmethodID mid_VehicleColorResult = env->GetMethodID(cls_VehicleColorResult, "", "(FI)V"); //jmethodID mid_VehicleRecgTopnResult = env->GetMethodID(cls_VehicleRecgTopnResult, "", "([Lcom/objecteye/pojo/vehicle/VehicleRecognizeResultParam;I)V");//wh20210527������topn�ӿ� jmethodID mid_VehicleRecgResult = env->GetMethodID(cls_VehicleRecgResult, "", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;F)V"); - jmethodID mid_VplateResult = env->GetMethodID(cls_VplateResult, "", "(Lcom/objecteye/pojo/common/SyRectParam;F[Lcom/objecteye/pojo/vehicle/VehiclePlateNumParam;FII)V"); + jmethodID mid_VplateResult = env->GetMethodID(cls_VplateResult, "", "(Lcom/objecteye/pojo/common/SyRectParam;F[Lcom/objecteye/pojo/vehicle/VehiclePlateNumParam;FIILcom/objecteye/pojo/vehicle/StainVplateResultParam;)V"); + if (nullptr == mid_VplateResult) + { + cout << "mid_VplateResult GetMethodID error!" << endl; + } jmethodID mid_VehiclePendantDetResult = env->GetMethodID(cls_VehiclePendantDetResult, "", "([Lcom/objecteye/pojo/vehicle/VehiclePendantDetectInfoParam;I)V"); jmethodID mid_VehicleIllegalDetResult = env->GetMethodID(cls_VehicleIllegalDetResult, "", "(Lcom/objecteye/pojo/vehicle/VehicleIllegalDetectInfoParam;Lcom/objecteye/pojo/vehicle/VehicleIllegalDetectInfoParam;)V"); jmethodID mid_VehicleFeaResult = env->GetMethodID(cls_VehicleFeaResult, "", "([F)V"); @@ -373,7 +382,7 @@ JNIEXPORT jint JNICALL Java_com_objecteye_nativeinterface_vehicle_VehicleNativeI //jmethodID mid_VehicleSpecialResult = env->GetMethodID(cls_VehicleSpecialResult, "", "([Lcom/objecteye/pojo/vehicle/VehicleSpecialInformationParam;I)V"); jmethodID mid_MtaResult = env->GetMethodID(cls_MtaResult, "", "(Lcom/objecteye/pojo/vehicle/MtaDetailsParam;Lcom/objecteye/pojo/vehicle/MtaDetailsParam;Lcom/objecteye/pojo/vehicle/MtaDetailsParam;Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;)V"); jmethodID mid_MtaDetailsParam = env->GetMethodID(cls_MtaDetailsParam, "", "(IF)V"); - //jmethodID mid_StainVplateResultParam = env->GetMethodID(cls_StainVplateResultParam, "", "(FI)V"); + jmethodID mid_StainVplateResultParam = env->GetMethodID(cls_StainVplateResultParam, "", "(FI)V"); //jmethodID mid_MucktruckcoverResult = env->GetMethodID(cls_MucktruckcoverResult, "", "(IF)V"); jmethodID mid_MannedResult = env->GetMethodID(cls_MannedResultParam, "", "([Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;I)V");//wh20220222 jmethodID mid_SyPoint = env->GetMethodID(cls_SyPoint, "", "(II)V");//wh20210601������pose��� @@ -425,20 +434,23 @@ JNIEXPORT jint JNICALL Java_com_objecteye_nativeinterface_vehicle_VehicleNativeI jobject vplateResult = NULL; jobject vehicle_plate_det_recg_res_syRect_rect = NULL; jobjectArray vplateNumArray = NULL; + auto vehicle_plate_res = vehicle_info.vehicle_plate_det_recg_res; if (global_vehicle_plate_det_recg_config == SY_CONFIG_OPEN) { std::cout << "vehicle_plate_det_recg_res_syRect_rect" << std::endl; - vehicle_plate_det_recg_res_syRect_rect = env->NewObject(cls_SyRect, mid_SyRect, vehicle_info.vehicle_plate_det_recg_res.rect.left_, vehicle_info.vehicle_plate_det_recg_res.rect.top_, vehicle_info.vehicle_plate_det_recg_res.rect.width_, vehicle_info.vehicle_plate_det_recg_res.rect.height_); + vehicle_plate_det_recg_res_syRect_rect = env->NewObject(cls_SyRect, mid_SyRect, vehicle_plate_res.rect.left_, vehicle_plate_res.rect.top_, vehicle_plate_res.rect.width_, vehicle_plate_res.rect.height_); vplateNumArray = env->NewObjectArray(PLATENUM, cls_VplateNum, NULL); for (size_t k = 0; k < PLATENUM; k++) { - jstring character = env->NewStringUTF(vehicle_info.vehicle_plate_det_recg_res.recg[k].character); - jobject vplateNum = env->NewObject(cls_VplateNum, mid_VplateNum, character, vehicle_info.vehicle_plate_det_recg_res.recg[k].maxprob); + jstring character = env->NewStringUTF(vehicle_plate_res.recg[k].character); + jobject vplateNum = env->NewObject(cls_VplateNum, mid_VplateNum, character, vehicle_plate_res.recg[k].maxprob); env->SetObjectArrayElement(vplateNumArray, k, vplateNum); } } - vplateResult = env->NewObject(cls_VplateResult, mid_VplateResult, vehicle_plate_det_recg_res_syRect_rect, vehicle_info.vehicle_plate_det_recg_res.detect_score, vplateNumArray, vehicle_info.vehicle_plate_det_recg_res.num_score, vehicle_info.vehicle_plate_det_recg_res.type, vehicle_info.vehicle_plate_det_recg_res.special_type); + jobject stain_v_plate = env->NewObject(cls_StainVplateResultParam, mid_StainVplateResultParam, vehicle_plate_res.stain_vp_result.score, vehicle_plate_res.stain_vp_result.type); + std::cout << "vplateResult" << std::endl; + vplateResult = env->NewObject(cls_VplateResult, mid_VplateResult, vehicle_plate_det_recg_res_syRect_rect, vehicle_plate_res.detect_score, vplateNumArray, vehicle_plate_res.num_score, vehicle_plate_res.type, vehicle_plate_res.special_type, NULL); std::cout << "vplateResult end" << std::endl;