You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
By clicking “Sign up for GitHub”, you agree to our
terms of service
and
privacy statement
. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
对的,我是用EISeg抠图完成后,单独保存为json的格式,我现在想将各自的json文件合并成为一个coco文件,但是现在EISeg没有这个功能,能不能提供一个python的py,或者在EISeg里面加入这个功能,因为我想将我挑选出来的图片进行各自的json合并,而不是每次都全部重新标注一次组成coco文件,这样太浪费时间了。请指教。
收到,下面会完善这个功能
@lm1978lm
您好
eiseg加入json格式的保存是我们加入coco格式保存之前的一个过渡功能。我们的json格式只保存了一些基础的标签和多边形信息而且和主流框架的pipeline没有兼容,后期维护的话会增加很多工作量。我们这边是倾向于在下一个版本将这个功能删除。
可不可以描述一下您这边想每个图像保存一个标签是什么原因。我们考虑一下这个功能要不要保留🤔如果是方便后面划分训练验证和测试集,paddlex提供了将coco格式进行划分的功能,可以参考
这里
@lm1978lm
我们这边的计划是后期采用labelme格式,labelme是一个图像一个标签。会提供从现在的json到labelme的转换脚本,软件也支持直接打开现在的json格式但保存成labelme。labelme好转coco,网上脚本不少我们也会出教程。
最近比较忙估计有个一周左右能实现。
root
=
Path
(
'/标注/数据/的/根目录'
)
label_root
=
(
root
/
'label'
)
assert
label_root
.
exists
()
annotations
=
json
.
load
(
open
(
label_root
/
'annotations.json'
))
for
json_path
in
label_root
.
glob
(
"*[!annotations].json"
):
name
=
json_path
.
stem
curr_json
=
json
.
load
(
open
(
json_path
))
curr_image_id
=
annotations
[
'images'
][
-
1
][
'id'
]
+
1
image_file_path
=
next
(
root
.
glob
(
f'
{
name
}
*'
))
width
,
height
=
Image
.
open
(
image_file_path
).
size
annotations
[
'images'
].
append
({
'id'
:
curr_image_id
,
'width'
:
width
,
'height'
:
height
,
'file_name'
:
image_file_path
.
name
,
'license'
:
''
,
'flickr_url'
:
''
,
'coco_url'
:
''
,
'date_captured'
:
''
for
item
in
curr_json
:
last_anno_id
=
annotations
[
'annotations'
][
-
1
][
'id'
]
annotations
[
'annotations'
].
append
({
'id'
:
last_anno_id
+
1
,
'image_id'
:
curr_image_id
,
'category_id'
:
item
[
'labelIdx'
],
'segmentation'
: [[
i
for
p
in
item
[
'points'
]
for
i
in
p
]],
'area'
:
0
,
'bbox'
: [
0
]
*
4
json
.
dump
(
annotations
,
open
(
label_root
/
'annotations.json.new'
,
'w'
))
root
=
Path
(
'/标注/数据/的/根目录'
)
label_root
=
(
root
/
'label'
)
assert
label_root
.
exists
()
annotations
=
json
.
load
(
open
(
label_root
/
'annotations.json'
))
for
json_path
in
label_root
.
glob
(
"*[!annotations].json"
):
name
=
json_path
.
stem
curr_json
=
json
.
load
(
open
(
json_path
))
curr_image_id
=
annotations
[
'images'
][
-
1
][
'id'
]
+
1
image_file_path
=
next
(
root
.
glob
(
f'
{
name
}
*'
))
width
,
height
=
Image
.
open
(
image_file_path
).
size
annotations
[
'images'
].
append
({
'id'
:
curr_image_id
,
'width'
:
width
,
'height'
:
height
,
'file_name'
:
image_file_path
.
name
,
'license'
:
''
,
'flickr_url'
:
''
,
'coco_url'
:
''
,
'date_captured'
:
''
for
item
in
curr_json
:
last_anno_id
=
annotations
[
'annotations'
][
-
1
][
'id'
]
annotations
[
'annotations'
].
append
({
'id'
:
last_anno_id
+
1
,
'image_id'
:
curr_image_id
,
'category_id'
:
item
[
'labelIdx'
],
'segmentation'
: [[
i
for
p
in
item
[
'points'
]
for
i
in
p
]],
'area'
:
0
,
'bbox'
: [
0
]
*
4
json
.
dump
(
annotations
,
open
(
label_root
/
'annotations.json.new'
,
'w'
))
你好,请问这个脚本是哪个格式转那个