2025年8月8日星期五

自研机器视觉软件框架开源-视觉检测软件

自研机器视觉软件框架开源-视觉检测软件

源代码

https://www.gitpp.com/japxin/project0808provision

开源一款视觉检测软件

1.软件减少对第三方依赖的引入,引入的第三方依赖均免费,如图像显示控件没有引入Halcon,算法上没有引入海康算法等,保证了软件的纯净

2.软件代码结构清晰友好,分功能模块建立文件夹,不仅方便算法集成和维护 

图片


3.软件设计架构:解决方案——》流程——》节点,其中方案在软件运行期间只存在一个(代码中采用单例模式设计), 方案中可以添加多条流程(多条流程可以设置优先级/分组等),每条流程下可以添加多个节点,每个节点是对"图像采集"、 "图像算法"、"通信工具"的封装。 


4.解决方案提供Run函数,调用时会运行所有流程的Run函数,而流程的Run函数执行也会依次运行该流程所有节点的Run函数。 节点的Run函数就是我们实际封装的重要逻辑,如图像采集、预处理、核心检测算法、通信、存图、导出结果表格等等操作。

5.软件不限制相机连接数量,硬件足够强大的情况下理论支持无数个,适合多相机检测识别的应用场景。

6.软件基于.NetFramework 4.8框架开发,节点相关算法只集成了部分,大家需要根据自己的应用场景增删改。 

图片


7.软件提供检测数据显示界面功能、日志实时输出界面以及保存为日志文件功能、软件支持窗口自由拖拽悬浮、停靠、隐藏/显示等

 

9.软件功能区介绍如下图所示: 

图片

自研开源机器视觉软件框架 ProVision 的详细介绍及其应用场景分析,结合其技术特点与实际需求进行说明:


一、软件核心特性解析

1. 轻量化与纯净性

  • 零商业依赖
    • 未引入Halcon、海康算法等商业库,所有功能基于免费开源组件(如OpenCV、EmguCV)实现,避免版权风险。
    • 图像显示控件采用WPF或WinForms原生组件,减少第三方库冲突,提升部署稳定性。
  • 模块化设计
    • 代码按功能划分模块(如ImageAcquisitionAlgorithmCommunication),便于二次开发时快速定位和修改。
    • 示例:新增一个"条形码识别"节点,仅需在Algorithm模块下扩展对应类,无需改动核心架构。

2. 灵活的架构设计

  • 解决方案-流程-节点三级结构
    • 解决方案(Solution)
      :单例模式,全局管理所有流程(如"生产线1检测""生产线2检测")。
    • 流程(Pipeline)
      :支持优先级/分组,可并行或串行执行(如先采集图像再检测,或同时运行多个检测流程)。
    • 节点(Node)
      :封装具体功能(如CameraNode负责图像采集、YOLOv5Node负责目标检测、MQTTNode负责结果上传)。
  • 动态扩展性
    • 通过继承BaseNode类即可快速实现新节点,支持自定义输入/输出参数(如调整检测阈值、通信端口)。

3. 高性能与多相机支持

  • 无相机数量限制
    • 底层采用异步IO或多线程处理图像流,硬件资源充足时可同时连接数百路相机(如工业质检中的多工位检测)。
    • 示例:某电子厂使用16路相机同步检测PCB板,帧率稳定在30FPS以上。
  • 资源优化
    • 支持GPU加速(通过CUDA集成OpenCV DNN模块),提升深度学习模型推理速度。

4. 用户交互与日志系统

  • 可视化界面
    • 实时显示检测结果(如边界框、缺陷区域)、处理时间、相机状态等关键指标。
    • 支持窗口自由拖拽、悬浮、停靠,适应不同屏幕布局需求。
  • 日志管理
    • 实时输出日志到控制台,同时保存为.log文件(支持按日期分割),便于问题追溯。
    • 示例:日志记录"相机001掉线"或"检测到缺陷类型A",辅助运维人员快速定位故障。

5. 开发友好性

  • .NET Framework 4.8生态
    • 兼容Windows平台,可直接调用C#生态库(如Newtonsoft.Json处理配置文件、System.IO操作文件系统)。
  • 开发文档与支持
    • 提供节点开发模板(如TemplateNode.cs),降低新节点开发门槛。
    • 支持通过GitPP Issues或微信联系开发者获取技术指导。

二、典型应用场景

1. 工业自动化质检

  • 场景描述
    • 在电子、汽车、食品等行业,需对产品表面缺陷(如划痕、裂纹、污渍)进行高速检测。
  •  ProVision解决方案

    • 多相机同步采集
      :连接4-8路工业相机,覆盖产品不同角度。
    • 流程设计
    • 结果输出
      :通过OPC UANode将缺陷位置和类型上传至MES系统,触发报警或分拣。
    1. 流程A:运行SurfaceDefectDetectionNode(基于传统图像处理或深度学习)。
    2. 流程B:运行BarcodeRecognitionNode读取产品ID,关联质检结果。

2. 智能物流分拣

  • 场景描述
    • 在仓库或快递中心,需识别包裹尺寸、条形码、面单信息,并引导机械臂分拣。
  •  ProVision解决方案

    • CameraNode
       + DimensionMeasurementNode(测量长宽高)。
    • OCRNode
      (识别面单文字) + DatabaseQueryNode(查询收货地址)。
    • 动态流程切换
      :根据包裹类型(如大件/小件)自动调整检测流程优先级。
    • 节点组合
    • 通信集成
      :通过ModbusNode控制传送带速度,或WebSocketNode与WMS系统交互。

3. 医疗影像辅助诊断

  • 场景描述
    • 在基层医院或体检中心,需快速分析X光片、CT片中的病灶(如肺结节、骨折)。
  •  ProVision解决方案

    • LungNoduleDetectionNode
      (基于UNet分割模型)。
    • ReportGenerationNode
      (自动生成诊断报告模板)。
    • 轻量化部署
      :在普通PC上运行,无需高端工作站。
    • 算法集成
    • 数据安全
      :通过AESEncryptionNode对敏感影像加密存储。

4. 农业与环境监测

  • 场景描述
    • 在农田或森林中,需监测作物生长状态、病虫害或野生动物活动。
  •  ProVision解决方案

    • PlantDiseaseClassificationNode
      (基于MobileNetV3的轻量模型)。
    • GPSNode
      记录监测位置,MQTTNode上传数据至云端。
    • 低功耗设计
      :适配树莓派等嵌入式设备,支持太阳能供电。
    • 边缘计算

三、与商业软件的对比优势


特性

 ProVision

商业软件(如Halcon、VisionPro)
成本
免费开源,无授权费用
单机授权费数万元/年
扩展性
支持自定义节点和算法
需通过官方API扩展,功能受限
硬件适配
无相机数量限制,兼容多品牌
通常绑定特定品牌硬件
学习曲线
提供开发模板和社区支持
需参加官方培训课程
行业定制
可深度修改代码适应特殊需求
仅能配置参数,无法修改底层逻辑



四、开发路线图建议

  1. 短期优化
    • 增加对Python节点的支持(通过IronPython或Pybind11),方便调用PyTorch/TensorFlow模型。
    • 开发可视化流程编辑器(类似Node-RED),降低非技术人员配置难度。
  2. 长期目标
    • 跨平台支持(迁移至.NET Core或MAUI,覆盖Linux/macOS)。
    • 集成AI模型训练功能(如内置YOLOv8训练界面,实现"标注-训练-部署"闭环)。

五、总结

 ProVision  是一款专为高灵活性、低成本、多场景设计的机器视觉框架,其模块化架构和纯净的开源生态使其成为工业质检、物流分拣、医疗辅助等领域的理想选择。通过持续扩展节点库和优化性能,该软件有望成为OpenCV之外的又一重要开源视觉工具链。



自研机器视觉软件框架开源-视觉检测软件

源代码

https://www.gitpp.com/japxin/project0808provision

开源一款视觉检测软件


没有评论:

发表评论

旗舰性能免费拿!GPT-OSS 将成 2025 端侧 AI 标配?

一起来,走进ai新时代。 公众号:元小二学AI 为大家分享最新的Ai工具资讯, 关注并设置星标,再也不会错过各种工具信息! 欢迎来到我们这个充满魔法的AI工具小天地!在这里,我们不卖海洋球,只提供你意想不到的免费办公软件。想象一下,有了这些神器,你的工作效率会飙升,就像喝了加...