开源图像标注工具labelme的安装使用及汉化
一 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,具体安装过程如下
- 安装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的安装使用及汉化的更多相关文章
- 深度学习标注工具 LabelMe 的使用教程(Windows 版本)
深度学习标注工具 LabelMe 的使用教程(Windows 版本) 2018-11-21 20:12:53 精灵标注助手:http://www.jinglingbiaozhu.com/ LabelM ...
- 深度学习图像标注工具VGG Image Annotator (VIA)使用教程
VGG Image Annotator (VIA)是一款开源的图像标注工具,由Visual Geometry Group开发. 可以在线和离线使用,可标注矩形.圆.椭圆.多边形.点和线.标注完成后,可 ...
- 图像标注工具labelImg使用方法
最近在做打标签的工作,为了与大家参考学习,总结了在windows的环境下,基于anaconda的图像标注工具labellmg的一种使用方法! 1 搭建anaconda 以前写过怎么搭建anaconda ...
- 全球第一开源云ERP Odoo操作手册 模块安装和界面汉化指南
之前介绍了odoo的安装和初始设置以及数据库,下面来介绍odoo的模块安装和界面汉化. 1.4 模块安装和界面汉化 Odoo 的功能包含在不同的模块中, 刚创建的数据库除 Odoo 的核心模块外, 其 ...
- PowerDesigner V16.5 安装教程以及汉化(数据库建模)
一.power designer是什么以及是干什么的? power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具.分别从概念数据模型(Conceptual Dat ...
- (转)centos6.5下Zabbix系列之Zabbix安装搭建及汉化
最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址 http://itnihao.blog.51cto.com/他做的zab ...
- loadrunner11 安装破解,汉化包
说说自己的心痛史,好不容易安装了loadrunner 11 居然浏览器不支持,我的系统是win8.1,ie浏览器最低支持ie11,我还能说啥子...其他浏览器试过了依旧是不可以!!所以我安装了一个虚拟 ...
- ERDAS 2014安装破解及汉化图文教程
关于ERDAS 2014 的安装破解及其汉化过程: 说明:汉化只是之针对英语能力不能正常满足使用软件的朋友们.如果英语过专八,完全没有必要汉化!在此之前查了好多关于ERDAS汉化的文档,可惜只是简单的 ...
- centos6.5下Zabbix系列之Zabbix安装搭建及汉化
最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址http://itnihao.blog.51cto.com/他做的zabb ...
随机推荐
- 用Visual Studio Code Debug世界上最好的语言(Mac篇)
用Visual Studio Code Debug世界上最好的语言(Mac篇) 首先,你要有台Macbook Pro,接着才继续看这个教程. PS:Windows用户看这里用Visual Studio ...
- 全文检索选择-------- Elasticsearch与Solr
Elasticsearch简介* Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据. 它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三 ...
- CentOS7.3上部署简单的网站(Tomcat)
本文转载自:沙师弟专栏 https://blog.csdn.net/u014597198/article/details/79649219 [ 感谢郭大大 ] 服务器版本:CentOS 7.3 64 ...
- 记一次MySQL数据库拒绝访问的解决过程
问题背景 用wordpress搭博客,数据库采用MySQL.为了调试方便,创建账户my_account ,允许它从任意主机访问数据库. CREATE USER `my_account`@'%' IDE ...
- Java Applet 与Servlet之间的通信
1 Applet对Servlet的访问及参数传递的实现 2.1.1创建URL对象 在JAVA程序中,可以利用如下的形式创建URL对象 URL servletURL = new URL( "h ...
- 转载 python实例手册
python实例手册 #encoding:utf8# 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请 ...
- set命令详解
我们依然是围绕这几个话题展开学习: 1.什么是set命令? 2.为什么要用set命令? 3.怎样使用set命令? 1.什么是set命令? ♦ set命令作用主要是显示系统中已经存在的shell变量,以 ...
- ToB蓝海的台阶-PaaS,SaaS技术详解
前言 随着大量SaaS公司进入市场,我们看到颠覆性的软件服务以各种方式进入企业流程-从营销工具到支付系统.随着SaaS帮助优化业务流程,实现更流畅和自动化的运营,风险投资公司首先潜入池中寻找最优秀和最 ...
- .net core Entity Framework 与 EF Core
重点讲 Entity Framework Core ! (一)Entity Framework 它是适用于.NET 的对象关系映射程序 (ORM),现在的EF6已经是久经沙场,并经历重重磨难,获得一致 ...
- 安卓开发笔记(二十六):Splash实现首页快速开屏功能
我们在进行安卓开发的时候,首页开有两种方式,一种是利用handler将一个活动进行延时,时间到达之后软件则会跳转到第二个活动当中.而另一种方法则是更加常用的方法,利用splash实现首页的快速开屏,这 ...