Skip to main content

A tool for annotating images with polygons and rectangles

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 Screenshot

@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 contributors who have helped shape 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.1.5.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file digitalsreeni-image-annotator-0.1.5.tar.gz.

File metadata

File hashes

Hashes for digitalsreeni-image-annotator-0.1.5.tar.gz
Algorithm Hash digest
SHA256 f7a60fb8bab84672707fe8058216117214e6cb6b240d7581cd4ed62f78f51b1b
MD5 7842d2c02eb7d1db35cd8abe2b80d4de
BLAKE2b-256 8bc6f0212802c92c09b75cc2e62944d4dc7671385e007326a58ed00dac2a69d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for digitalsreeni_image_annotator-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 34fc3a90116f135e981653cb1568b19b64ed71d1dd342ce339b16a2d204e1178
MD5 c98804568e405859b3b4490e3837a11e
BLAKE2b-256 a37d5adb6f95d59240d8260fdde97ef83fc37bd2c3528b76c803c7a6ad92ae91

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