Skip to main content

LabelCraft - A modern graphical image annotation tool based on labelImg

Project description

LabelCraft - Modern Image Annotation Tool

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.14.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.14-py2.py3-none-any.whl (1.5 MB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: labelcraft-1.8.14.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.14.tar.gz
Algorithm Hash digest
SHA256 259f0bd67f751608f6002e977faf58770fd9db8bdea7a24822863971ac2fa91c
MD5 e79bfe243c220851aecf6ecbe530423d
BLAKE2b-256 86c269acb16c1328ab4ca9f8321f5536f161079521f0ca3b2cf0ead2a681bad9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: labelcraft-1.8.14-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.14-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4303e5ed3c39f1427f9f9d9db200f18c56383034892b2a1489711df11da46f23
MD5 8dc491f1807c405fba7bbc588332acf7
BLAKE2b-256 9357f3e3b31eb4d0588c5b8f4eba9e92994508857f3f0e9d0b8222fb7d21dfe6

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