Skip to main content

A tool for annotating images with polygons and rectangles, supporting multi-dimensional images

Project description

DigitalSreeni Image Annotator

Python Version License PyPI version

A powerful and user-friendly tool for annotating images with polygons and rectangles, built with PyQt5.

DigitalSreeni Image Annotator Demo

@DigitalSreeni Dr. Sreenivas Bhattiprolu

Features

  • Load and annotate images with polygons and rectangles
  • Save annotations in COCO-compatible JSON format
  • Edit existing annotations
  • Zoom and pan functionality for detailed annotations
  • Support for multiple classes with customizable colors
  • Import and export annotations
  • User-friendly interface with intuitive controls

Installation

You can install the DigitalSreeni Image Annotator directly from PyPI:

pip install digitalsreeni-image-annotator

Important: PyQt5 Requirement

This application requires PyQt5 version 5.15.7 or higher. If you encounter any issues related to PyQt5, you may need to install or upgrade it separately:

pip install PyQt5>=5.15.7

If you're using an older version of PyQt5, please upgrade to ensure compatibility:

pip install --upgrade PyQt5>=5.15.7

On some systems, especially Linux, you might need to install additional system packages. For example, on Ubuntu or Debian:

sudo apt-get install python3-pyqt5

Note that the system package manager might not always provide the latest version. In such cases, using pip as shown above is recommended.

For other operating systems or if you encounter any issues, please refer to the PyQt5 documentation.

Usage

  1. Run the DigitalSreeni Image Annotator application:

    digitalsreeni-image-annotator
    

    or

    python -m digitalsreeni_image_annotator.main
    
  2. Using the application:

    • Click "Open New Image Set" to load a new set of images from your computer.
    • Use "Add More Images" to append images to the current set.
    • Add classes using the "Add Class" button.
    • Select a class and use the Polygon or Rectangle tool to create annotations.
    • Edit existing annotations by double-clicking on them.
    • Save your annotations using the "Save Annotations" button.
    • Use "Import Saved Annotations" to load previously created annotations.
    • Access the help documentation by clicking the "Help" button.
  3. Keyboard shortcuts:

    • Use the mouse wheel or trackpad to zoom in/out
    • Hold Ctrl and drag to pan the image
    • Press 'Esc' to cancel the current annotation
    • Press 'Enter' to finish the current polygon annotation

Development

For development purposes, you can clone the repository and install it in editable mode:

  1. Clone the repository:

    git clone https://github.com/bnsreenu/digitalsreeni-image-annotator.git
    cd digitalsreeni-image-annotator
    
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
    
  3. Install the package and its dependencies in editable mode:

    pip install -e .
    

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Thanks to all my YouTube subscribers who inspired me to work on this project
  • Inspired by the need for efficient image annotation in computer vision tasks

Contact

Dr. Sreenivas Bhattiprolu - @DigitalSreeni

Project Link: https://github.com/bnsreenu/digitalsreeni-image-annotator

Citing

If you use this software in your research, please cite it as follows:

Bhattiprolu, S. (2024). DigitalSreeni Image Annotator [Computer software]. https://github.com/bnsreenu/digitalsreeni-image-annotator

@software{digitalsreeni_image_annotator,
  author = {Bhattiprolu, Sreenivas},
  title = {DigitalSreeni Image Annotator},
  year = {2024},
  url = {https://github.com/bnsreenu/digitalsreeni-image-annotator}
}

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

digitalsreeni_image_annotator-0.2.0.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file digitalsreeni_image_annotator-0.2.0.tar.gz.

File metadata

File hashes

Hashes for digitalsreeni_image_annotator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 291a32cd15757c0747b826038c7ea1ee30a7282801b03ccba2c6236b431f1b22
MD5 fe688f3b26f67dba462bc666b20a5ebd
BLAKE2b-256 53df976a04e13a1db126ed8c6821541e383f9fdded8b5dd43d0b1acd464c0480

See more details on using hashes here.

File details

Details for the file digitalsreeni_image_annotator-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for digitalsreeni_image_annotator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61577b8426a501ee30f8b4fc73afb6d68178885913963cc461b617749911abdc
MD5 eeb64c4cf8582e5b412384cd50d51e71
BLAKE2b-256 fe834cab4f1dd939de76902aac6e2a7c5dc8e2a19c1a0ecdc80b249d7eaac70d

See more details on using hashes here.

Supported by

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