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.4-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for zoom_select_image_component-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6e5081ae4d753035651f4ab9f422819592f32e7f584e0dabaab93f2642a54e00
MD5 718d521c4bec3614533b603e69f172ba
BLAKE2b-256 25cd1a7cb0f556d710e411a75864bd320dd18387db5a0dd5fc4c1dbd00dbe49b

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