File size: 1,669 Bytes
df20613 beb3e34 b73b4e1 df20613 8cc7c1a 26b8b00 31b5ef1 8cc7c1a 26b8b00 42bc3b0 26b8b00 42bc3b0 26b8b00 d3c262e d96d68b d3c262e 26b8b00 b2b0a36 b17cf1a b2b0a36 b8c5434 b2b0a36 8cc7c1a 854f030 8d2a799 df5841e beb3e34 df5841e beb3e34 854f030 df5841e 854f030 df5841e 854f030 df5841e aca188e df5841e aca188e df5841e b2b0a36 8cc7c1a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
import streamlit as st
from PIL import Image, ImageDraw
from streamlit_image_coordinates import streamlit_image_coordinates
import numpy as np
from datasets import load_dataset
ds = load_dataset("Circularmachines/batch_indexing_machine_100_small_imgs", split="train")
#st.set_page_config(
# page_title="Streamlit Image Coordinates: Image Update",
# page_icon="🎯",
# layout="wide",
#)
#"# :dart: Streamlit Image Coordinates: Image Update"
#if "points" not in st.session_state:
st.session_state["points"] = []
#st.session_state["img"] = 0
#"## Click on image"
r=0#np.random.randint(100)
current_image=ds[r]['image']
def button_click():
r=np.random.randint(100)
current_image=ds[r]['image']
#st.write(str(r))
st.session_state["points"] = []
value = streamlit_image_coordinates(current_image, key="pil")
draw = ImageDraw.Draw(current_image)
def get_ellipse_coords(point):# tuple[int, int]) -> tuple[int, int, int, int]):
center = point
radius = 16
return (
center[0] - radius,
center[1] - radius,
center[0] + radius,
center[1] + radius,
)
# Draw an ellipse at each coordinate in points
for point in st.session_state["points"]:
coords = get_ellipse_coords(point)
draw.rectangle(coords, outline="green",width=2)
value = streamlit_image_coordinates(current_image, key="pil")
if value is not None:
point = value["x"], value["y"]
if point not in st.session_state["points"]:
st.session_state["points"]=[point]
st.experimental_rerun()
st.button('Random frame', on_click=button_click)
st.write(str(r))
#else:
# st.write('Gohuhuhubye') |