Commit cee436d581d447b5c880b6b35718a157dc58abac
1 parent
531d44a1
完成道路信息返回
Showing
1 changed file
with
49 additions
and
9 deletions
jni/VehicleNativeInterface.cpp
... | ... | @@ -329,6 +329,9 @@ JNIEXPORT jint JNICALL Java_com_objecteye_nativeinterface_vehicle_VehicleNativeI |
329 | 329 | // getClass |
330 | 330 | jclass cls_vehicleAnalysisResult = env->FindClass("com/objecteye/pojo/vehicle/VehicleAnalysisResultParam"); |
331 | 331 | jclass cls_VehicleInfo = env->FindClass("com/objecteye/pojo/vehicle/VehicleInfoParam"); |
332 | + jclass cls_LineInfo = env->FindClass("com/objecteye/pojo/vehicle/LineInfoParam"); | |
333 | + jclass cls_SegInfo = env->FindClass("com/objecteye/pojo/vehicle/SegInfoParam"); | |
334 | + | |
332 | 335 | jclass cls_VehicleDetectResult = env->FindClass("com/objecteye/pojo/vehicle/VehicleDetectResultParam"); |
333 | 336 | jclass cls_VehicleColorResult = env->FindClass("com/objecteye/pojo/vehicle/VehicleColorResultParam"); |
334 | 337 | jclass cls_VehicleRecgResult = env->FindClass("com/objecteye/pojo/vehicle/VehicleRecognizeResultParam"); |
... | ... | @@ -349,16 +352,16 @@ JNIEXPORT jint JNICALL Java_com_objecteye_nativeinterface_vehicle_VehicleNativeI |
349 | 352 | jclass cls_MtaDetailsParam = env->FindClass("com/objecteye/pojo/vehicle/MtaDetailsParam"); |
350 | 353 | //jclass cls_StainVplateResultParam = env->FindClass("com/objecteye/pojo/vehicle/StainVplateResultParam"); |
351 | 354 | jclass cls_MannedResultParam = env->FindClass("com/objecteye/pojo/vehicle/MannedResultParam"); |
352 | - //jclass cls_SyPoint = env->FindClass("com/objecteye/pojo/common/SyPointParam");//wh20210601������pose��� | |
355 | + | |
353 | 356 | //jclass cls_VehiclePoseResultParam = env->FindClass("com/objecteye/pojo/vehicle/VehiclePoseResultParam");//wh20210601������pose��� |
354 | 357 | |
355 | - //cout << "1111111111111111111" << endl; | |
358 | + jclass cls_SyPoint = env->FindClass("com/objecteye/pojo/common/SyPointParam"); | |
356 | 359 | |
357 | 360 | |
358 | 361 | //getmethodId |
359 | - jmethodID mid_vehicleAnalysisResult = env->GetMethodID(cls_vehicleAnalysisResult, "<init>", "([Lcom/objecteye/pojo/vehicle/VehicleInfoParam;I)V"); | |
362 | + jmethodID mid_vehicleAnalysisResult = env->GetMethodID(cls_vehicleAnalysisResult, "<init>", "([Lcom/objecteye/pojo/vehicle/VehicleInfoParam;com/objecteye/pojo/vehicle/LineInfoParam;com/objecteye/pojo/vehicle/SegInfoParam;I)V"); | |
360 | 363 | |
361 | - jmethodID mid_VehicleInfo = env->GetMethodID(cls_VehicleInfo, "<init>", "(Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleColorResultParam;Lcom/objecteye/pojo/vehicle/VehicleRecognizeResultParam;Lcom/objecteye/pojo/vehicle/VehiclePlateResultParam;Lcom/objecteye/pojo/vehicle/VehiclePendantDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleIllegalDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleFeatureResultParam;Lcom/objecteye/pojo/vehicle/MtaResultParam;Lcom/objecteye/pojo/vehicle/MannedResultParam;I)V"); | |
364 | + jmethodID mid_VehicleInfo = env->GetMethodID(cls_VehicleInfo, "<init>", "(Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleColorResultParam;Lcom/objecteye/pojo/vehicle/VehicleRecognizeResultParam;Lcom/objecteye/pojo/vehicle/VehiclePlateResultParam;Lcom/objecteye/pojo/vehicle/VehiclePendantDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleIllegalDetectResultParam;Lcom/objecteye/pojo/vehicle/VehicleFeatureResultParam;Lcom/objecteye/pojo/vehicle/MtaResultParam;Lcom/objecteye/pojo/vehicle/MannedResultParam;I;I;I;I;I;I;I;I;I;I;I)V"); | |
362 | 365 | |
363 | 366 | jmethodID mid_VehicleDetectResult = env->GetMethodID(cls_VehicleDetectResult, "<init>", "(Lcom/objecteye/pojo/common/SyRectParam;F)V"); |
364 | 367 | jmethodID mid_VehicleColorResult = env->GetMethodID(cls_VehicleColorResult, "<init>", "(FI)V"); |
... | ... | @@ -382,17 +385,18 @@ JNIEXPORT jint JNICALL Java_com_objecteye_nativeinterface_vehicle_VehicleNativeI |
382 | 385 | //jmethodID mid_StainVplateResultParam = env->GetMethodID(cls_StainVplateResultParam, "<init>", "(FI)V"); |
383 | 386 | //jmethodID mid_MucktruckcoverResult = env->GetMethodID(cls_MucktruckcoverResult, "<init>", "(IF)V"); |
384 | 387 | jmethodID mid_MannedResult = env->GetMethodID(cls_MannedResultParam, "<init>", "([Lcom/objecteye/pojo/vehicle/VehicleDetectResultParam;I)V");//wh20220222 |
385 | - //jmethodID mid_SyPoint = env->GetMethodID(cls_SyPoint, "<init>", "(II)V");//wh20210601������pose��� | |
388 | + jmethodID mid_SyPoint = env->GetMethodID(cls_SyPoint, "<init>", "(II)V");//wh20210601������pose��� | |
386 | 389 | //jmethodID mid_VehiclePoseResult = env->GetMethodID(cls_VehiclePoseResultParam, "<init>", "([Lcom/objecteye/pojo/common/SyPointParam;[F[FDDD)V"); |
387 | - | |
388 | - //cout << "2222222222222222222" << endl; | |
390 | + | |
391 | + jmethodID mid_LineInfo = env->GetMethodID(cls_LineInfo, "<init>", "(Lcom/objecteye/pojo/vehicle/SyPointParam;I)V"); | |
392 | + jmethodID mid_SegInfo = env->GetMethodID(cls_SegInfo, "<init>", "(Lcom/objecteye/pojo/vehicle/SyPointParam;I)V"); | |
393 | + | |
389 | 394 | //set value to param |
390 | 395 | |
391 | 396 | |
392 | 397 | for (size_t i = 0; i < batchSize; i++) |
393 | 398 | { |
394 | 399 | jobjectArray vehicleInfoArray = env->NewObjectArray(vec_result[i].info.size(), cls_VehicleInfo, NULL); |
395 | - | |
396 | 400 | for (int j = 0; j < vec_result[i].info.size(); j++) |
397 | 401 | { //vehicleDetectRes |
398 | 402 | auto vehicle_info = vec_result[i].info[j]; |
... | ... | @@ -546,7 +550,43 @@ JNIEXPORT jint JNICALL Java_com_objecteye_nativeinterface_vehicle_VehicleNativeI |
546 | 550 | env->SetObjectArrayElement(vehicleInfoArray, j, vehicleInfo); |
547 | 551 | } |
548 | 552 | |
549 | - jobject vehicleAnalysisResult = env->NewObject(cls_vehicleAnalysisResult, mid_vehicleAnalysisResult, vehicleInfoArray, vec_result[i].info.size()); | |
553 | + // 道路标志线 | |
554 | + jobjectArray LineInfoArray = env->NewObjectArray(vec_result[i].vec_line.size(), cls_LineInfo, NULL); | |
555 | + for (int j = 0; j < vec_result[i].vec_line.size(); j++) | |
556 | + { | |
557 | + auto line_info = vec_result[i].vec_line[j]; | |
558 | + jobjectArray ptArray = env->NewObjectArray(line_info.vec_pt.size(), cls_LineInfo, NULL); | |
559 | + for (int k = 0; k < line_info.vec_pt.size(); k++) | |
560 | + { | |
561 | + auto pt = line_info.vec_pt[k]; | |
562 | + jobject line_info_point = env->NewObject(cls_SyPoint, mid_SyPoint, pt.x_, pt.y_); | |
563 | + env->SetObjectArrayElement(ptArray, k, line_info_point); | |
564 | + } | |
565 | + | |
566 | + jobject one_line_info = env->NewObject(cls_LineInfo, mid_LineInfo, ptArray, line_info.line_type); | |
567 | + | |
568 | + env->SetObjectArrayElement(LineInfoArray, j, one_line_info); | |
569 | + } | |
570 | + | |
571 | + // 道路 | |
572 | + jobjectArray RoadInfoArray = env->NewObjectArray(vec_result[i].vec_road.size(), cls_SegInfo, NULL); | |
573 | + for (int j = 0; j < vec_result[i].vec_road.size(); j++) | |
574 | + { | |
575 | + auto road_info = vec_result[i].vec_road[j]; | |
576 | + jobjectArray ptArray = env->NewObjectArray(road_info.vec_pt.size(), cls_SyPoint, NULL); | |
577 | + for (int k = 0; k < road_info.vec_pt.size(); k++) | |
578 | + { | |
579 | + auto pt = road_info.vec_pt[k]; | |
580 | + jobject road_info_point = env->NewObject(cls_SyPoint, mid_SyPoint, pt.x_, pt.y_); | |
581 | + env->SetObjectArrayElement(ptArray, k, road_info_point); | |
582 | + } | |
583 | + | |
584 | + jobject one_road_info = env->NewObject(cls_SegInfo, mid_SegInfo, ptArray, road_info.seg_type); | |
585 | + | |
586 | + env->SetObjectArrayElement(RoadInfoArray, j, one_road_info); | |
587 | + } | |
588 | + | |
589 | + jobject vehicleAnalysisResult = env->NewObject(cls_vehicleAnalysisResult, mid_vehicleAnalysisResult, vehicleInfoArray, LineInfoArray, RoadInfoArray, vec_result[i].info.size()); | |
550 | 590 | env->SetObjectArrayElement(vehicleAnalysisResultParams, i, vehicleAnalysisResult); |
551 | 591 | } |
552 | 592 | ... | ... |