Skip to main content

Generate scribble annotations from segmentation masks

Project description

Scribble From Segmentation

Generate scribble annotations or filled bounding boxes from segmentation masks using image processing techniques.

Overview

This tool converts segmentation masks into scribble annotations by applying morphological operations. It's useful for creating weak supervision labels or simplifying segmentation annotations for training purposes.

The tool:

  • Processes segmentation masks and extracts individual classes
  • Automatically detects and skips background classes
  • Applies morphological operations to refine class boundaries
  • Skeletonizes regions to create scribble-like annotations
  • Can generate filled bounding boxes for each object
  • Preserves the original color information for each class

Installation

Install from PyPI:

pip install scribble-from-segmentation

Or install from source:

pip install -e .

Usage

Use the command-line interface to process segmentation masks:

scribble-from-segmentation --input_dir /path/to/segmentation/masks --output_dir /path/to/output/scribbles

Arguments

  • --input_dir (required): Path to directory containing segmentation mask images
  • --output_dir (required): Path to directory where scribble annotations will be saved
  • --mode (optional): Annotation mode, scribbles (default) or bounding_boxes

Supported Image Formats

  • PNG
  • JPG/JPEG
  • GIF
  • BMP
  • TIF

Python API

You can also use the tool directly in your Python code:

from scribble_from_segmentation import generate_scribbles_from_segmentations

# Generate scribbles from segmentation masks
generate_scribbles_from_segmentations(
    input_dir="/path/to/segmentation/masks",
    output_dir="/path/to/output/scribbles"
)

# Generate bounding boxes from segmentation masks
generate_scribbles_from_segmentations(
    input_dir="/path/to/segmentation/masks",
    output_dir="/path/to/output/bboxes",
    mode="bounding_boxes"
)

Requirements

  • Python >= 3.8
  • numpy
  • opencv-python
  • Pillow
  • scikit-image

License

MIT License

Author

Alex Senden

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

scribble_from_segmentation-0.2.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

scribble_from_segmentation-0.2.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for scribble_from_segmentation-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e3923d232662f09aedcaf93c8027fea1dbe737458166d6d926fe730ccde37c22
MD5 f236927d011f6dbb380a9863464f1027
BLAKE2b-256 b6d9f7f42b163db09a09d6b55721bae67da3ae6bd039a4c1d61728bb28ee8204

See more details on using hashes here.

Provenance

The following attestation bundles were made for scribble_from_segmentation-0.2.0.tar.gz:

Publisher: pypi-publish.yml on alexsenden/scribble-from-segmentation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for scribble_from_segmentation-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 381691895ca887c1ca591f4be89392210e17c7f3b7e539cdf34d3ec70b15883c
MD5 d88173c74626ac492a6c8920578c704d
BLAKE2b-256 c8547a9af48e947693691b7f72db96b3bd48eb686a058d2d4a382cec80c4e013

See more details on using hashes here.

Provenance

The following attestation bundles were made for scribble_from_segmentation-0.2.0-py3-none-any.whl:

Publisher: pypi-publish.yml on alexsenden/scribble-from-segmentation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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