From 86da302163f782490dc1f8818e89342455fc0231 Mon Sep 17 00:00:00 2001 From: mive93 Date: Tue, 14 May 2019 08:38:52 +0200 Subject: [PATCH] added send of trackers infos --- demo/demo/demo.cpp | 22 +++++++++++-------- include/classutils.h | 51 +++++++++++++++++++++++++++++++++++++++++--- tracker_CLASS | 2 +- 3 files changed, 62 insertions(+), 13 deletions(-) diff --git a/demo/demo/demo.cpp b/demo/demo/demo.cpp index 5472bc1..c59f426 100644 --- a/demo/demo/demo.cpp +++ b/demo/demo/demo.cpp @@ -126,6 +126,8 @@ int main(int argc, char *argv[]) Communicator Comm(SOCK_DGRAM); Comm.open_client_socket("127.0.0.1", 8888); Message *m = new Message; + m->cam_idx = CAM_IDX; + m->lights.clear(); /*Conversion for tracker, from gps to meters and viceversa*/ geodetic_converter::GeodeticConverter gc; @@ -152,7 +154,6 @@ int main(int argc, char *argv[]) cv::Size S = cv::Size((int)cap.get(cv::CAP_PROP_FRAME_WIDTH), //Acquire input size (int)cap.get(cv::CAP_PROP_FRAME_HEIGHT)); outputVideo.open("test.avi", static_cast(cap.get(cv::CAP_PROP_FOURCC)), cap.get(cv::CAP_PROP_FPS), S, true);*/ - while (gRun) { @@ -202,8 +203,6 @@ int main(int argc, char *argv[]) if (objClass < 6) { - - convert_coords(coords, x0 + b.w / 2, y1, objClass, H, adfGeoTransform, frame_nbr); //std::cout< #include "../masa_protocol/include/send.hpp" @@ -76,8 +78,6 @@ void pixel2coord(int x, int y, double &lat, double &lon, double *adfGeoTransform lon = a * x + b * y + xoff; lat = d * x + e * y + yoff; - - } void coord2pixel(double lat, double lon, int &x, int &y, double *adfGeoTransform) { @@ -176,6 +176,51 @@ unsigned long long time_in_ms() return t_stamp_ms; } +void addRoadUserfromTracker(const std::vector& trackers, Message *m, geodetic_converter::GeodeticConverter& gc) +{ + m->t_stamp_ms = time_in_ms(); + m->num_objects = trackers.size(); + m->objects.clear(); + double lat, lon, alt; + + for (auto t : trackers) + { + if (t.pred_list_.size() > 0) + { + Categories cat; + switch (t.class_) + { + case 0: + cat = Categories::C_person; + break; + case 1: + cat = Categories::C_car; + break; + case 2: + cat = Categories::C_car; + break; + case 3: + cat = Categories::C_bus; + break; + case 4: + cat = Categories::C_motorbike; + break; + case 5: + cat = Categories::C_bycicle; + break; + } + //std::cout << t.pred_list_.size() << std::endl; + gc.enu2Geodetic(t.pred_list_.back().x_, t.pred_list_.back().y_, 0, &lat, &lon, &alt); + //std::cout << "lat: " << lat << " lon: " << lon << std::endl; + uint8_t velocity = uint8_t(std::abs(t.pred_list_.back().vel_ * 3.6 / 2)); + uint8_t orientation = uint8_t((int((t.pred_list_.back().yaw_ * 57.29 + 360)) % 360) * 17 / 24); + RoadUser r{static_cast(lat), static_cast(lon), velocity, orientation, cat}; + std::cout << std::setprecision(10) << r.latitude << " , " << r.longitude << " " << int(r.speed) << " " << int(r.orientation) << " " << r.category << std::endl; + m->objects.push_back(r); + } + } +} + void prepare_message(Message *m, const std::vector &coords, int idx) { m->cam_idx = idx; @@ -209,7 +254,7 @@ void prepare_message(Message *m, const std::vector &coords, int idx) break; } RoadUser r{static_cast(coords[i].lat_), static_cast(coords[i].long_), 0, 1, cat}; - std::cout<objects.push_back(r); } diff --git a/tracker_CLASS b/tracker_CLASS index 9d2e8d3..38b1c67 160000 --- a/tracker_CLASS +++ b/tracker_CLASS @@ -1 +1 @@ -Subproject commit 9d2e8d3bcc059cc4f33c6d9497e22fb56aec3940 +Subproject commit 38b1c670dc54b10cb18d15c49849a8d8fe672261