上位机模块之圆形测量,基于halcon的二次开发

夸克网盘可自取。链接:https://pan.quark.cn/s/ac192950e051

//在此之前可以先浏览2篇博客,分别是序列化与反序列化和ROI绘制获取
https://blog.csdn.net/m0_51559565/article/details/134422834 //序列化与反序列化
https://blog.csdn.net/m0_51559565/article/details/134422052 //绘制与获取ROI

在编写通用上位机或普通上位机时,我们经常会遇到对多个产品或者有新增产品的情况,但是直接修改代码又会非常麻烦,所以直接使用通用的上位机模块与序列化可以快速解决不同产品的问题。
halcon文档解析。
在halcon的算子中针对常见的几何图像进行测量。其中add_metrology_object_generic可以对圆,椭圆,矩形,直线进行测量。主要内容可以直接查看文档
几何测量算子
难点代码解析

//在初始化窗体时,会先添加一部分常用的功能模块
//其中通用参数与匹配位置是最常使用的
private void HalconCircle_Load(object sender, EventArgs e){Measure_Set.Items.Add("uniform");//所有的,会获取所有可以匹配的点集Measure_Set.Items.Add("positive");//白到黑点集Measure_Set.Items.Add("negative");//黑到白点集Measure_Set.SelectedIndex= 0;Measure_Place.Items.Add("first");//所有点集的第一条轮廓,从中心出发Measure_Place.Items.Add("last");//所有点集的最后一条轮廓,从结尾出发Measure_Place.Items.Add("all");//所有点集,从预先指定的圆半径出发,上下查找Measure_Place.SelectedIndex= 0;Measure_Height.Text = "100";Measure_wide.Text = "10";Measure_Guass.Text = "1.2";Measure_Threshold.Text = "30";}HOperatorSet.AddMetrologyObjectCircleMeasure(measurehandel, result[0], result[1], result[2],Height, wide, Guass, Threshold, (new HTuple("measure_transition")).TupleConcat("measure_select"), (new HTuple(Measure_Set.Text)).TupleConcat(Measure_Place.Text),out HTuple index);//模块中直接使用AddMetrologyObjectCircleMeasure算子,圆形测量算子来实现对圆的查找,与几何测量的算子基本一致                                        

在halcon的文档中,对通用参数与位置的描述比较的模糊。通用参数与位置并不是一一对应的情况,而是相对的,在程序和上文列举了部分最常用到的参数
在这里插入图片描述
最终效果图:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking

文献阅读笔记(分层卷积特征) 简介 题目 Hierarchical Convolutional Features for Visual Tracking 作者 Chao Ma, Jia-Bin Huang, Xiaokang Yang and Ming-Hsuan Yang 原文链接 arxiv.org/pdf/1707.03816.pdf 关键词 Hierarchical convolution…

ubuntu上如何移植thttpd

thttpd的特点 thttpd 是一个简单、小巧、便携、快速且安全的 HTTP 服务器。 简单: 它只处理实现 HTTP/1.1 所需的最低限度。好吧,也许比最低限度多一点。 小: 请参阅比较图表。它还具有非常小的运行时大小,因为它不会分叉并且非…

一道 python 数据分析的题目

python 数据分析的题目。 做题方法:使用 pandas 读取数据,然后分析。 知识点:pandas,正则表达式,py知识。 过程:不断使用 GPT,遇到有问题的地方自己分析,把分析的结果告诉 GPT&am…

【java学习—十四】java动态代理(6)

文章目录 1. 相关概念2. 步骤3. 举例 问题: 假设一个java项目有100个java类,每个java有10个方法,这总共有1000个方法,现在有这样一个需求,需要在每个java方法加上2句话:在方法执行前输出这个方法开始执行&a…

【Web 实战】记一次攻防实战

经典开局一个登录框 由于漏洞应该还未修复。对于数据和相关网址打个码见谅一下 常规思路(爆破) 常规操作进行一波 尝试弱口令然后开始爆破 对于此种有验证码的爆破,可以借用一个bp插件。 captcha-killer-modified-jdk14.jar 具体使用我就…

【数据结构】希尔排序(最小增量排序)

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:数据结构 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵 希望大佬指点一二 如果文章对你有帮助…

Linux下SPI环回测试

文章目录 前言一、回环测试代码1.1 头文件 spidev.h2.2 c代码 spidev_test.c 二、 编译验证2.1 交叉编译2.2 测试 前言 linux下做spi回环测试 一、回环测试代码 1.1 头文件 spidev.h /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /** include/linux/spi…

Vue3:父组件向子组件传值(Props)

背景 在Vue3项目里,页面A(在views文件夹里)需要读取某个接口的数据,而页面A引入的组件a(在components文件夹里)也需要读取该接口的数据为了避免重复读取数据从而造成资源浪费,可以利用传值来实…

halcon识别验证码,先训练后识别

识别验证码图片,使用halcon 21.05 下面代码识别准确率100% 目录 训练,图片打标签使用代码创建分类器;识别验证码,检验识别效果使用“助手”加载训练文件,加载训练分类器,察看收集的字符,训练识别…

软件测试需求分析

1.1 需求的重要性 1.1.1 软件缺陷的8020原则 1) 在软件测试过程中,从需求分析开始到集成测试阶段引入测试手段,能发现所有缺陷的80%;系统测试阶段引入测试手段,能发现剩余缺陷中80%的缺陷;在运行维护阶段经过长…

HTTP 常见的请求头

面试官:说说 HTTP 常见的请求头有哪些? 作用? 一、是什么 HTTP头字段(HTTP header fields),是指在超文本传输协议(HTTP)的请求和响应消息中的消息头部分 它们定义了一个超文本传输协议事务中的操作参数 …

为什么说MES管理系统是车间层与管理层的桥梁

随着制造业的快速发展,企业对于生产过程中的管理要求越来越高。为了满足这一需求,MES生产管理系统应运而生。MES管理系统作为车间层与管理层之间的桥梁,扮演着至关重要的角色。本文将探讨为什么说MES管理系统是车间层与管理层之间的桥梁。 一…