Skip to main content

Streamlit component that allows you to do zoom and select parts of an image.

Project description

zoom-select-image-component

Streamlit component that allows you to select parts of an image by panning and zooming.

Installation instructions

pip install zoom-select-image-component

Usage instructions

import streamlit as st

from PIL import Image
from zoom_select_image_component import zoom_select_image_component

image = Image.open('image.png')
rectangles = zoom_select_image_component(image)

The variable rectangles will contain an array of selected rectangles. Each rectangle is a dictionary with the following keys:

left: int                   # number of horizontal pixels from top left corner of image to top left corner of rectangle
top: int                    # number of vertical pixels from top left corner of image to top left corner of rectangle
width: int                  # width of rectangle in pixels
height: int                 # height of rectangle in pixels
is_enabled: bool            # whether the checkbox in the rectangle is checked or not
cropped_image: PIL.Image    # the part of the image covered by this rectangle

Look at the files zoom_select_image_component/example.py and zoom_select_image_component/example_sa.py for complete usage examples. The latter file runs the segment anything model on the selected parts of the image.

Development instructions

Set _RELEASE = False in __init__.py. Enter zoom_select_image_component/frontend and run npm update followed by npm run start. In another terminal window, create a virtual environment by running python -m venv venv. Run . venv/bin/activate and run pip install -e . to install this component as a local package. Run streamlit run zoom_select_image_component/example.py.

Deployment instructions

Set _RELEASE = True in __init__.py. Run npm run build in zoom_select_image_component/frontend. Create a Python wheel by running pip wheel --no-deps -w dist . in the root directory. Upload to pypi using python -m twine upload --repository pypi dist/*.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

zoom_select_image_component-0.0.3-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file zoom_select_image_component-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for zoom_select_image_component-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 313c738ad74e1aaed3300baddc6c92245230cdae0bd74769bd0b2b949308ff02
MD5 1fcf5f5ea72c27d3e8c44db3b822bbaa
BLAKE2b-256 131d00973d4686080a1cb60aff20802d2a6125035d9bfae67c5f21cd2b249497

See more details on using hashes here.

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