使用Python实现简易的数据标注工具

以增加工作效率为目的,最近一直在着手构建一个AI ToolBox

这两天,我为其中的预处理工具目录添加了数据标注模块,本文所介绍内容的代码见这里

该数据标注模块包含以下几个demo

gui_tkinter_exercise.py

data_annotation_tool.py

image_select_tool.py

一个简单的GUI练习

gui_tkinter_exercise.py 是一个简单的 GUI 练习demo,它展示了python的GUI库Tkinter的最基本使用方法

如果你对Tkinter不熟悉,阅读gui_tkinter_exercise.py的代码是很不错的选择,你将了解如何创建一个GUI窗体,如何创建Button,如何关联事件,以及创建一个数据标注工具的必要知识。

GUI demo的界面如下所示:

数据标注工具

data_annotation_tool.py 是一个数据标注demo,展示了如何实现一个数据标注工具

如何使用?

首先,文本框中展示了数据标注结果的保存路径(目前为了方便,是写死在代码中的)

然后,点击‘start’按钮来选择待标注数据所在文件夹

这之后,指定文件夹中的所有图片都会被一个接一个按顺序的加载

点击类别按钮(例如‘Dog’和‘Cat’)来对一张图片进行标注

点击‘NumericUpDown’按钮来跳到特定的图片开始标注(可用于继续之前的工作)

点击 'QUIT’来退出

数据标注工具的运行截图如下所示:

数据筛选工具

image_select_tool.py 是一个数据筛选demo,展示了如何实现一个数据筛选工具。这个工具正是由我工作的一个实际需求而诞生的

潜在应用场景:

假设我们有很多组图像,我们想要从每组中筛选出一张或多张图片。当你有这样类似的需求时,这个工具就适合帮助你提高工作效率

程序的运行逻辑是:

首先,文本框中展示了数据标注结果的保存路径(目前为了方便,是写死在代码中的)

然后,点击‘start’按钮来选择待筛选数据所在根文件夹

随后,所有根文件夹下的子文件夹都会被一个接一个的加载

每一次,单个子文件夹下的所有图像都会被展示在canvas画布中

使用鼠标点击来筛选出想要的图像,它会被自动保存到指定路径下

使用鼠标滚轮来进行图片的快速浏览

按下空格来切换到下一组图像

该工具的使用截图如下所示:

使用Python实现简易的数据标注工具相关推荐

  1. python数据标注工具_python实现简单图片物体标注工具

    本文实例为大家分享了python实现简单图片物体标注工具的具体代码,供大家参考,具体内容如下 # coding: utf-8 """ 物体检测标注小工具 基本思路: 对要 ...

  2. 数据标注工具下载中遇到的各种问题

    1数据标注工具labeling与labelme教程参考.参考链接1. 2数据标注第一步下载安装中,要求"将resources.py文件剪切放入libs文件夹中"你会发现在libs文 ...

  3. 深度学习半自动标注_时下流行的深度学习数据标注工具

    时下流行的深度学习数据标注工具 迷若烟雨 2018-09-04 16:36:00 15820 收藏 33 分类专栏: 深度学习 版权 本文将标注工具适用的最佳运行环境分成了三类. 跨平台 https: ...

  4. 数据标注丨7大数据标注工具分享

    "随着人工智能技术的发展,越来越多的公司和团队加入了此领域的研究,那么人工智能指的是什么呢?" "人工智能"看似给人深不可测.迷离惝恍的感觉,但实际上人工智能的 ...

  5. 数据标注工具labeling与labelme

    数据标注工具 labeling 这款工具是全图形界面,用Python和Qt写的,可把标注信息直接转化成为XML文件 1)下载安装 安装PyQt5包 下载labelImg源码并解压运行-https:// ...

  6. 十大图像数据标注工具大合集

    给大家推荐十大标注工具 1.常见的标注方法 **人工数据标注:**的好处是标注结果比较可靠 **自动数据标注:**一般都需要二次复核,避免程序错误 **外包数据标注:**很多时候会面临数据泄密与流失风 ...

  7. 图像/视频数据标注工具

    十个最常用深度学习图像/视频数据标注工具 原创: gloomyfish OpenCV学堂 从此以后图像与视频数据标注不用为找工具发愁!好东西记得分享 图像数据标注概述 在深度学习领域,训练数据对训练结 ...

  8. yolov3学习笔记-labelImg数据标注工具安装

    labelImg数据标注工具 本文主要内容分为以下两大类: a.配置安装: b.安装出现的一些问题:(问题千奇百怪,若出现其他问题,可以一起交流探讨) 安装环境:Ubuntu/Linux下的安装: ( ...

  9. 分割 标注数据_7种常用的数据标注工具

    工欲善其事,必先利其器. 标注工具是数据标注行业的基础,一款好用的标注工具是提升标注效率与产出高质量标注数据的关键. 常用的数据标注工具主要有以下几种:2D框.语义分割.多边形分割.点标注.线标注.视 ...

最新文章

  1. linkin大话面向对象--多态
  2. c++ using 前置声明_C++ 类声明 类前置声明范例
  3. POJ-3067 Japan(树状数组、线段树)
  4. ASP.NET 3.5中的一个超简单的Ajax实验
  5. Abp Vnext Pro 的 Vue 实现版本
  6. linux 下创建GRE隧道
  7. python做系统查人的往来的信息_L01-04:python查询员工信息表练习
  8. linux在线扩展文件系统空间ext2online
  9. Excel如何实现随机不重复抽取
  10. 方差(Var),样本方差(SVar),标准差(SD),均方误差(MSE),均方根误差(RMSE),平均绝对误差(MAE)
  11. php mp4 ckplayer,ckplayer:超酷网页视频播放器
  12. 《GPU编程与CG语言之阳春白雪下里巴人》阅读笔记 第一章+第二章
  13. 什么是DOM(个人理解)
  14. 让线程实现暂停,重新启动,停止
  15. 流程图+BPMN+脑图 JointJS++ 3.6.3 Crack
  16. $LSB_SUB_PARM_FILE
  17. 一篇文章带你了解webscraper爬虫插件
  18. 【Python数据分析学习实例】对学生成绩单和信息进行整合以及数据分析
  19. git Please move or remove them before you can merge
  20. FS2117支持3.7V锂电池同步升压5V2.4A限流升压IC芯片

热门文章

  1. JavaScript中的内置对象-8--4.date对象中-获取,设置日期时间的方法; 获取,设置年月日时分秒及星期的方法;...
  2. Mybatis 入门之resultMap与resultType讲解实例
  3. 旧文重发:苹果是怎么吃到的?
  4. C++学习——拷贝构造函数和移动构造函数
  5. 3.6数对 (Python)
  6. 牛客15666 又见斐波那契(矩阵快速幂)
  7. python之模块导入
  8. 金叉成功率_一个非常强烈的买卖信号:三金叉见顶,三死叉见底,短短10字,但是成功率却远超“金叉买,死叉卖”...
  9. jmeter file upload 变量_通达OA上传漏洞之变量覆盖分析
  10. 图像处理 --- 三、图像变换 3.2 图像的几何变换