Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
J
jfxmap_python
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
oscar
jfxmap_python
Commits
9aec2b89
Commit
9aec2b89
authored
Jan 24, 2022
by
oscar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交文件名重复的问题
parent
053bf233
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
11 deletions
+33
-11
trans_and_export_data.py
script/trans_and_export_data.py
+33
-11
No files found.
script/trans_and_export_data.py
View file @
9aec2b89
...
@@ -461,8 +461,20 @@ class NumpyEncoder(json.JSONEncoder):
...
@@ -461,8 +461,20 @@ class NumpyEncoder(json.JSONEncoder):
g_saveFileType
=
1
#0为pcd文件,1是bin文件
g_saveFileType
=
1
#0为pcd文件,1是bin文件
g_showCloud
=
0
#0不显示,1显示
g_showCloud
=
0
#0不显示,1显示
g_pcd_info
=
{}
g_pcd_info
=
{}
g_no_save_count
=
0
g_save_count
=
0
MAX_SAVE_FILE_NUM
=
100
def
Save_Cloud_File
(
cloud
,
json
):
def
Save_Cloud_File
(
cloud
,
json
):
global
g_saveFileType
global
g_showCloud
global
g_pcd_info
global
g_no_save_count
global
g_save_count
global
MAX_SAVE_FILE_NUM
if
g_save_count
>=
MAX_SAVE_FILE_NUM
:
return
cloud
[
"pcdName"
]
=
str
(
g_save_count
)
+
cloud
[
"pcdName"
]
#去除boxx内的点
#去除boxx内的点
drawpointcloud
=
[]
drawpointcloud
=
[]
jsn_pcd
=
{}
jsn_pcd
=
{}
...
@@ -506,19 +518,26 @@ def Save_Cloud_File(cloud,json):
...
@@ -506,19 +518,26 @@ def Save_Cloud_File(cloud,json):
drawpointcloud
+=
[
axis_pcd
]
drawpointcloud
+=
[
axis_pcd
]
custom_draw_geometry_with_key_callback
(
drawpointcloud
,
""
)
custom_draw_geometry_with_key_callback
(
drawpointcloud
,
""
)
g_pcd_info
[
cloud
[
"pcdName"
]]
=
len
(
cloud
[
"boxes"
])
g_pcd_info
[
cloud
[
"pcdName"
]]
=
len
(
cloud
[
"boxes"
])
g_save_count
+=
1
print
(
"save file g_save_count = "
,
g_save_count
,
" file = "
,
cloud
[
"pcdName"
])
def
Add_Cloud_box
(
save_cloud
,
add_idx
,
bbox
,
pickcloud
,
json
):
def
Add_Cloud_box
(
save_cloud
,
add_idx
,
bbox
,
pickcloud
,
json
):
global
g_no_save_count
save_cloud
[
add_idx
][
"boxes"
]
.
append
(
bbox
)
save_cloud
[
add_idx
][
"boxes"
]
.
append
(
bbox
)
delflag
=
in_hull
(
save_cloud
[
add_idx
][
"np_pcd"
],
bbox
[
1
])
delflag
=
in_hull
(
save_cloud
[
add_idx
][
"np_pcd"
],
bbox
[
1
])
save_cloud
[
add_idx
][
"np_pcd"
]
=
save_cloud
[
add_idx
][
"np_pcd"
][
~
delflag
]
save_cloud
[
add_idx
][
"np_pcd"
]
=
save_cloud
[
add_idx
][
"np_pcd"
][
~
delflag
]
save_cloud
[
add_idx
][
"np_pcd"
]
=
np
.
vstack
((
save_cloud
[
add_idx
][
"np_pcd"
],
pickcloud
))
save_cloud
[
add_idx
][
"np_pcd"
]
=
np
.
vstack
((
save_cloud
[
add_idx
][
"np_pcd"
],
pickcloud
))
if
save_cloud
[
0
][
"isSave"
]
==
1
:
if
save_cloud
[
0
][
"isSave"
]
==
1
:
Save_Cloud_File
(
save_cloud
[
0
],
json
)
if
len
(
save_cloud
[
0
][
"boxes"
])
>=
10
:
Save_Cloud_File
(
save_cloud
[
0
],
json
)
else
:
g_no_save_count
+=
1
save_cloud
.
pop
(
0
)
save_cloud
.
pop
(
0
)
def
Check_Add_Cloud_box
(
save_cloud
,
bbox
,
pcd
,
pcdName
,
path
,
index
):
def
Check_Add_Cloud_box
(
save_cloud
,
bbox
,
pcd
,
pcdName
,
path
,
index
):
global
g_save_count
add_idx
=
-
1
add_idx
=
-
1
for
cloud_idx
,
cloud
in
enumerate
(
save_cloud
):
for
cloud_idx
,
cloud
in
enumerate
(
save_cloud
):
#查找可以添加的点云
#查找可以添加的点云
...
@@ -539,14 +558,12 @@ def Check_Add_Cloud_box(save_cloud,bbox,pcd,pcdName,path,index):
...
@@ -539,14 +558,12 @@ def Check_Add_Cloud_box(save_cloud,bbox,pcd,pcdName,path,index):
save_cloud
[
0
][
"isSave"
]
=
1
save_cloud
[
0
][
"isSave"
]
=
1
elif
index
>
1
and
len
(
save_cloud
)
>=
100
:
elif
index
>
1
and
len
(
save_cloud
)
>=
100
:
save_cloud
[
0
][
"isSave"
]
=
1
save_cloud
[
0
][
"isSave"
]
=
1
if
len
(
save_cloud
[
0
][
"boxes"
])
<
10
:
print
(
"save cloud file = "
,
save_cloud
[
0
][
"pcdName"
],
" box num = "
,
len
(
save_cloud
[
0
][
"boxes"
]))
if
add_idx
==
-
1
:
if
add_idx
==
-
1
:
new_cloud
=
{}
new_cloud
=
{}
new_cloud
[
"np_pcd"
]
=
np
.
array
(
pcd
.
points
)
new_cloud
[
"np_pcd"
]
=
np
.
array
(
pcd
.
points
)
new_cloud
[
"boxes"
]
=
[]
new_cloud
[
"boxes"
]
=
[]
new_cloud
[
"isSave"
]
=
0
new_cloud
[
"isSave"
]
=
0
new_cloud
[
"pcdName"
]
=
str
(
len
(
save_cloud
))
+
pcdName
new_cloud
[
"pcdName"
]
=
pcdName
new_cloud
[
"path"
]
=
path
new_cloud
[
"path"
]
=
path
save_cloud
.
append
(
new_cloud
)
save_cloud
.
append
(
new_cloud
)
add_idx
=
len
(
save_cloud
)
-
1
;
add_idx
=
len
(
save_cloud
)
-
1
;
...
@@ -556,9 +573,9 @@ def Check_Add_Cloud_box(save_cloud,bbox,pcd,pcdName,path,index):
...
@@ -556,9 +573,9 @@ def Check_Add_Cloud_box(save_cloud,bbox,pcd,pcdName,path,index):
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
origin_root_path
=
"/media/sf_shared/nodes/"
#读取数据的总目录
origin_root_path
=
"/media/sf_shared/nodes/"
#读取数据的总目录
generate_root_path
=
"/
home/oscar/ros/git/jfxmap_python/script/data
/5-3/"
generate_root_path
=
"/
media/sf_shared
/5-3/"
generate_car_yaw_cal_angle
=
79.89299572540227
generate_car_yaw_cal_angle
=
79.89299572540227
generate_pcd_path
=
os
.
path
.
join
(
generate_root_path
,
"pcd/"
)
generate_pcd_path
=
os
.
path
.
join
(
generate_root_path
,
"pcd/"
)
...
@@ -568,8 +585,6 @@ if __name__ == '__main__':
...
@@ -568,8 +585,6 @@ if __name__ == '__main__':
os
.
remove
(
generate_pcd_path
)
os
.
remove
(
generate_pcd_path
)
os
.
mkdir
(
generate_pcd_path
)
os
.
mkdir
(
generate_pcd_path
)
save_root_path
=
"/home/oscar/ros/git/jfxmap_python/script/"
generate_child_dir
=
"N5_3"
generate_child_dir
=
"N5_3"
generate_cfg_path
=
generate_root_path
+
"config/5-3.yaml"
generate_cfg_path
=
generate_root_path
+
"config/5-3.yaml"
...
@@ -619,6 +634,9 @@ if __name__ == '__main__':
...
@@ -619,6 +634,9 @@ if __name__ == '__main__':
isStop
=
0
isStop
=
0
index
=
0
index
=
0
while
isStop
==
0
:
while
isStop
==
0
:
if
g_save_count
>=
MAX_SAVE_FILE_NUM
:
print
(
"finish g_save_count = "
,
g_save_count
)
break
isDeal
=
0
isDeal
=
0
for
dir
in
dirs
:
for
dir
in
dirs
:
if
len
(
dir_pcd_list
[
dir
][
0
])
>
index
:
if
len
(
dir_pcd_list
[
dir
][
0
])
>
index
:
...
@@ -636,6 +654,8 @@ if __name__ == '__main__':
...
@@ -636,6 +654,8 @@ if __name__ == '__main__':
continue
continue
xyzi
,
pcd
,
converted_pcd
=
parse_pandarmind_pcd
(
pcd_file
,
rotMat
[
child_dir
])
xyzi
,
pcd
,
converted_pcd
=
parse_pandarmind_pcd
(
pcd_file
,
rotMat
[
child_dir
])
xyz
=
np
.
array
(
converted_pcd
.
points
)
xyz
=
np
.
array
(
converted_pcd
.
points
)
if
xyz
.
size
==
0
:
continue
;
for
bbox
in
bboxes
:
for
bbox
in
bboxes
:
# exportCenterBL = get_loc_from_origin([bbox[4][0], bbox[4][1], bbox[4][2]], 0, generate_Trans)
# exportCenterBL = get_loc_from_origin([bbox[4][0], bbox[4][1], bbox[4][2]], 0, generate_Trans)
lidar_loc_ex
,
out_BL_ex
,
exportCenterBL
=
get_loc
([
bbox
[
4
][
0
],
bbox
[
4
][
1
],
bbox
[
4
][
2
],
bbox
[
6
][
0
],
bbox
[
6
][
1
],
bbox
[
6
][
2
],
bbox
[
2
]],
0
,
generate_Trans
,
generate_kitti2origin
)
lidar_loc_ex
,
out_BL_ex
,
exportCenterBL
=
get_loc
([
bbox
[
4
][
0
],
bbox
[
4
][
1
],
bbox
[
4
][
2
],
bbox
[
6
][
0
],
bbox
[
6
][
1
],
bbox
[
6
][
2
],
bbox
[
2
]],
0
,
generate_Trans
,
generate_kitti2origin
)
...
@@ -684,14 +704,16 @@ if __name__ == '__main__':
...
@@ -684,14 +704,16 @@ if __name__ == '__main__':
# break
# break
else
:
else
:
isStop
=
1
isStop
=
1
print
(
"finish all the data"
)
for
cloud
in
save_cloud_list
:
for
cloud
in
save_cloud_list
:
Save_Cloud_File
(
cloud
,
save_json
)
Save_Cloud_File
(
cloud
,
save_json
)
jsn_path
=
os
.
path
.
join
(
generate_root_path
,
generate_child_dir
+
".json"
)
jsn_path
=
os
.
path
.
join
(
generate_root_path
,
generate_child_dir
+
".json"
)
with
open
(
jsn_path
,
'w'
)
as
file_obj
:
with
open
(
jsn_path
,
'w'
)
as
file_obj
:
json
.
dump
(
save_json
,
file_obj
,
cls
=
NumpyEncoder
)
json
.
dump
(
save_json
,
file_obj
,
cls
=
NumpyEncoder
)
for
file
,
num
in
g_pcd_info
.
items
():
# for file, num in g_pcd_info.items():
if
num
<
10
:
# print("file = ",file,", box num = ",num)
print
(
"file = "
,
file
,
", box num = "
,
num
)
print
(
"no save file num = "
,
g_no_save_count
)
# for dir in dirs:
# for dir in dirs:
# if os.path.isdir(origin_root_path + "/" + dir) == False:
# if os.path.isdir(origin_root_path + "/" + dir) == False:
# continue
# continue
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment