labelme_json_to_dataset不能转换关键点的问题

如果json文件中有关键点,在使用labelme_json_to_dataset.exe时就会有如下错误:

UserWarning: This script is aimed to demonstrate how to convert the JSON file to a single image dataset, and not to handle
multiple JSON files to generate a real-use dataset.warnings.warn("This script is aimed to demonstrate how to convert the\n"
Traceback (most recent call last):File "E:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main"__main__", mod_spec)File "E:\Anaconda3\lib\runpy.py", line 85, in _run_codeexec(code, run_globals)File "E:\Anaconda3\Scripts\labelme_json_to_dataset.exe\__main__.py", line 9, in <module>File "E:\Anaconda3\lib\site-packages\labelme\cli\json_to_dataset.py", line 62, in mainlbl = utils.shapes_to_label(img.shape, data[‘shapes‘], label_name_to_value)File "E:\Anaconda3\lib\site-packages\labelme\utils\shape.py", line 35, in shapes_to_labelmask = polygons_to_mask(img_shape[:2], polygons)File "E:\Anaconda3\lib\site-packages\labelme\utils\shape.py", line 12, in polygons_to_maskPIL.ImageDraw.Draw(mask).polygon(xy=xy, outline=1, fill=1)File "E:\Anaconda3\lib\site-packages\PIL\ImageDraw.py", line 185, in polygonself.draw.draw_polygon(xy, fill, 1)
TypeError: coordinate list must contain at least 2 coordinates

解决办法是:

打开python目录下的…\Lib\site-packages\labelme\utils\shape.py

将第8行的polygons_to_mask函数改成如下:

1 def polygons_to_mask(img_shape, polygons):
2     mask = np.zeros(img_shape[:2], dtype=np.uint8)
3     mask = PIL.Image.fromarray(mask)
4     if len(polygons)==1:
5         polygons.append(polygons[0])
6     xy = list(map(tuple, polygons))
7     PIL.ImageDraw.Draw(mask).polygon(xy=xy, outline=1, fill=1)
8     mask = np.array(mask, dtype=bool)
9     return mask

labelme_json_to_dataset不能转换关键点的问题相关推荐

  1. android 英语时间格式转换,android 时间格式解析转换关键点

    中文格式 "yyyy-MM-dd" SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd" ...

  2. PCL NARF关键点提取、SIFT关键点提取、Harris关键点提取

    一.NARF关键点提取 1.背景 关键点也称为兴趣点,是通过定义检测标准来获取的具有稳定性.区别性的点集.从技术上来说,关键点的数量要比原始点云的数目少很多,与局部特征描述子结合在一起,组成关键点描述 ...

  3. 从图片到dataframe——语义分割数据集制作全流程

    分享一下从原始图片,到标记图片,再到转换为python里的数据结构语义分割数据集制作全流程. 安装labelme labelme 是一个图形界面的图像标注软件,可以很方便地划分出多边形边界. 下面在w ...

  4. PRESTO SQL总结分享

    1.常用SQL语法 1.1 字符substr(staff_leave_date,1,10) concat(string1, ..., stringN) → varchar--拼接多个字符串 lengt ...

  5. 一张图片换脸,三星AI最强换脸模型

    一张图片换脸            Few-Shot Adversarial Learning of Realistic Neural Talking Head Models Github 地址:ht ...

  6. S如何边缘控制_驾考科目二侧方位停车、倒库与S弯道,上坡起步技巧及注意事项,意外应对方法...

    有网友反映,侧方位和上坡也有问题的,我来补充一下我们(安徽怀宁)这里侧方位停车和上坡起步的操作步骤及注意事项吧 侧方位停车 1.定点停车 如图,定点停车要求对准1号胸口线,2号肩膀线,车身距离车子右侧 ...

  7. 创建自己的tusimple数据集格式

    为了训练自己的车道线检测模型,由于tusimple数据集场景较为单一,因此自己标注了一个数据集 模型:lanenet 数据集格式:tusimple 标注工具:labelme 第一步:原始数据集标注 1 ...

  8. labelme标签批量转换,labelme_json_to_dataset

    三行代码搞定labelme标注批量转换(labelme_json_to_dataset) 在labelme生成的json文件同级目录中新建一个bat文件,内容如下: @echo off for %%i ...

  9. 智能售餐系统通过重量转换按份售卖概要设计及业务关键点

    项目介绍 以"推行中餐标准化 让传统中餐走遍全球"为使命,打造厨电产品系列,涵盖多种用餐场景,助力前厅后厨实现标准化出品.精细化运营.以复制大厨烹饪技艺为核心技术,以推行中餐标准化 ...

最新文章

  1. MySQL学习(十一)
  2. GPT-2:OpenAI的NLP商业化野望
  3. 周志华:严肃的研究者就不该去触碰强人工智能
  4. linux调用python函数,python脚本里执行linux命令的时候如何调用python的函数?
  5. pandas新建dataframe_pandas数据处理
  6. 【转】mysql 、oracle中char和varchar以及varchar2的区别
  7. c# combobox集合数据不显示_Excel也能玩转百万数据
  8. 实现拖拽上传文件的一款小控件——dropzone
  9. 18 TaskScheduler任务调度器抽象基类——Live555源码阅读(一)任务调度相关类
  10. 5 个用于在 Linux 终端中查找域名 IP 地址的命令
  11. pygame.error: video system not initialized的解决办法
  12. 计算机组成原理罗克露课后答案,计算机组成原理[完整版](罗克露)(全)原版教案.ppt...
  13. 打印程序在计算机上的应用程序,修复无法在计算机上运行的后台打印程序服务的操作步骤...
  14. SVG动画解释-学习笔记
  15. python hdf5_Python HDF5属性
  16. SMIL彩信MMS技术学习
  17. BitLocker是个什么东东?密钥丢了怎么办
  18. python 字符画
  19. 关于负载均衡点点技术总结
  20. windows注册表项配置客户端代理服务器

热门文章

  1. 【开源库分享】雷电模拟器自动化操作库 C#版本
  2. android友盟微信授权登录清除,Android 微信,友盟授权;
  3. openmediavault安装
  4. 第29题:link与@import的区别
  5. 可替代50欧姆_50欧姆阻抗四层板射频信号隔层参考做不了吗?
  6. WEB前端性能优化,提高页面加载速度
  7. LoadRunner 自动登录163邮箱
  8. 统计学习三要素个人理解
  9. shell之大小写转换
  10. Verilog 实现占空比为3/5 2/5 1/5 50% 的五分频信号 断言SVA查看波形