andfanilo/streamlit-drawable-canvas
Do you like Quick, Draw? Well what if you could train/predict doodles drawn inside Streamlit? Also draws lines, circles and boxes over background images for annotation.
解决的问题
提供一种将交互式绘图画布集成到 Streamlit 应用中的方法,使用户可以直接在 Web 应用中绘制、注释和操作图形,而无需从零开始构建自定义前端组件。
工作原理
基于 Fabric.js 构建为 Streamlit 组件,它在浏览器中渲染一个支持多种绘图模式(自由绘图、线条、矩形、圆形、多边形和文本)的画布。可使用背景图像或颜色进行初始化,并将生成的图像数据(作为 numpy 数组)或对象属性(作为 JSON)返回到 Streamlit 后端以进行进一步处理。
适用人群
需要用户视觉输入的 Streamlit 应用开发者,例如图像标注工具、绘图界面或简单的图形编辑器。
主要亮点
- 多种绘图模式:支持自由绘图、点、线条、矩形、圆形、多边形和文本。
- 对象操作:允许用户旋转、倾斜、缩放和移动画布上已放置的对象。
- 数据集成:将原始图像数据和每个绘制对象的详细 JSON 属性返回到 Python 后端。
- 标注支持:包含专门的
labeled_rect模式,用于创建带标签的边界框。 - 可自定义背景:支持背景图像,并提供拉伸或包含两种方式来适配。
相关
- 项目
- 项目
- 项目
- 项目