我正在用gradio制作自己的边界框编辑器,并成功使用canvas用编写的JS和HTML代码制作了一些,但现在我需要从JS传递信息,其中绘制框并将其保存到gr.Dataframe,我该怎么做它?
import gradio as gr
js_script = """
const values = [
{
"x_min": 115,
"y_min": 24,
"x_max": 329,
"y_max": 61
},
{
"x_min": 51,
"y_min": 60,
"x_max": 363,
"y_max": 105
},
{
"x_min": 120,
"y_min": 107,
"x_max": 277,
"y_max": 135
}
];
"""
with gr.Blocks(js=js_script) as demo:
bounding_box_editor = gr.HTML()
boxes_list = gr.Dataframe(headers=["x_min", "y_min", "x_max", "y_max"], datatype=["number", "number", "number", "number"], interactive=False, col_count=(4, 'fixed'))
demo.launch(share=False)
附注如果已经有一个好的边界框抽屉和编辑器的解决方案(具有绘图、删除、调整大小选项)-我将不胜感激一个链接
gradio 的创建者回答说:“使用这种方法实际上不可能,但 gradio 自定义组件旨在解决这个确切的用例。https://www.gradio.app/guides/custom-components-in- Five-分钟”
所以,我会尝试在那里做