Skip to main content

jupyter-paint-segment

Overview

A jupyter widget for interactive drawing segmentation masks.

Brush, rectangle and eraser tools are available. Size of brush and eraser can be changed using slider.


Installation

pip install jupyter_paint_segment

requires: python >= 3.9


Usage

Demo notebook: ./examples/main.ipynb

  1. Load image into numpy array:
# with PIL: 
from PIL import Image
import numpy as np
pilImage = Image.open("./examples/images/sheeps.png")
image = np.array(pilImage)

# or with opencv:
import cv2 as cv
image_bgr = cv.imread("./examples/images/sheeps.png")
image = cv.cvtColor(image_bgr, cv.COLOR_BGR2RGB)
  1. Define labels and colors (optionally) and create widget:
from jupyter_paint_segment import SegmentWidget

widget = SegmentWidget(
    image=image,
    labels=["sheep", "dog"],
    colors=["red", "blue"],
    image_scale=1,
)
widget
  1. Get segmentation results:
labels_array, labels_map = widget.segmentation_result()

labels_map
# {'sheep': 1, 'dog': 2, 'unlabeled_background': 0}
labels_array
# array([[0, 0, 0, ..., 0, 0, 0],
#        [0, 0, 0, ..., 0, 0, 0],
#        [0, 0, 0, ..., 0, 0, 0],
#        ...,
#        [0, 0, 0, ..., 0, 0, 0],
#        [0, 0, 0, ..., 0, 0, 0],
#        [0, 0, 0, ..., 0, 0, 0]])
import matplotlib.pyplot as plt

plt.imshow(labels_array)


Related projects

This project was highly inspired by jupyter-bbox-widget.


License

This project is licensed under the MIT license.


Metadata

Release files for jupyter_paint_segment 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyter_paint_segment 0.1.0
File Size Uploaded
jupyter_paint_segment-0.1.0.tar.gz 13.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyter_paint_segment 0.1.0
File Interpreter ABI Platform
jupyter_paint_segment-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.1 kB

Release files / jupyter_paint_segment-0.1.0.tar.gz

Download URL jupyter_paint_segment-0.1.0.tar.gz
Size 13.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9a9dcc9774f848b301eeaafb122c8aaf4a90a5cabb3f6ab1d6a0933b3571109f
BLAKE2b-256 checksum
How to use checksums
6032118a465e110f58aaa8c34c920d76f52ae176ca2bbe0a216688e2883a9163
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.4 CPython/3.8.10 Linux/5.15.167.4-microsoft-standard-WSL2

Release files / jupyter_paint_segment-0.1.0-py3-none-any.whl

Download URL jupyter_paint_segment-0.1.0-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a0f768adf48e758e18b0100cb6eae648af0ba203b90a66eb93dd07cc3b8ec21a
BLAKE2b-256 checksum
How to use checksums
989cada534246e07734ae2eac97335f54305aea4ac6c38bbf3bc346a3cf2955f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.4 CPython/3.8.10 Linux/5.15.167.4-microsoft-standard-WSL2

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page