开源图像标注工具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 ...
随机推荐
- 【毕业原版】-《巴斯大学毕业证书》Bath一模一样原件
☞巴斯大学毕业证书[微/Q:865121257◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...
- 【SQL】面面俱到 | 在SQL中使用CUBE和ROLLUP实现数据多维汇总
偶然在网上看到一篇文章,讲到数据汇总,提到了CUBE,感觉有些晦涩,想试着自己表述一下.同时,个人也认为CUBE还是很有用的,对SQL或数据分析感兴趣的小伙伴不妨了解一下,或许有用呢! 先设定个需求, ...
- 8000个JQuery特效(插件)
各式各样的JQuery场景实现,可供项目使用,请注意插件版本和浏览器适配 下面是下载地址
- H5 新特性之 fileReader 实现本地图片视频资源的预览
大家好 !! 又见面了, 今天我们来搞一搞 H5的新增API FileReader 真是一个超级超级方便的API呢!!!很多场景都可以使用.......... 我们先不赘述MDN文 ...
- 【Azkaban搭建】---Azkaban 3.25.0搭建细则 超实用
一.前述 Azkaban是一个工作流调度工具,因为需要各个任务之间有依赖关系,传统的Crontab 任务已经不能满足. 所以需要建立一套工作流引擎.相比Ooize来说,Azkaban的优势是作为一个客 ...
- 【重学计算机】操作系统D1章:计算机操作系统概述
1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机 ...
- asp.net core系列 49 Identity 授权(上)
一.概述 授权是指用户能够访问资源的权限,如页面数据的查看.编辑.新增.删除.导出.下载等权限.ASP.NET Core 授权提供了多种且灵活的方式,包括:Razor pages授权约定.简单授权.R ...
- Vue2.0源码阅读笔记(三):计算属性
计算属性是基于响应式依赖进行缓存的,只有在相关响应式依赖发生改变时才会重新求值,这种缓存机制在求值消耗比较大的情况下能够显著提高性能. 一.计算属性初始化 Vue 在做数据初始化时,通过 in ...
- rocketMQ安装中遇到的坑
安装步骤是这些: Prerequisite The following softwares are assumed installed: 64bit OS, Linux/Unix/Mac is rec ...
- matplotlib读取csv文件
一,从本地加载csv文件 from matplotlib import pyplot as pltimport numpy as npimport csv#用来正常显示中文标签plt.rcParams ...