Skip to main content

LabelCraft - A modern graphical image annotation tool based on labelImg

Project description

LabelCraft - Modern Image Annotation Tool

.. image:: https://img.shields.io/pypi/v/labelcraft.svg :target: https://pypi.org/project/LabelCraft/ :alt: PyPI Version

.. image:: https://img.shields.io/pypi/pyversions/labelcraft.svg :target: https://pypi.org/project/LabelCraft/ :alt: Python Versions

.. image:: https://img.shields.io/github/license/syd168/LabelCraft.svg :target: https://github.com/syd168/LabelCraft/blob/master/LICENSE :alt: License

LabelCraft is a powerful and user-friendly graphical image annotation tool, enhanced from the popular labelImg project. It provides an intuitive interface for creating bounding box annotations for object detection and machine learning tasks.

✨ Key Features

  • Multiple Format Support: Export annotations in PASCAL VOC (XML), YOLO (TXT), CreateML (JSON), COCO (JSON), and CSV formats
  • Project Management: Create and manage annotation projects with organized directory structures
  • Smart Workflow: Pending queue system for efficient batch annotation
  • Multi-language Support: English, Simplified Chinese, Traditional Chinese, Japanese, German, French
  • Image Enhancement: Real-time brightness adjustment for better visibility
  • Flexible Navigation: Zoom, pan, and keyboard shortcuts for fast annotation
  • Predefined Classes: Load and manage custom class labels
  • Annotation Verification: Mark verified annotations for quality control
  • Dark/Light Mode: Automatic theme adaptation for comfortable viewing
  • Auto-save: Optional automatic saving when switching images
  • Cross-platform: Works on Windows, macOS, and Linux

🚀 Quick Start

Installation


Install via pip::

    pip install labelcraft

Or run from source::

    git clone https://github.com/syd168/LabelCraft.git
    cd LabelCraft
    pip install -r requirements.txt
    python main.py

Usage
~~~~~

Basic usage::

    labelcraft                              # Start without parameters
    labelcraft /path/to/images              # Open images from directory
    labelcraft --classes classes.txt        # Use custom class file
    labelcraft --save-dir ./output          # Set default save directory
    labelcraft --version                    # Show version

Command-line Options
  • image_dir: Directory containing images to annotate (optional)
  • --classes, -c: Path to predefined classes file
  • --save-dir, -s: Default directory to save annotations
  • --version, -v: Display program version

📖 Documentation

For detailed tutorials and documentation, visit:

  • GitHub Repository <https://github.com/syd168/LabelCraft>_
  • Installation Guide <https://github.com/syd168/LabelCraft/blob/master/doc/安装标注工具.md>_
  • Tutorial (English) <https://github.com/syd168/LabelCraft/blob/master/doc/tutorial.md>_
  • Tutorial (中文) <https://github.com/syd168/LabelCraft/blob/master/doc/tutorial_zh-CN.md>_

🛠️ Development

Requirements


- Python 3.8 or higher
- PySide6 >= 6.5.0
- lxml >= 4.9.0

Install dependencies::

    pip install pyside6>=6.5.0 lxml>=4.9.0

💡 Tips
------

- Press ``W`` to start drawing bounding boxes
- Use ``D`` and ``A`` to navigate between images
- Press ``Space`` to verify current annotation
- Use mouse wheel to zoom, drag to pan
- Adjust brightness with Ctrl+Shift+[/]

📄 License
---------

MIT License - See LICENSE file for details

🙏 Acknowledgments
-----------------

This project is based on the original `labelImg <https://github.com/tzutalin/labelImg>`_ by TzuTa Lin.

Note: This project is actively maintained and enhanced with modern features.


History

1.8.8 (2025-04-12)
------------------

* Fixed i18n: Added get_str() instance method for all dialogs
* Fixed export: Enhanced image path detection for YOLO and CSV formats
* Fixed export: Added SameFileError check when copying images
* Fixed project close: Auto-save current image annotation before closing
* Updated start scripts to English output for international users
* Improved README with pip installation guide
* Removed deprecated language files (fa-FA, de-DE)
* Enhanced annotation converter with multi-location image search

1.8.7 (2024-XX-XX)
------------------

* Based on labelImg project
* Added modern UI improvements
* Enhanced multi-language support
* Added brightness adjustment feature
* Improved annotation workflow
* Added GitHub Actions CI/CD

Note: This project is a fork and enhancement of the original labelImg project.
=======

1.8.6 (2024-XX-XX)
------------------

* Based on labelImg project
* Added modern UI improvements
* Enhanced multi-language support
* Added brightness adjustment feature
* Improved annotation workflow
* Added GitHub Actions CI/CD

Note: This project is a fork and enhancement of the original labelImg project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labelcraft-1.8.13.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

labelcraft-1.8.13-py2.py3-none-any.whl (1.5 MB view details)

Uploaded Python 2Python 3

File details

Details for the file labelcraft-1.8.13.tar.gz.

File metadata

  • Download URL: labelcraft-1.8.13.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for labelcraft-1.8.13.tar.gz
Algorithm Hash digest
SHA256 13c3912fe80ae24cc1ec3d9203af62bd218fb411ce50117921b8dd7ac2534635
MD5 5d2b3952830277df818294c4a921c45f
BLAKE2b-256 90831e79e16846c547f62ad40b510e71566f6cd8d25d81a38b8ae180b45868b2

See more details on using hashes here.

File details

Details for the file labelcraft-1.8.13-py2.py3-none-any.whl.

File metadata

  • Download URL: labelcraft-1.8.13-py2.py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for labelcraft-1.8.13-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bf240be524bf58de89a5c8933ae66c19385977fd41afe7f418e9f6b062eed595
MD5 0d4d343e425cec3e75e0dd3950caaf5a
BLAKE2b-256 0660394520cdacf36899bb99bad41d39f878f30c09966b120086a273b7af290b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page