• Stars
    star
    205
  • Rank 191,264 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 7 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

LabelImgTool is a graphical image annotation tool which supports CLS,DET and SEG(semantic&instance )

LabelImg

Build Status

LabelImg is a graphical image annotation tool.

It is written in Python and uses Qt for its graphical interface.

The annotation file will be saved as an XML file. The annotation format is PASCAL VOC format, and the format is the same as ImageNet

task mode change

DET mode

SEG mode

CLS mode

Brush SEG mode(in development: brush branch)

Release software for windows

baiduyun googledriver

Build source and use it

Requires at least Python 2.6 and has been tested with PyQt4.8.

In order to build the resource and assets, you need to install pyqt4-dev-tools:

  • Ubuntu

sudo apt-get install pyqt4-dev-tools

sudo apt-get install python-opencv

pip install lxml

pip install qdarkstyle

./labelImg.py

  • Windows

Need to download and setup Python 2.6 or later and PyQt4,lxml,qdarkstyle. Open cmd and go to $labelImg,

$ pyrcc4 -o resources.py resources.qrc

$ python labelImg.py

Default file framework

|---Images

​ |---images_1

​ |---images_2

|---Annotation

​ |---images_1

​ |---images_2

the file containing annotations will be created by default.

Usage

After cloning the code, you should run $ make all to generate the resource file.

You can then start annotating by running $ ./labelImg.py. For usage instructions you can see Here

At the moment annotations are saved as an XML file. The format is PASCAL VOC format, and the format is the same as ImageNet

You can also see ImageNet Utils to download image, create a label text for machine learning, etc

Label and parsing

support rectangle label and parsing labels

Create pre-defined classes

You can edit the data/predefined_classes.txt to load pre-defined classes

You also can create labels with two levels in data/predefined_sub_classes.txt

And the labels will be ranked by the frequency you use it.

General steps from scratch

  • Build and launch: $ make all; python labelImg.py

  • Click 'Change default saved annotation folder' in Menu/File

  • Click 'Open Dir'

  • Click 'Create RectBox'

The annotation will be saved to the folder you specifiy

Hotkeys

  • Ctrl + r : Change the defult target dir which saving annotation files

  • Ctrl + n : Create a bounding box

  • Ctrl + s : Save

  • Right : Next image

  • Left : Previous image

Online image data mode

the server have to make the images in a folder that clint can get from http/https with get function

  • settings

open File -->RemoteDBSettings(ctrl+m) like that

the remote image list is a file contenting the name of the images (a line is a image) .

the image will be cached in a folder created in the software file named database/pics/XXXX and this will take a lot of memory if there are a lot of images,and this will be modified in the future.

open File -->ChangedDefaultSavedAnnotationDir(ctrl+r) to set the folder to save the results

  1. if your settings are right,you will find the Get Images button becomes enabled and click it ,then you can annotate the images as before

Change list

  • 18-08-19 py3 pyqt5 supported in the branch py3

  • 17-08-14 add class label function

Todo list

  • support pyqt5 and python 3
  • add more functions while adding parsing labels
  • refine the setting functions

How to contribute

Send a pull request

License

License