一 LabelMe简介

labelme是麻省理工(MIT)的计算机科学和人工智能实验室(CSAIL)研发的图像标注工具,人们可以使用该工具创建定制化标注任务或执行图像标注,项目源代码已经开源。

项目开源地址:https://github.com/CSAILVision/LabelMeAnnotationTool

labelMe项目地址:http://labelme.csail.mit.edu/Release3.0/

MIT的labelme源代码可以安装到服务器上使用,是一个在线的Javascript图像标注工具,可在任意地方使用,不需要在电脑中安装大型数据集。

本文主要介绍一个python版本的labelme,这个labelme项目是利用QT Designer进行图形界面的开发,生成ui文件,使用工具转换为py文件,然后再添加python编写的逻辑实现,最终呈现在大家面前的都是py文件。这个python版本也是开源的。

Python版本labelme地址:https://github.com/wkentaro/labelme

二 LabelMe的安装

我的安装环境是Windows 10,labelme的安装需要很多依赖的环境和程序,主要的环境是anaconda,还需要的是python和pyqt,具体安装过程如下

  1. 安装anaconda。在anaconda官网https://www.anaconda.com/download/上下载合适的版本,使用最新的或者比较稳定的,有两个版本,我选择的是python3版本。

下载后默认安装,一直点击下一步,直到完成安装。

2.    安装依赖程序和labelme。anaconda安装成功后,在开始菜单中,会有多个anaconda工具,其中就有Anaconda Prompt,运行它,就像windows中的cmd命令行一样。执行以下命令,完成相应的程序安装。

安装python环境

conda create –name=labelme python=3.6(对应自己的python版本)

安装pyqt

conda install pyqt(会安装最新的pyqt5)

安装labelme

pip install labelme

运行labelme。

还是在Anaconda Prompt中输入labelme,即运行labelme,图形化的labelme界面就会打开。

三 LabelMe的py代码在pycharm中运行

Python集成开发工具Pycharm的安装及使用,大家可以自行百度,比较简单,不再介绍。首先将https://github.com/wkentaro/labelme中的源代码下载到本地,在pytharm中打开labelme项目,要让labelme运行起来,最重要就是设置labelme的运行环境,也就是设置好labelme运行时用到的那些依赖。在上一步的labelme的安装中,已经将labelme的依赖都安装完成了,我们只需要在pycharm中设置即可。

在pycharm的File菜单选择settings…,打开软件配置窗口,左侧的Project Interpreter(项目解释器),在右侧要选择合适的python环境,这里使用在上一步中安装的python程序,这个python程序是默认安装的,地址是C:\Users\dell\AppData\Local\conda\conda\envs\labelme\python.exe,这个python环境包含的了很多安装包,都是labelme运行依赖的一些程序。设置完成后,点击确认。

打开labelme根目录下的main.py文件,然后点击右键,选择Run ’main’,或者在菜单Run选择Run ’main’,这样就可以正常运行labelme项目了。

四 LabelMe的汉化

Labelme在pycharm中运行后,我们就可以对labelme进行二次开发了。比较简单的一个开发就是汉化,labelme界面都是英文,想把它里面的菜单、提示信息等改为中文,就可以根据项目结构,修改相应的py文件即可。

在main.py的导入模块中,有from labelme.app import MainWindow,可以知道labelme的窗口主要在app模块中设置,打开与main.py同目录的app.py,可以看到很多菜单名称以及提示信息,根据运行窗口中菜单名称和提示信息,在app.py程序中查找,然后进行有针对的修改,就可以了。

五 LabelMe转换为exe文件

为了方便使用labelme程序,可以将py程序转换为exe程序,在windows环境中无需安装python,就可以运行labelme。转换工具使用的是pyinstaller,比较早的pyinstaller介绍文章说它不支持python3,现在已经支持python3了。

1 安装pyinstaller

首先安装pywin32

pip install pywin32

然后安装pyinstaller

pip install pyinstaller

2 使用pyinstaller

比较简单的转换操作

pyinstaller -F E:/ python_workspace/labelme/main.py

会在当前目录生成dist文件夹,build文件夹和spec文件

dist目录(目录里面有可执行文件)

build目录(生成exe的中间文件)

spec文件(要转换文件的同一目录下,用于生成exe文件,可以修改来自定义生成exe的属性)

其中-F是参数,表示要生成一个exe文件,文件在dist目录中。

还有一些其他的参数使用,可以利用pyinstaller -h命令查看,比如-w生成窗口界面程序,-c生成控制台程序,--distpath制定生成exe文件的路径,--log-level指定输出的日志信息等等。

六 总结

Labelme是一个开源图像标注工具,对它进行使用及二次开发涉及到比较多的知识,通过研究labelme可以了解很多新知识,除了文中介绍的一些知识外,还有图形开发工具QT Designer,是一种可以集成到pycharm中的图形开发工具,生成ui文件,可以转换为py文件,和pycharm结合,可以进行图形界面开发,python版的labelme就是使用QT开发界面。在研究的过程中,也碰到一些问题,比如转化为exe文件时,有路径不正确的问题,需要根据提示信息修改程序的路径;图片不能显示的问题,需要将图片转换为base64形式保存,这些是pyinstaller需要完善的。

参考资料

1 http://www.myzaker.com/article/598012931bc8e0ab2a000022/,MIT 开放图像标注工具 LabelMe 源代码:助力机器视觉的发展

2 https://blog.csdn.net/shwan_ma/article/details/77823281,图像语义分割,Label data的标注--Labelme(python)

3 https://blog.csdn.net/pipisorry/article/details/50620122,pyinstaller使用-python项目转换成exe可执行文件

开源图像标注工具labelme的安装使用及汉化的更多相关文章

  1. 深度学习标注工具 LabelMe 的使用教程(Windows 版本)

    深度学习标注工具 LabelMe 的使用教程(Windows 版本) 2018-11-21 20:12:53 精灵标注助手:http://www.jinglingbiaozhu.com/ LabelM ...

  2. 深度学习图像标注工具VGG Image Annotator (VIA)使用教程

    VGG Image Annotator (VIA)是一款开源的图像标注工具,由Visual Geometry Group开发. 可以在线和离线使用,可标注矩形.圆.椭圆.多边形.点和线.标注完成后,可 ...

  3. 图像标注工具labelImg使用方法

    最近在做打标签的工作,为了与大家参考学习,总结了在windows的环境下,基于anaconda的图像标注工具labellmg的一种使用方法! 1 搭建anaconda 以前写过怎么搭建anaconda ...

  4. 全球第一开源云ERP Odoo操作手册 模块安装和界面汉化指南

    之前介绍了odoo的安装和初始设置以及数据库,下面来介绍odoo的模块安装和界面汉化. 1.4 模块安装和界面汉化 Odoo 的功能包含在不同的模块中, 刚创建的数据库除 Odoo 的核心模块外, 其 ...

  5. PowerDesigner V16.5 安装教程以及汉化(数据库建模)

    一.power designer是什么以及是干什么的? power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具.分别从概念数据模型(Conceptual Dat ...

  6. (转)centos6.5下Zabbix系列之Zabbix安装搭建及汉化

    最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址 http://itnihao.blog.51cto.com/他做的zab ...

  7. loadrunner11 安装破解,汉化包

    说说自己的心痛史,好不容易安装了loadrunner 11 居然浏览器不支持,我的系统是win8.1,ie浏览器最低支持ie11,我还能说啥子...其他浏览器试过了依旧是不可以!!所以我安装了一个虚拟 ...

  8. ERDAS 2014安装破解及汉化图文教程

    关于ERDAS 2014 的安装破解及其汉化过程: 说明:汉化只是之针对英语能力不能正常满足使用软件的朋友们.如果英语过专八,完全没有必要汉化!在此之前查了好多关于ERDAS汉化的文档,可惜只是简单的 ...

  9. centos6.5下Zabbix系列之Zabbix安装搭建及汉化

    最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址http://itnihao.blog.51cto.com/他做的zabb ...

随机推荐

  1. javascript 内存管理

    1.垃圾回收机制 在编写Javascript程序时,开发人员不用关心内存问题,内存分配及无用内存的回收完全实现了自动化管理.垃圾收集器会按照预定的时间间隔, 周期性的找出那些不再继续使用的变量,然后释 ...

  2. 你不知道的JavaScript--Item12 undefined 与 null

    当讨论JavaScript中的原始数据类型时,大多数人都知道从String.Number到Boolean的基本知识.这些原始类型相当简单,行为符合常识.但是,本文将更多关注独特的原始数据类型Null和 ...

  3. VM虚拟机安装centos详细图文教程

    本教程贴,采用VM虚拟机进行安装, Ps:不懂VM使用的,可以百度一下 第一步,启动虚拟机,并进行新建---虚拟机·· 选择 从镜像安装,吧里有6.3镜像下载的链接的 然后, 下一步 . 选择客户机版 ...

  4. apigateway-kong(一)简介及部署

    时隔三年,本人重出江湖,哈哈哈 浏览之前写的博客,有些深度还不是太够.篇幅太短,并且很多专题没有坚持写下去,部分技(dai)术(ma)没有从业务中抽离出来,本人感觉好遗憾--为此,痛下决心,重拾博客, ...

  5. Maven项目中,系统设置的CLASSPATH环境变量问题

    在Maven项目中,系统的CLASSPATH环境变量失效了吗?在用Maven开发登录网站时,servlet-api出现错误,jdbc也出现错误,都是ClassNotFoundException,但这两 ...

  6. C++中常用到的容器

    这里主要讲C++中经常用到的一些保存数据的容器,其中也会介绍string. 在C++11中提到了很多容器,这里主要介绍:vector.list.map.还有一些其他的容器就不做介绍了. 1.Strin ...

  7. BZOJ_3132_上帝造题的七分钟_树状数组

    BZOJ_3132_上帝造题的七分钟_树状数组 Description “第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b), ...

  8. Centos打开、关闭、结束tomcat,及查看tomcat运行日志

    cd到tomcat目录下之后 启动:一般是执行sh bin/startup.sh 停止:一般是执行sh bin/shutdown.sh查看:执行ps -ef |grep tomcat 输出如下 *** ...

  9. Django中用户权限模块

    Django中用户权限模块 1 auth模块 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理. auth可以和admin模块配合使用, 快速建立网站的管理系 ...

  10. STM32标准库GPIO操作

    STM32标准库GPIO操作 STM32任何外围设备的使用都分为两部分:初始化和使用.体现在代码上就是:(1)有一个初始化函数(2)main函数中的使用 1.初始化GPIO 初始化GPIO函数代码: ...