29 const std::vector<base::LaneLine> &lane_objects) {
33 FILE *file_save = fopen(save_path.data(),
"wt");
34 if (file_save ==
nullptr) {
35 AERROR <<
"Failed to open lane save path: " << save_path;
38 int lane_line_size =
static_cast<int>(lane_objects.size());
39 AINFO <<
"Lane line num: " << lane_line_size;
40 fprintf(file_save,
"[\n");
41 for (
int j = 0; j < lane_line_size; ++j) {
43 lane_objects[j].curve_camera_coord;
45 lane_objects[j].curve_image_coord;
46 const std::vector<base::Point3DF> &camera_point_set =
47 lane_objects[j].curve_camera_point_set;
48 const std::vector<base::Point2DF> &image_point_set =
49 lane_objects[j].curve_image_point_set;
50 fprintf(file_save,
"{\n");
51 fprintf(file_save,
"\"type\":%d,\n", lane_objects[j].type);
52 fprintf(file_save,
"\"pos_type\":%d,\n", lane_objects[j].pos_type);
54 fprintf(file_save,
"\"camera_curve\":\n");
55 fprintf(file_save,
"{\"a\":%.10f,\"b\":%.10f,\"c\":%.10f,\"d\":%.10f,",
56 curve_camera.
a, curve_camera.
b, curve_camera.
c, curve_camera.
d);
57 fprintf(file_save,
"\"x0\":%.10f,\"x1\":%.10f},\n", curve_camera.
x_start,
60 fprintf(file_save,
"\"camera_point_set\":\n");
61 fprintf(file_save,
"[");
62 for (
size_t k = 0; k < camera_point_set.size(); k++) {
63 if (k < camera_point_set.size() - 1) {
64 fprintf(file_save,
"{\"x\":%.4f,\"y\":%.4f,\"z\":%.4f},",
65 camera_point_set[k].x, camera_point_set[k].y,
66 camera_point_set[k].z);
68 fprintf(file_save,
"{\"x\":%.4f,\"y\":%.4f,\"z\":%.4f}",
69 camera_point_set[k].x, camera_point_set[k].y,
70 camera_point_set[k].z);
73 fprintf(file_save,
"],");
74 fprintf(file_save,
"\n");
76 fprintf(file_save,
"\"image_curve\":\n");
77 fprintf(file_save,
"{\"a\":%.10f,\"b\":%.10f,\"c\":%.10f,\"d\":%.10f,",
78 curve_img.
a, curve_img.
b, curve_img.
c, curve_img.
d);
79 fprintf(file_save,
"\"x0\":%.10f,\"x1\":%.10f},\n", curve_img.
x_start,
82 fprintf(file_save,
"\"image_point_set\":\n");
83 fprintf(file_save,
"[");
84 for (
size_t k = 0; k < image_point_set.size(); ++k) {
85 if (k < image_point_set.size() - 1) {
86 fprintf(file_save,
"{\"x\":%.4f,\"y\":%.4f},", image_point_set[k].x,
87 image_point_set[k].y);
89 fprintf(file_save,
"{\"x\":%.4f,\"y\":%.4f}", image_point_set[k].x,
90 image_point_set[k].y);
93 fprintf(file_save,
"]");
94 fprintf(file_save,
"\n");
95 if (j < lane_line_size - 1) {
96 fprintf(file_save,
"},\n");
98 fprintf(file_save,
"}\n");
101 fprintf(file_save,
"]\n");