greenhouse/README.rst

192 lines
5.4 KiB
ReStructuredText
Raw Normal View History

2017-05-04 09:53:54 +08:00
LabelImg
========
2015-09-17 10:37:20 +08:00
2017-05-04 09:53:54 +08:00
.. image:: https://img.shields.io/pypi/v/labelimg.svg
:target: https://pypi.python.org/pypi/labelimg
.. image:: https://img.shields.io/travis/tzutalin/labelImg.svg
:target: https://travis-ci.org/tzutalin/labelImg
2016-04-19 14:51:28 +08:00
2016-04-11 17:18:33 +08:00
LabelImg is a graphical image annotation tool.
2015-09-17 10:37:20 +08:00
It is written in Python and uses Qt for its graphical interface.
2017-05-04 09:53:54 +08:00
Annotations are saved as XML files in PASCAL VOC format, the format used
by `ImageNet <http://www.image-net.org/>`__.
.. image:: https://raw.githubusercontent.com/tzutalin/labelImg/master/demo/demo3.jpg
:alt: Demo Image
2015-09-17 10:37:20 +08:00
2017-06-06 20:37:04 +08:00
`Watch a demo video <https://youtu.be/p0nR2YsCY_U>`__
2016-09-06 20:42:13 +08:00
2017-05-04 09:53:54 +08:00
Installation
------------------
2015-09-18 19:29:51 +08:00
2017-05-04 09:53:54 +08:00
Download prebuilt binaries
~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-04-05 12:28:37 +08:00
2017-05-04 09:53:54 +08:00
- `Windows & Linux <http://tzutalin.github.io/labelImg/>`__
2017-05-04 10:01:05 +08:00
- OS X. Binaries for OS X are not yet available. Help would be appreciated. At present, it must be `built from source <#os-x>`__.
2017-04-26 11:19:23 +08:00
2017-05-04 09:53:54 +08:00
Build from source
~~~~~~~~~~~~~~~~~
2017-05-04 09:53:54 +08:00
Linux/Ubuntu/Mac requires at least `Python
2.6 <http://www.python.org/getit/>`__ and has been tested with `PyQt
4.8 <http://www.riverbankcomputing.co.uk/software/pyqt/intro>`__.
2015-11-23 14:21:55 +08:00
2017-05-04 10:01:05 +08:00
2017-05-04 09:53:54 +08:00
Ubuntu Linux
^^^^^^^^^^^^
2017-07-07 23:14:41 +08:00
Python 2 + Qt4
2015-09-17 10:37:20 +08:00
2017-05-04 09:53:54 +08:00
.. code::
2015-09-18 22:49:00 +08:00
sudo apt-get install pyqt4-dev-tools
sudo pip install lxml
2017-07-07 23:14:41 +08:00
make qt4py2
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
Python 3 + Qt5
.. code::
sudo apt-get install pyqt5-dev-tools
sudo pip3 install lxml
make qt5py3
python3 labelImg.py
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
2015-11-22 16:57:50 +08:00
2017-05-04 09:53:54 +08:00
OS X
^^^^
2017-07-07 23:14:41 +08:00
Python 2 + Qt4
2017-05-04 09:53:54 +08:00
.. code::
brew install qt qt4
brew install libxml2
2017-07-07 23:14:41 +08:00
make qt4py2
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
2017-05-04 09:53:54 +08:00
Windows
^^^^^^^
Download and setup `Python 2.6 or
later <https://www.python.org/downloads/windows/>`__,
`PyQt4 <https://www.riverbankcomputing.com/software/pyqt/download>`__
and `install lxml <http://lxml.de/installation.html>`__.
2015-11-23 14:21:55 +08:00
2017-05-04 09:53:54 +08:00
Open cmd and go to `labelImg <#labelimg>`__ directory
2015-12-04 22:51:44 +08:00
2017-05-04 09:53:54 +08:00
.. code::
2015-11-22 16:57:50 +08:00
pyrcc4 -o resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
2017-05-04 10:01:05 +08:00
Get from PyPI
~~~~~~~~~~~~~~~~~
.. code::
pip install labelImg
labelImg
labelImg [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
2017-05-04 10:01:05 +08:00
2017-06-06 20:37:04 +08:00
I tested pip on Ubuntu14.04 and 16.04. However, I didn't test pip on MacOS and Windows
2017-05-04 10:01:05 +08:00
2017-06-06 18:25:12 +08:00
Use Docker
~~~~~~~~~~~~~~~~~
.. code::
docker run -it \
--user $(id -u) \
-e DISPLAY=unix$DISPLAY \
--workdir=$(pwd) \
--volume="/home/$USER:/home/$USER" \
--volume="/etc/group:/etc/group:ro" \
--volume="/etc/passwd:/etc/passwd:ro" \
--volume="/etc/shadow:/etc/shadow:ro" \
--volume="/etc/sudoers.d:/etc/sudoers.d:ro" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
tzutalin/py2qt4
2017-07-07 23:14:41 +08:00
make qt4py2;./labelImg.py
2017-07-07 13:19:18 +08:00
You can pull the image which has all of the installed and required dependencies. `Watch a demo video <https://youtu.be/nw1GexJzbCI>`__
2017-06-06 20:37:04 +08:00
2017-06-06 18:25:12 +08:00
2017-05-04 09:53:54 +08:00
Usage
-----
2015-11-22 16:57:50 +08:00
2017-05-04 09:53:54 +08:00
Steps
~~~~~
2015-11-21 17:39:40 +08:00
1. Build and launch using the instructions above.
2. Click 'Change default saved annotation folder' in Menu/File
3. Click 'Open Dir'
4. Click 'Create RectBox'
2017-05-04 09:53:54 +08:00
5. Click and release left mouse to select a region to annotate the rect
box
6. You can use right mouse to drag the rect box to copy or move it
2015-11-21 17:39:40 +08:00
The annotation will be saved to the folder you specify.
2016-05-10 22:42:13 +08:00
You can refer to the below hotkeys to speed up your workflow.
2017-05-04 09:53:54 +08:00
Create pre-defined classes
~~~~~~~~~~~~~~~~~~~~~~~~~~
You can edit the
`data/predefined\_classes.txt <https://github.com/tzutalin/labelImg/blob/master/data/predefined_classes.txt>`__
to load pre-defined classes
Hotkeys
~~~~~~~
+------------+--------------------------------------------+
| Ctrl + u | Load all of the images from a directory |
+------------+--------------------------------------------+
| Ctrl + r | Change the default annotation target dir |
+------------+--------------------------------------------+
| Ctrl + s | Save |
+------------+--------------------------------------------+
| Ctrl + d | Copy the current label and rect box |
+------------+--------------------------------------------+
| Space | Flag the current image as verified |
+------------+--------------------------------------------+
| w | Create a rect box |
+------------+--------------------------------------------+
| d | Next image |
+------------+--------------------------------------------+
| a | Previous image |
+------------+--------------------------------------------+
| del | Delete the selected rect box |
+------------+--------------------------------------------+
| Ctrl++ | Zoom in |
+------------+--------------------------------------------+
| Ctrl-- | Zoom out |
+------------+--------------------------------------------+
2017-05-25 09:51:47 +08:00
| ↑→↓← | Keyboard arrows to move selected rect box |
+------------+--------------------------------------------+
2017-05-04 09:53:54 +08:00
How to contribute
~~~~~~~~~~~~~~~~~
2015-11-21 17:39:40 +08:00
2017-05-04 09:53:54 +08:00
Send a pull request
2015-11-16 13:40:19 +08:00
2017-05-04 09:53:54 +08:00
License
~~~~~~~
`Free software: MIT license <https://github.com/tzutalin/labelImg/blob/master/LICENSE>`_
2015-11-23 14:21:55 +08:00
2016-04-11 17:18:33 +08:00
2017-05-04 09:53:54 +08:00
Related
~~~~~~~
2016-05-10 22:42:13 +08:00
2017-05-04 09:53:54 +08:00
1. `ImageNet Utils <https://github.com/tzutalin/ImageNet_Utils>`__ to
download image, create a label text for machine learning, etc
2017-06-06 18:25:12 +08:00
2. `Docker hub to run it <https://hub.docker.com/r/tzutalin/py2qt4>`__