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

news2024/11/24 11:37:15

夸克网盘可自取。链接: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.coloradmin.cn/o/1212522.html

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

相关文章

【文件读取/包含】任意文件读取漏洞 afr_2

1.1漏洞描述 漏洞名称任意文件读取漏洞 afr_2漏洞类型文件读取漏洞等级⭐⭐漏洞环境dockers攻击方式 1.2漏洞等级 高危 1.3影响版本 暂无 1.4漏洞复现 1.4.1.基础环境 靶场dockers工具BurpSuite 1.4.2.环境搭建 1.kali创建docker-compose.yml文件 touch docker-compose.ym…

msvcp140_CODECVT_IDS.dll丢失怎么办,分享两个有效的方法

在计算机使用的过程中,我们经常会遇到一些错误提示,其中最常见的就是“缺少xxx.dll文件”。这些文件是动态链接库(DLL)文件,它们包含了程序运行所需的函数和资源。而msvcp140_CODECVT_IDS.dll就是其中之一。那么&#…

PY32F002B从压缩包到实现串口printf输出

最近学习使用芯领的PY32F002B开发板,记录学习历程供有同样需求的人参考。 本文主要讲述利用开发板实现printf语句串口输出。 开发环境的初步搭建 官方提供了一个压缩文件,文件名py32f002B_231026.zip, 链接:https://pan.baidu.c…

名城银河湾220㎡5室2厅2厨3卫,精致美学演绎的格调感。福州中宅装饰,福州装修

以手作维度构境, 跳脱约定成俗的风格, 转化内外地域分际, 于静谧中凝聚丰厚的美学能量, 谦虚且沉默以对 项目信息 项目名称 | 名城银河湾 设计地址 | 福建福州 项目面积 | 220㎡ 项目户型 | 5室2厅2厨3卫 设计风格 | 现代轻奢 全案设计师通过对业主的自身的情况和生活…

博流BL602芯片 - 烧录配置

硬件介绍 淘宝上买的核心板,大概结构如上。 直接插入电脑usb,即可实现供电、下载(控制BOOT/EN)、串口通讯 固件包 1、环境配置 1.1串口 开发板使用了 CH340G 的 USB 转串口芯片,自行安装CH340串口驱动。 1.2编译环境…

APISpace 验证码短信API接口案例代码

1.验证码短信API产品介绍 APISpace 的 验证码短信API,支持三大运营商,虚拟运营商短信发送,电信级运维保障,独享专用通道,3秒可达,99.99%到达率,支持大容量高并发。可批量发送多个号码…

前端 vue 面试题 (一)

文章目录 v-if,v-show差别v-for和v-if虚拟dom解决什么问题vue的data为什么返回函数不返回对象比较vue,reactvue双向绑定原理vue虚拟dom 的diff算法vue 虚拟dom的diff算法的时间复杂度vue2与vue3的区别vue数据缓存,避免重复计算单页应用怎么跨页面传参vue…

Java追加式将内容写入yml文件

前言 最近需要使用java的jackson-dataformat-yaml写yml文件,但多数情况是在现有的文件内容中追加地写一部分新的内容。网上查了一下没有查到有直接追加的api,看源码偶然间找到了一个实现思路,记录一下。 追加写入到yml文件 使用的工具是jac…

SAPRouter Certificate即将过期更新证书

今日收到SAP发的一封邮件提示SAPRouter Certificate即将过期,顺便记录下更新证书的方法步骤。 1、登录SAProuter服务器,用户使用安装SAProuter的用户,我的是saprter用户 进入到/saprouter目录,备份certreq cred_V2 local.pse src…

深度学习_13_YOLO_图片切片及维度复原

需求: 在对获取的图片进行识别的时候,如果想减少不必要因素的干扰,将图片切割只对有更多特征信息的部分带入模型识别,而剩余有较多干扰因素的部分舍弃,这就是图片切割的目的,但是又由于模型对图片的维度有较…

DNS服务器典型配置

文章目录 安装主程序bind和安全插件bind-root修改主配置文件/etc/named.conf正向解析 安装主程序bind和安全插件bind-root yum install bind-chroot修改主配置文件/etc/named.conf vim /etc/named.conf将listen-on和allow-query的ip或域名换成any 表示为服务器所有的IP地址启…

【数据处理】Python:实现求条件分布函数 | 求平均值方差和协方差 | 求函数函数期望值的函数 | 概率论

猛戳订阅! 👉 《一起玩蛇》🐍 💭 写在前面:本章我们将通过 Python 手动实现条件分布函数的计算,实现求平均值,方差和协方差函数,实现求函数期望值的函数。部署的测试代码放到文后了&…

C语言--五子棋项目【图文详解 经典】

今天小编带领大家学一学C语言入门必写的五子棋项目,题目非常经典,值得一学。 目录 一.目标效果 二.五子棋的元素 1.棋子 2.棋盘 三,需要准备的工具 四.具体内容 1.加载背景图片 2.画横线与竖线 3. 画小黑点 4.获取鼠标消息 5.画棋子 6.如何判断比…

【java学习—十五】创建多线程的两种方式(2)

文章目录 1. 多线程的创建和启动2. Thread 类3. 创建多线程的两种方式3.1.继承Thread类实现多线程3.1.1. 举例3.1.2. 举例2 3.2. 实现Runnable接口3.2.1. 举例13.2.2. 举例2 4. 继承方式和实现方式的联系与区别5. 使用多线程的优点 1. 多线程的创建和启动 Java 语言的 JVM 允许…

【差分演化算法相关文献总结】

差分演化算法相关文献总结 前言概述文献综述总结 前言 本人作为一名从事了三年演化算法研究的菜鸡研究生,其中大部分时间都在专注于差分演化算法(Differential Evolution, DE)的相关研究。现如今已经毕业,回顾往昔,经过…

跌破1940后金价直指1900 对黄金代理是好是坏?

受以鲍威尔为首的美联储官员近期讲话的影响,加上巴以冲突暂时出现降温,导致避险需求下降,在两大因素的影响之下,现货黄金行情在近期的大涨之后出现大跌。金价不光跌破1950关口,在跌穿1940后势头更是直指1900。金价在一…

虹科干货丨Lambda数据架构和Kappa数据架构——构建现代数据架构

文章来源:虹科云科技 虹科干货丨Lambda数据架构和Kappa数据架构——构建现代数据架构 如何更好地构建我们的数据处理架构,如何对IT系统中的遗留问题进行现代化改造并将其转变为现代数据架构?该怎么为你的需求匹配最适合的架构设计呢&#xf…

异常--Java

cry…catch使用 /*需求:测试除法器(try...catch)* 测试人:小王* 测试日期:2023/11/15* */ package yichang_test1;import java.util.InputMismatchException; import java.util.Scanner;public class TestException2 …

cadence virtuoso layout 无法跑DRC

问题:无法跑DRC could not establish connection with Calibre Interactiveon socket localhost 7000. 尝试: 点击一下红框右边的connect。 (此法不一定有用,死马当活马医)

Page分页records有数据,但是total=0,解决办法

Page分页records有数据,但是total0,解决办法 问题:程序运行起来后,后端接收前端传来的搜索请求信息正常,但无法在前端正确反馈信息,通过在后端排查发现total一直等于零,但数据库中有数据&#x…