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.7.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for digitalsreeni_image_annotator-0.1.7.tar.gz
Algorithm Hash digest
SHA256 8be0ac897b9614e1bf78550ffa3a2bfc96cdb344112adaa53f427a91462e6c97
MD5 32b34704bd33f11e635547ba8ee36dbb
BLAKE2b-256 154ccb4d665f2afca4804d0c01c2e147f3d47e1653381f842392e7ba8e6c34f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for digitalsreeni_image_annotator-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 26102cb8536fe5cd8e4567061095e20706db7de2fa42aefe8cd1bec6ed9a524f
MD5 f9e02a75dc2a0f2c0a872062f121666f
BLAKE2b-256 70dab5db369cc9d35567cd64472768255fce63bf6d98d155b9c4a37e0a41355b

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