Skip to content

About

视觉工作流框架

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

VisionFlowFramework

基于 WPF、.NET 10、MVVM 的模块化视觉流程框架原型。

当前能力

  • WPF 深色工业软件风格主界面
  • 左侧模块工具箱
  • 中间流程节点卡片区
  • 右侧属性面板
  • 中间实时图像显示区
  • 底部输出日志和变量监视
  • 模块化节点注册机制
  • 系统节点:写日志、写入变量、条件判断、For 循环、并行执行
  • 视觉节点:DEBUG 采集图像、DEBUG 视觉检测、显示图像
  • DEBUG 模拟相机和模拟视觉算法
  • DEBUG 相机生成真实 BGRA32 像素图
  • DEBUG 检测结果支持检测框、文字、十字线等 Overlay
  • WPF 图像区显示真实 Bitmap 并叠加检测结果
  • 初版流程执行引擎
  • 工具箱点击添加节点,也支持拖拽添加到流程或控制节点子流程
  • 已有节点支持拖拽重排、拖入/拖出控制节点
  • 顶层和子节点均支持删除、复制、上移、下移
  • 子节点使用递归节点卡片模板完整显示
  • 控制节点可添加子节点,形成可编辑子流程
  • 节点显示名和参数编辑
  • 流程 JSON 保存 / 加载
  • ViewModel 已按职责拆分
  • DEBUG 示例流程已抽出工厂
  • 节点编辑逻辑已抽出服务
  • 图像显示刷新已抽出 Presenter
  • FlowExecutor 返回明确执行结果
  • 统一节点执行入口,控制流子节点也能进入执行管线
  • 节点执行高亮、成功/失败状态显示
  • 断点、暂停、继续、单步基础调试能力
  • 运行中禁用结构编辑,避免修改正在执行的流程
  • 持久化、DEBUG 图像、执行器和调试执行单元测试

项目结构

src/
  VisionFlow.App                  WPF 主程序
    DesignTime/                   DEBUG 示例流程工厂
    Imaging/                      图像转换和显示 Presenter
    Behaviors/                    WPF 拖拽附加行为
    DragDrop/                     拖拽数据模型
    Resources/                    WPF 主题资源和递归节点卡片模板
    Services/                     支持任意层级和跨容器移动的节点编辑服务
    ViewModels/                   拆分后的 MVVM ViewModel
  VisionFlow.Core                 流程核心抽象
  VisionFlow.Mvvm                 MVVM 基础设施
  VisionFlow.Modules.Abstractions 模块、视觉接口、图像帧和 Overlay 抽象
  VisionFlow.Modules.System       系统节点
  VisionFlow.Modules.Vision       视觉节点
  VisionFlow.Runtime              流程执行引擎
  VisionFlow.Debugging            DEBUG 模拟视觉运行时
  VisionFlow.Persistence          JSON 保存 / 加载
tests/
  VisionFlow.Core.Tests           xUnit 测试

构建

dotnet build VisionFlowFramework.slnx

测试

dotnet test VisionFlowFramework.slnx

运行

dotnet run --project src/VisionFlow.App/VisionFlow.App.csproj

启动后可以:

  1. 点击左侧工具箱节点,把节点追加到主流程,也可以拖拽工具箱节点到流程区。
  2. 在中间流程区域选择顶层节点或子节点。
  3. 使用节点卡片上的“+子 / ↑ / ↓ / 复制 / 删除”调整流程和子流程,也可以拖拽已有节点调整顺序或移动到控制节点子流程。
  4. 在右侧属性面板编辑当前选中节点的显示名和参数。
  5. 点击“运行”执行当前流程,当前节点会高亮。
  6. 点击节点左侧的红点按钮设置/取消断点。
  7. 命中断点后可点击“继续”或“单步”。
  8. 图像区会显示 DEBUG 相机生成的真实图像,并叠加检测框、OK/NG、Score 等结果。
  9. 使用“文件 -> 保存流程...”保存为 *.vflow.json。
  10. 使用“文件 -> 加载流程...”恢复流程。

当前限制

  • 目前是卡片式流程编辑器,不是自由画布。
  • 当前支持第一版拖拽编辑,但暂未做插入线、拖拽预览 Ghost、自动滚动、多选拖拽和撤销/重做。
  • 子节点嵌套目前建议用于控制节点,普通节点虽然模型可包含 Children,但运行语义不建议这样使用。
  • 图像显示区支持固定 640x360 映射,暂未做任意缩放/平移。
  • Overlay 坐标按固定显示区域缩放,后续可升级为动态适配。
  • 暂未做 ROI 编辑、图像保存、历史帧、多相机显示。
  • 当前调试为基础版,暂未做条件断点、断点持久化、Step Into / Step Over 区分、调试时间线。
  • 并行节点的复杂调试仲裁后续还需要继续增强。

About

视觉工作流框架

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages