gradio
gradio copied to clipboard
Can't trigger `.select()` function of `gr.Image`
Describe the bug
I created this code, And it worked for sometime, until today,at which point it broke, Where as before, hovering over an image displays an aiming crosshair, Now, the default cursor is visible instead, Any click does not get registered, and printing does not work, However, there is no crash, no error, no freezing as other function still works fine, Even the gradio demo for img.select() is broken
Have you searched existing issues? 🔎
- [X] I have searched and found no existing issues
Reproduction
import gradio as gr
import numpy as np
#from Modules import calcs
# Global list to store clicked points
clicked_points = []
def draw_circle_on_img(img, center, radius=10, color=[255, 0, 0]):
"""Draw a circle on the image with the given radius and color."""
y, x = center
height, width, _ = img.shape
rr, cc = np.ogrid[:height, :width]
dist = (rr - y) ** 2 + (cc - x) ** 2
mask = dist <= radius ** 2
img[mask] = color
return img
def get_click_coords(img, evt: gr.SelectData):
print("CLICKED")
global clicked_points
out = img.copy()
if len(clicked_points) < 5:
clicked_points.append((evt.index[0], evt.index[1]))
# Draw a circle around each clicked point
for x, y in clicked_points:
out = draw_circle_on_img(out, (y, x), radius=4, color=[0, 255, 255]) # Red color for circles
# Return the updated image for both input and output
return out,img
def reset(img):
print("RESET")
global clicked_points
clicked_points = []
return img, img
with gr.Blocks() as demo:
with gr.Row():
input_img = gr.Image(label="Input", type="numpy")
#output_img = gr.Image(label="Image with Clicks", type="numpy")
# Function to handle click events and update both images
input_img.select(get_click_coords, [input_img], [input_img, input_img])
input_img.upload(reset, [input_img], [input_img, input_img])
if __name__ == "__main__":
demo.launch()
Screenshot
No response
Logs
None
System Info
Gradio Environment Information:
------------------------------
Operating System: Windows
gradio version: 4.42.0
gradio_client version: 1.3.0
------------------------------------------------
gradio dependencies in your environment:
aiofiles: 23.2.1
anyio: 4.4.0
fastapi: 0.112.1
ffmpy: 0.4.0
gradio-client==1.3.0 is not installed.
httpx: 0.27.0
huggingface-hub: 0.24.6
importlib-resources: 6.4.4
jinja2: 3.1.4
markupsafe: 2.1.5
matplotlib: 3.9.2
numpy: 2.1.0
orjson: 3.10.7
packaging: 24.1
pandas: 2.2.2
pillow: 10.4.0
pydantic: 2.8.2
pydub: 0.25.1
python-multipart: 0.0.9
pyyaml: 6.0.2
ruff: 0.6.2
semantic-version: 2.10.0
tomlkit==0.12.0 is not installed.
typer: 0.12.4
typing-extensions: 4.12.2
urllib3: 2.2.2
uvicorn: 0.30.6
authlib; extra == 'oauth' is not installed.
itsdangerous; extra == 'oauth' is not installed.
gradio_client dependencies in your environment:
fsspec: 2024.6.1
httpx: 0.27.0
huggingface-hub: 0.24.6
packaging: 24.1
typing-extensions: 4.12.2
websockets: 12.0
Severity
Blocking usage of gradio