streamlit在图片中选坐标
时间: 2023-10-06 17:11:12 浏览: 227
要在图片中选择坐标,您可以使用Streamlit的`st.image()`函数来显示图像,并使用`st.beta_columns()`函数创建两列,在左列中显示图像,在右列中显示选择的坐标。您可以使用鼠标点击图像来选择坐标,然后将其显示在右侧列中。
以下是一个简单的示例代码:
```
import streamlit as st
# 加载图像
image = Image.open('example.png')
# 显示图像
st.image(image, use_column_width=True)
# 创建两列布局
col1, col2 = st.beta_columns(2)
# 在第一个列中显示图像
with col1:
st.image(image, use_column_width=True)
# 在第二个列中显示选择的坐标
with col2:
# 点击图像时触发的回调函数
def on_click(x, y):
st.write(f'坐标: ({x}, {y})')
# 显示图像,并将回调函数与图像绑定
st_image = st.image(image, use_column_width=True)
st_image._update_layout_callback(on_click=on_click, kwargs={})
```
在这个例子中,我们首先使用`Image.open()`函数加载图像,并使用`st.image()`函数显示它。然后,我们使用`st.beta_columns()`函数创建两个列,并在左侧列中再次显示图像。在右侧列中,我们使用一个回调函数来获取用户在图像上点击的坐标,然后将这些坐标显示出来。最后,我们将回调函数与图像绑定,以便在用户单击图像时触发它。
阅读全文