流程图拖拽视觉编程--概述

news2024/11/13 15:20:28

       一般的机器视觉平台采用纯代码的编程方式,如opencv、halcon,使用门槛高、难度大、定制性强、开发周期长,因此迫切需要一个低代码开发的视觉应用平台。AOI缺陷检测的对象往往缺陷种类多,将常用的图像处理算子封装成图形节点,如抓直线、抓圆、模板匹配等,在软件上自由组合完成对缺陷的判断将大大提高效率。目前我接触到的通过流程图拖拽的方式搭建视觉应用的软件有Vision Master、Smart3、VisionTool等,下面将简单介绍下:

VisionMaster介绍

Vision Master封装了千余种海康自主开发的图像处理算子,形成了强大的视觉分析工具库,无需编程,通过简单灵活的配置,便可快速构建机器视觉应用系统。该软件平台功能丰富、 性能稳定可靠,用户操作界面友好,能够满足视觉定位、测量、检测和识别等视觉应用需求。

 

Smart3介绍

Smart3 智能视觉系统是一款简单易用、功能齐全、性能稳定的智能型视觉软件系统。Smart3 智能视觉软件由 OPT 公司自主研发,集成图像工具箱、定位工具箱、测量工具箱、检测工具箱、识别工具箱、通讯设置工具箱、其他工具箱和 3D 工具箱等一系列图像处理功能。支持市面上可见的绝大多数相机品牌,支持 GeniCam 协议。并支持串口、TCP 等多种通讯模式及主流的通讯协议,能够方便的与各品牌运动控制设备建立数据交互。Smart3 智能视觉系统采用图形编辑代替了代码编写,从而实现检测项目的快速开发。流程与事件触发机制的组合,能够便捷的实现大部分视觉检测项目。基于异构计算加速技术,使图像分析速度全面提升。该系统还支持在线调试功能,使应用项目能够在不停产停机的情况下,快速调整视觉参数设定以获取最优检测效果。智能视觉系统还支持用户基于自定义需求的二次开发。并基于COM 和.NET 接口技术,增加了对 VB,C#,C++多种编程语言的支持。可自由配置的模块化 UI界面,能满足用户的特殊显示需求。

 

VisionTool介绍

visiontool是一款以拖拽编程为主的视觉软件,大体上可划分为TaskBlockTool三个层级,里面封装好多种视觉检测算法,机械手及相机(等硬件)控制指令,相机加机械手组合使用算法。用户需要在task层级,通过流程图的方式搭配block的运行逻辑,在block层级拖出所需的tool并做变量赋值,即可完成各种自动化任务。

 

借鉴以上软件自己实现了一个基于halcon的流程图拖拽编程软件

 

后期博客将分模块为大家介绍具体实现方式,模块划分如下:

1、流程编辑器:控件的拖拽与节点生成、流程数据保存与解析

2、工具箱:存放节点控件

3、属性编辑器:编辑每个节点的参数

4、视觉模块:halcon的封装

5、流程执行器:生成执行链表,依次执行算子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「C/C++」C/C++强制类型转换

博客主页:何曾参静谧的博客 文章专栏:「C/C」C/C学习 目录 相关术语C语言中的强制类型转换C中的强制类型转换static_castdynamic_castreinterpret_castconst_cast 注意事项 相关术语 强制类型转换:是指将一个数据类型强制转换为另一个数据类型…

magic Grid

说明文档 A lightweight Javascript library for dynamic grid layoutshttps://vuejsexamples.com/a-lightweight-javascript-library-for-dynamic-grid-layouts/npm npm install magic-grid cnd <script src"https://unpkg.com/magic-grid/dist/magic-grid.cjs.js…

【C++ 七】类和对象:封装、继承、多态、友元、运算符重载

封装、继承、多态、对象的初始化和清理、C对象模型和this指针、友元、运算符重载 文章目录 封装、继承、多态、对象的初始化和清理、C对象模型和this指针、友元、运算符重载前言1 封装1.1 封装的意义1.1.1 封装意义一1.1.2 封装意义二 1.2 struct 和 class 区别1.3 成员属性设置…

数据结构——二叉树的修改与构造

数据结构——二叉树的修改与构造 一、修改二叉树226. 翻转二叉树1.前/后序递归2.广度优先搜索迭代3.拓展&#xff1a;修改中序遍历 / 中序统一迭代写法 114. 二叉树展开为链表 二、构造二叉树106. 从中序与后序遍历序列构造二叉树递归思路 105. 从前序与中序遍历序列构造二叉树…

Java day11

第11章 在用户界面上排列组件 11.1 基本的界面布局11.1.1 布置界面11.1.2 顺序布局11.1.3 方框布局11.1.4 网格布局11.1.5 边框布局 11.2 使用多个布局管理器11.3 卡片布局11.3.1 在应用程序中使用卡片布局11.3.2 单元格内边距和面板内边距 11.1 基本的界面布局 11.1.1 布置界…

瑞芯微rk3568移植openbmc(五)----关于novnc h265 webcodec硬解码

本章没有什么实质内容&#xff0c;其实在第四节调好了H264的webcodec以后&#xff0c;H265仅仅只需要改下参数&#xff0c;其他的都交给webgl去处理就行了&#xff0c;没有什么大的变化&#xff0c;vp8、vp9、h264、h265处理都一样&#xff0c;仅仅只是参数的变化&#xff0c;不…

Winform粉丝提问1——winform怎么在设计界面找到代码里的控件

前言&#xff1a; 今天订阅《Winform从入门到精通》的粉丝在VIP群里面问我一个问题&#xff0c;我感觉这个问题应该是初学者都会遇到的&#xff0c;所以我写了这篇文章来帮助初学者来理解这个问题&#xff0c;问题如下&#xff1a; 假设我在Form1界面上添加了两个Label&#x…

建筑行业为什么要数字化转型?

建筑行业为什么要数字化转型&#xff1f; 建筑行业作为国民经济的重要支柱产业之一&#xff0c;其生产过程繁琐、复杂&#xff0c;且产业链条长&#xff0c;涉及众多领域。 然而&#xff0c;目前传统的建筑模式已经无法适应行业的发展需求&#xff0c;建筑行业的数字化转型已…

PasteSpider之项目-服务-环境介绍

在PasteSpider中&#xff0c;项目和服务是重要的对象&#xff0c;只有理解什么是项目什么是服务后配置起来才不会稀里糊涂的&#xff01; 项目 PasteSpider中的项目和我们平时说的项目意思一样&#xff0c;比如你要开发一个在线客服系统(项目)&#xff0c;一个商城系统(项目),…

平台资金提现解决方案之实现单笔转账到支付宝账户功能

大家好&#xff0c;我是小悟 使用场景 不管是做APP、电脑网站、手机网站还是小程序&#xff0c;为了推广基本上都离不开用户分佣的场景。 换句话说就是在其平台内为每个用户设置“电子钱包”功能&#xff0c;而电子钱包在平台那里只是一串数字&#xff0c;这就需要平台为用户…

ESP32CAM的IDF环境开发

首先&#xff0c;我们需要先搭建一个IDFvscode的开发环境&#xff0c;然后再下载源码 esp32-cam 它这个源码有很多文件&#xff0c;我们可以将它分解到我们之前已有的idf环境中&#xff0c;首先是打开我们下载的文件路径 esp32-web-cam/esp-idf/components下面&#xff1a; 这…

【Kafka】SASL认证的Kafka客户端代码示例(spring-kafka和原生客户端)

文章目录 spring-kafka原生客户端Tips spring-kafka 添加依赖&#xff1a; <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.6.3</version></dependency>添加spr…

pytorch 39 yolov5_obb的onnx部署及其优化

进行部署要求配置opencv和onnxruntime环境,这里不累述。 1、模型导出 yolov5_obb项目的使用可以参考:https://hpg123.blog.csdn.net/article/details/129366477 下载yolov5s_csl_dotav1_best.pt,并执行以下命令,得到yolov5s_csl_dotav1_best.onnx python export.py --we…

【Java】文件类 File 中的文件操作与文件读写

文件操作 File 类 属性 修饰符及类型属性说明static StringpathSeparator路径分隔符&#xff0c;String 类型表示static charpathSeparator路径分隔符&#xff0c;char 类型表示 构造方法 方法签名说明File(File parent, String child)根据父目录 File 对象 孩子路径&…

JavaSE学习进阶day05_01 Collection集合

第九章 Collection集合 9.1 集合概述 在前面基础班我们已经学习过并使用过集合ArrayList<E> ,那么集合到底是什么呢? 集合&#xff1a;集合是java中提供的一种容器&#xff0c;可以用来存储多个数据。 集合和数组既然都是容器&#xff0c;它们有什么区别呢&#xff…

华特转债上市价格预测

华特转债 基本信息 转债名称&#xff1a;华特转债&#xff0c;评级&#xff1a;AA-&#xff0c;发行规模&#xff1a;6.46亿元。 正股名称&#xff1a;华特气体&#xff0c;今日收盘价&#xff1a;93.75元&#xff0c;转股价格&#xff1a;84.22元。 当前转股价值 转债面值 / …

如何成为一名优秀的自动化测试开发工程师?

目录 前言 精通编程语言 掌握自动化测试框架 熟悉测试方法和流程 熟练使用测试工具 具备团队协作能力 学习新技术和工具 以下是更为具体的建议&#xff1a; 总结 前言 自动化测试作为软件测试领域中发展最快的一个分支&#xff0c;已经成为了许多企业提升软件质量和效…

C语言断言函数的应用

对于断言&#xff0c;相信大家都不陌生&#xff0c;大多数编程语言也都有断言这一特性。简单地讲&#xff0c;断言就是对某种假设条件进行检查。 在 C 语言中&#xff0c;断言被定义为宏的形式&#xff08;assert(expression)&#xff09;&#xff0c;而不是函数&#xff0c;其…

vue element-ui web端 引入高德地图,并获取经纬度

发版前接到一个临时新需求 &#xff0c;需要在web端地址选择时用地图&#xff0c;并获取经纬度。 临阵发版之际加需求&#xff0c;真的是很头疼&#xff0c;于是赶紧找度娘&#xff0c;找api。 我引入的是高德地图&#xff0c;首先要去申请key &#xff0c; 和密钥&#xff0c;…

【Typora-使用手册】Typora使用手册 常用设置 常用快捷键

【Typora-使用手册】Typora使用手册 & 常用设置 & 常用快捷键 1&#xff09;Typora简介1.1.Typora是什么1.2.下载地址1.3.下载注意事项 2&#xff09;Markdown语法总结2.1.标题编写2.1.1.大标题2.1.2.小标题 2.2.单选框2.3.删除线2.4.表情包2.5.字体加粗2.6.斜体2.7.表…