Metadata-Version: 2.1
Name: labelme
Version: 4.5.10
Summary: Image Polygonal Annotation with Python
Home-page: https://github.com/wkentaro/labelme
Author: Kentaro Wada
Author-email: www.kentaro.wada@gmail.com
License: GPLv3
Description: <h1 align="center">
          <img src="https://github.com/wkentaro/labelme/blob/master/labelme/icons/icon.png?raw=true"><br/>labelme
        </h1>
        
        <h4 align="center">
          Image Polygonal Annotation with Python
        </h4>
        
        <div align="center">
          <a href="https://pypi.python.org/pypi/labelme"><img src="https://img.shields.io/pypi/v/labelme.svg"></a>
          <a href="https://pypi.org/project/labelme"><img src="https://img.shields.io/pypi/pyversions/labelme.svg"></a>
          <a href="https://github.com/wkentaro/labelme/actions"><img src="https://github.com/wkentaro/labelme/workflows/ci/badge.svg?branch=master&event=push"></a>
          <a href="https://hub.docker.com/r/wkentaro/labelme"><img src="https://img.shields.io/docker/cloud/build/wkentaro/labelme"></a>
        </div>
        
        <div align="center">
          <a href="https://github.com/wkentaro/labelme/blob/master/#installation?raw=true"><b>Installation</b></a> |
          <a href="https://github.com/wkentaro/labelme/blob/master/#usage"><b>Usage</b></a> |
          <a href="https://github.com/wkentaro/labelme/tree/master/examples/tutorial#tutorial-single-image-example"><b>Tutorial</b></a> |
          <a href="https://github.com/wkentaro/labelme/tree/master/examples"><b>Examples</b></a> |
          <a href="https://www.youtube.com/playlist?list=PLI6LvFw0iflh3o33YYnVIfOpaO0hc5Dzw"><b>Youtube FAQ</b></a>
        </div>
        
        <br/>
        
        <div align="center">
          <img src="https://github.com/wkentaro/labelme/blob/master/examples/instance_segmentation/.readme/annotation.jpg?raw=true" width="70%">
        </div>
        
        ## Description
        
        Labelme is a graphical image annotation tool inspired by <http://labelme.csail.mit.edu>.  
        It is written in Python and uses Qt for its graphical interface.
        
        <img src="https://github.com/wkentaro/labelme/blob/master/examples/instance_segmentation/data_dataset_voc/JPEGImages/2011_000006.jpg?raw=true" width="19%" /> <img src="examples/instance_segmentation/data_dataset_voc/SegmentationClassPNG/2011_000006.png" width="19%" /> <img src="examples/instance_segmentation/data_dataset_voc/SegmentationClassVisualization/2011_000006.jpg" width="19%" /> <img src="examples/instance_segmentation/data_dataset_voc/SegmentationObjectPNG/2011_000006.png" width="19%" /> <img src="examples/instance_segmentation/data_dataset_voc/SegmentationObjectVisualization/2011_000006.jpg" width="19%" />  
        <i>VOC dataset example of instance segmentation.</i>
        
        <img src="https://github.com/wkentaro/labelme/blob/master/examples/semantic_segmentation/.readme/annotation.jpg?raw=true" width="30%" /> <img src="examples/bbox_detection/.readme/annotation.jpg" width="30%" /> <img src="examples/classification/.readme/annotation_cat.jpg" width="35%" />  
        <i>Other examples (semantic segmentation, bbox detection, and classification).</i>
        
        <img src="https://user-images.githubusercontent.com/4310419/47907116-85667800-de82-11e8-83d0-b9f4eb33268f.gif" width="30%" /> <img src="https://user-images.githubusercontent.com/4310419/47922172-57972880-deae-11e8-84f8-e4324a7c856a.gif" width="30%" /> <img src="https://user-images.githubusercontent.com/14256482/46932075-92145f00-d080-11e8-8d09-2162070ae57c.png" width="32%" />  
        <i>Various primitives (polygon, rectangle, circle, line, and point).</i>
        
        
        ## Features
        
        - [x] Image annotation for polygon, rectangle, circle, line and point. ([tutorial](https://github.com/wkentaro/labelme/blob/master/examples/tutorial))
        - [x] Image flag annotation for classification and cleaning. ([#166](https://github.com/wkentaro/labelme/pull/166))
        - [x] Video annotation. ([video annotation](https://github.com/wkentaro/labelme/blob/master/examples/video_annotation?raw=true))
        - [x] GUI customization (predefined labels / flags, auto-saving, label validation, etc). ([#144](https://github.com/wkentaro/labelme/pull/144))
        - [x] Exporting VOC-format dataset for semantic/instance segmentation. ([semantic segmentation](https://github.com/wkentaro/labelme/blob/master/examples/semantic_segmentation?raw=true), [instance segmentation](https://github.com/wkentaro/labelme/blob/master/examples/instance_segmentation?raw=true))
        - [x] Exporting COCO-format dataset for instance segmentation. ([instance segmentation](https://github.com/wkentaro/labelme/blob/master/examples/instance_segmentation?raw=true))
        
        
        
        ## Requirements
        
        - Ubuntu / macOS / Windows
        - Python2 / Python3
        - [PyQt4 / PyQt5](http://www.riverbankcomputing.co.uk/software/pyqt/intro)
        
        
        ## Installation
        
        There are options:
        
        - Platform agnostic installation: [Anaconda](https://github.com/wkentaro/labelme/blob/master/#anaconda), [Docker](https://github.com/wkentaro/labelme/blob/master/#docker)
        - Platform specific installation: [Ubuntu](https://github.com/wkentaro/labelme/blob/master/#ubuntu), [macOS](https://github.com/wkentaro/labelme/blob/master/#macos), [Windows](https://github.com/wkentaro/labelme/blob/master/#windows)
        - Pre-build binaries from [the release section](https://github.com/wkentaro/labelme/releases)
        
        ### Anaconda
        
        You need install [Anaconda](https://www.continuum.io/downloads), then run below:
        
        ```bash
        # python2
        conda create --name=labelme python=2.7
        source activate labelme
        # conda install -c conda-forge pyside2
        conda install pyqt
        pip install labelme
        # if you'd like to use the latest version. run below:
        # pip install git+https://github.com/wkentaro/labelme.git
        
        # python3
        conda create --name=labelme python=3.6
        source activate labelme
        # conda install -c conda-forge pyside2
        # conda install pyqt
        # pip install pyqt5  # pyqt5 can be installed via pip on python3
        pip install labelme
        # or you can install everything by conda command
        # conda install labelme -c conda-forge
        ```
        
        ### Docker
        
        You need install [docker](https://www.docker.com), then run below:
        
        ```bash
        # on macOS
        socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &
        docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=docker.for.mac.host.internal:0 -v $(pwd):/root/workdir wkentaro/labelme
        
        # on Linux
        xhost +
        docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=:0 -v $(pwd):/root/workdir wkentaro/labelme
        ```
        
        ### Ubuntu
        
        ```bash
        # Ubuntu 14.04 / Ubuntu 16.04
        # Python2
        # sudo apt-get install python-qt4  # PyQt4
        sudo apt-get install python-pyqt5  # PyQt5
        sudo pip install labelme
        # Python3
        sudo apt-get install python3-pyqt5  # PyQt5
        sudo pip3 install labelme
        
        # or install standalone executable from:
        # https://github.com/wkentaro/labelme/releases
        ```
        
        ### Ubuntu 19.10+ / Debian (sid)
        
        ```bash
        sudo apt-get install labelme
        ```
        
        ### macOS
        
        ```bash
        # macOS Sierra
        brew install pyqt  # maybe pyqt5
        pip install labelme  # both python2/3 should work
        
        # or install standalone executable/app from:
        # https://github.com/wkentaro/labelme/releases
        ```
        
        ### Windows
        
        Install [Anaconda](https://www.continuum.io/downloads), then in an Anaconda Prompt run:
        
        ```bash
        # python3
        conda create --name=labelme python=3.6
        conda activate labelme
        pip install labelme
        ```
        
        
        ## Usage
        
        Run `labelme --help` for detail.  
        The annotations are saved as a [JSON](http://www.json.org/) file.
        
        ```bash
        labelme  # just open gui
        
        # tutorial (single image example)
        cd examples/tutorial
        labelme apc2016_obj3.jpg  # specify image file
        labelme apc2016_obj3.jpg -O apc2016_obj3.json  # close window after the save
        labelme apc2016_obj3.jpg --nodata  # not include image data but relative image path in JSON file
        labelme apc2016_obj3.jpg \
          --labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball  # specify label list
        
        # semantic segmentation example
        cd examples/semantic_segmentation
        labelme data_annotated/  # Open directory to annotate all images in it
        labelme data_annotated/ --labels labels.txt  # specify label list with a file
        ```
        
        For more advanced usage, please refer to the examples:
        
        * [Tutorial (Single Image Example)](https://github.com/wkentaro/labelme/blob/master/examples/tutorial)
        * [Semantic Segmentation Example](https://github.com/wkentaro/labelme/blob/master/examples/semantic_segmentation?raw=true)
        * [Instance Segmentation Example](https://github.com/wkentaro/labelme/blob/master/examples/instance_segmentation?raw=true)
        * [Video Annotation Example](https://github.com/wkentaro/labelme/blob/master/examples/video_annotation?raw=true)
        
        ### Command Line Arguments
        - `--output` specifies the location that annotations will be written to. If the location ends with .json, a single annotation will be written to this file. Only one image can be annotated if a location is specified with .json. If the location does not end with .json, the program will assume it is a directory. Annotations will be stored in this directory with a name that corresponds to the image that the annotation was made on.
        - The first time you run labelme, it will create a config file in `~/.labelmerc`. You can edit this file and the changes will be applied the next time that you launch labelme. If you would prefer to use a config file from another location, you can specify this file with the `--config` flag.
        - Without the `--nosortlabels` flag, the program will list labels in alphabetical order. When the program is run with this flag, it will display labels in the order that they are provided.
        - Flags are assigned to an entire image. [Example](https://github.com/wkentaro/labelme/blob/master/examples/classification?raw=true)
        - Labels are assigned to a single polygon. [Example](https://github.com/wkentaro/labelme/blob/master/examples/bbox_detection?raw=true)
        
        ## FAQ
        
        - **How to convert JSON file to numpy array?** See [examples/tutorial](https://github.com/wkentaro/labelme/blob/master/examples/tutorial#convert-to-dataset).
        - **How to load label PNG file?** See [examples/tutorial](https://github.com/wkentaro/labelme/blob/master/examples/tutorial#how-to-load-label-png-file).
        - **How to get annotations for semantic segmentation?** See [examples/semantic_segmentation](https://github.com/wkentaro/labelme/blob/master/examples/semantic_segmentation?raw=true).
        - **How to get annotations for instance segmentation?** See [examples/instance_segmentation](https://github.com/wkentaro/labelme/blob/master/examples/instance_segmentation?raw=true).
        
        
        ## Testing
        
        ```bash
        pip install hacking pytest pytest-qt
        flake8 .
        pytest -v tests
        ```
        
        
        ## Developing
        
        ```bash
        git clone https://github.com/wkentaro/labelme.git
        cd labelme
        
        # Install anaconda3 and labelme
        curl -L https://github.com/wkentaro/dotfiles/raw/master/local/bin/install_anaconda3.sh | bash -s .
        source .anaconda3/bin/activate
        pip install -e .
        ```
        
        
        ## How to build standalone executable
        
        Below shows how to build the standalone executable on macOS, Linux and Windows.  
        
        ```bash
        # Setup conda
        conda create --name labelme python==3.6.0
        conda activate labelme
        
        # Build the standalone executable
        pip install .
        pip install pyinstaller
        pyinstaller labelme.spec
        dist/labelme --version
        ```
        
        
        ## How to contribute
        
        Make sure below test passes on your environment.  
        See `.github/workflows/ci.yml` for more detail.
        
        ```bash
        pip install black hacking pytest pytest-qt
        
        flake8 .
        black --line-length 79 --check labelme/
        MPLBACKEND='agg' pytest tests/ -m 'not gpu'
        ```
        
        
        ## Acknowledgement
        
        This repo is the fork of [mpitid/pylabelme](https://github.com/mpitid/pylabelme),
        whose development has already stopped.
        
        
        ## Cite This Project
        
        If you use this project in your research or wish to refer to the baseline results published in the README, please use the following BibTeX entry.
        
        ```bash
        @misc{labelme2016,
          author =       {Kentaro Wada},
          title =        {{labelme: Image Polygonal Annotation with Python}},
          howpublished = {\url{https://github.com/wkentaro/labelme}},
          year =         {2016}
        }
        ```
Keywords: Image Annotation,Machine Learning
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Description-Content-Type: text/markdown
