添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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' ))

你好,请问这个脚本是哪个格式转那个