一 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. 用git工作的流程

    1.       clone仓库: git clone git@github.com:test/test.git 2.       检出远程的develop分支 git checkout -b dev ...

  2. Python replace()方法

    描述 Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次. 语法 replace()方法语法: st ...

  3. Linux.Centos6编译安装nginx

    环境 系统环境:CentOS release 6.7 (Final) 需求 centos6.7编译安装nginx1.x 准备 安装依赖 yum install -y gcc gcc-c++ autoc ...

  4. Nodejs.调用Linux命令

    当需要Node.js在后台帮忙运行Linux命令脚本时, 可以用上以下方法 上代码 var spawn = require('child_process').spawn; free = spawn(' ...

  5. buffer_pool.go

    package nsqd import (     "bytes"     "sync" ) var bp sync.Pool func init() {    ...

  6. 【k短路&A*算法】BZOJ1975: [Sdoi2010]魔法猪学院

    Description 找出1~k短路的长度.   Solution k短路的求解要用到A*算法 A*算法的启发式函数f(n)=g(n)+h(n) g(n)是状态空间中搜索到n所花的实际代价 h(n) ...

  7. BZOJ_1864_[Zjoi2006]三色二叉树_树形DP

    BZOJ_1864_[Zjoi2006]三色二叉树_树形DP 题意: 分析:递归建树,然后DP,从子节点转移. 注意到红色和蓝色没有区别,因为我们可以将红蓝互换而方案是相同的.这样的话我们只需要知道当 ...

  8. 从构建分布式秒杀系统聊聊Disruptor高性能队列

    前言 秒杀架构持续优化中,基于自身认知不足之处在所难免,也请大家指正,共同进步.文章标题来自码友 简介 LMAX Disruptor是一个高性能的线程间消息库.它源于LMAX对并发性,性能和非阻塞算法 ...

  9. 【已解决】【Mac】 运行adb提示command not found,需要配置adb环境

    问题:运行adb提示command not found  解决措施: 1.下载安装:android-sdk-macosx 下载路径:http://down.tech.sina.com.cn/page/ ...

  10. Linux创建普通用户

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 1.创建用户,-m表示同时创建用户家目录 sudo useradd -m hadoop 2.为创建的hadoop用户设置密码 sudo passwd ...