halcon学习之形状匹配

算子

create_shape_model()

创建一个用于匹配的形状模型

create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)

参数

Template:

NumLevels:金字塔越高层,识别对象使用的点的数量越少,识别速度越快,但前提是要能把目标正确识别出来。

AngleStart:匹配开始时,模板先以AngleStart的角度在图片上寻找目标对象,完成以后,模板旋转AngleStep角度,继续匹配,以此类推,一直旋转到AngleStart+AngleExtent角度为止。

AngleExtent:参考AngleStart。

AngleStep:参考AngleStart。

Optimization:如果设为none,那么将存储模型所有的点,这么一来,会影响速度,而如果设为其他选项,则会相应减少存储的点,加快匹配运算速度。只是可能需要在后续的find_shape_model()算子中把greedy设为较小的值。

Metric:根据对比度选择匹配对象,例如,白底黑对象,是否只匹配白底黑对象,还是说只要形状一致,黑底白对象也会被选择。

Contrast:对象与背景的灰度值之差要大于此值。

MinContrast:该参数将模型与图像中的噪声分离开来。因此,一个很好的选择是图像中噪声引起的灰度值变化范围。例如,如果灰度值在10个灰度级范围内波动,则MinContrast应设置为10。

ModelID:生成的句柄


determine_shape_model_params()

确定形状模型的具体参数。

由于使用create_shape_model()创造形状模型时,很多参数都是使用auto值,而如果想确定这个auto具体是等于多少,可以使用该指令。


find_shape_model()

在图像中找到形状模型的最佳匹配

find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score)

参数

Image:匹配目标的图像。

ModelID:匹配句柄。

AngleStart:参考create_shape_model()。

AngleExtent:参考create_shape_model()。

MinScore:目标匹配分数必须大于此值才能被认为是目标对象。

NumberMatches:当设为0,表示要搜索图像上所有分数大于MinScore的对象,否则,按照设定值去搜索目标对象。

MaxOverlap:如果两个目标对象发生层叠,那么按照0-1的分数评判二者层叠的程度,如果层叠程度小于此值,那么返回两个对象,如果大于此值,则返回最佳实例。如想返回所有实例,可以设为1.

SubPixel:决定是否应该以亚像素精度提取实例。

NumLevels:匹配中使用的金字塔层数,如果设为0,则使用create_shape_model()时的金字塔层数。

Greediness:当值为0时,速度慢,但该捡出来的对象都会检出。当值为1,检索速度最快,但可能漏检对象。

Row, Column, Angle, Score:目标对象的横列坐标,角度和分数。


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

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

相关文章

基于NIOS-II软核流水灯和串口通信实现

文章目录 一、创建工程二、系统设计1. 在 “component library” 标签栏中找到 “Nios II Processor” 后点击 Add2. 在 ”Component Library” 标签栏中的查找窗口输入 jtag 找到 ”JTAG UART ”,然后点击 Add3. 添加片上存储器 On-Chip Memory(RAM)核4. 查找窗口输…

做简单易用的GIS资源管理软件

在室外资源管理领域,采用基于GIS的解决方案已成为主流趋势,旨在实现资源的高效利用和管理。GIS技术结合资源对象的规划、定位和监控,为企业提供全面的管理方案,从而优化资源使用、提高运营效率和降低成本。 然而,许多资…

龙迅LT8911EX LVDS桥接到EDP,支持4K30HZ分辨率

龙迅LT8911EX描述: Lontium LT8911EX是LVDS到eDP转换器,具有单端口或双端口可配置的LVDS接收器,有1个时钟通道和最多8个数据通道,每个数据通道最大运行1.2Gbps,最大输入带宽为9.6Gbps。转换器将输入LVDS数据去序列化&…

OpenNJet产品体验:探索无限可能

文章目录 前言一、OpenNJet是什么?二、OpenNJet特性和优点三、OpenNJet功能规划四、OpenNJet快速上手五、OpenNJet的使用总结 前言 现代社会网络高速发展,同时也迎来了互联网发展的高峰,OpenNJet作为一个基于NGINX的面向互联网和云原生应用提…

掏心经验分享,软考中项0基础入门篇!

想备考下半年中项(系统集成项目管理工程师)的朋友,不知道如何了解软考中项,今天给大家整理一篇关于我自己在备考软考时的一些考量和踩过的一些坑。(无广,放心看) 很多小伙伴总是听大家说软考中…

NGM-SLAM:首创融合神经辐射场子图的3DGS-SLAM,问鼎SOTA!

论文标题: NGM-SLAM: Gaussian Splatting SLAM with Radiance Field Submap 论文作者: Mingrui Li, Jingwei Huang, Lei Sun Aaron, Xuxiang Tian, Tianchen Deng, Hongyu Wang 导读: 3DGS技术因其性能卓越而备受关注,3DGS-SLA…

uniapp微信小程序通过萤石云接入海康摄像机

需求:在uniapp微信小程序上查看海康威视的摄像机监控视频和和操作摄像机拍摄方向 在萤石云接入海康摄像机设备,由于不同品牌设备在不同时间段接入方式可能不一致,具体接入方式查看官方文档或咨询官方客服。 海康摄像机官方客服热线&#xf…

stack、queue、priority_queue以及仿函数

我们上次对std中的list进行实现,今天我们要实现stack、queue、priority_queue以及仿函数。 目录 stack堆堆的框架构造函数push插入pop删除size()大小empty()判断空top()取栈顶的元素 queue队列队列框架问题: 这里我们为什么用deque? 插入删除取头数据取…

AI交互数字人赋能农业数字化、智能化推广营销

2024陵水荔枝文化节上“数字新农人”陵小荔身着黎族服饰、佩戴银器亮相开幕式现场,AI交互数字人生动地以互动式推介和歌舞等形式,带领宾客们了解陵水荔枝的发展历程、产业布局、未来愿景等。如今,越来越多农产品品牌通过3D虚拟数字人定制&…

Redis和数据库能做到强一致吗?

在现代软件系统中,数据一致性是至关重要的,特别是对于需要处理大量并发请求和实时数据的系统。Redis 和数据库都是常见的数据存储解决方案,但它们在保证数据一致性方面有着不同的特点和限制。 本文将深入探讨 Redis 和数据库是否能够做到强一…

最详细的提单知识总结 | 数字贸易综合服务平台 | 箱讯科技

在外贸交易中,国际物流是必不可少的一个步骤。国际物流掌控好,就等于把货物牢牢握在手心,不怕货财两空。 本期将向大家介绍正本提单、电放提单、海运单三种国际海运放货方式以及区分它们的方法。 超实用!外贸人赶紧收藏~ 正本提…

CTF例题:[SWPU2019]Web1(无列名注入)

网址:BUUCTF在线评测 搜索web1 启动靶机 点击链接进入题目 进入题目后发现有登录和注册接口,直接注册登录。 首先通过1进行测试,查看是否有注入点 出现报错,说明可能存在注入点 然后继续测试发现该服务器过滤了: or、…

vue(九) 生命周期 v3.0和v2.0对比,父子组件生命周期的执行顺序

文章目录 生命周期vue2.0生命周期1.图示2.生命周期解释说明3.代码示例 vue3.0生命周期1.图示2.生命周期解释说明3.代码示例 父子组件中生命周期执行顺序v.3和v2.0生命周期对比 生命周期 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听…

Android 获取已安装应用、包名、应用名、版本号、版本名

1、相关代码 List<ApplicationInfo> installedApps getPackageManager().getInstalledApplications(0);for (ApplicationInfo appInfo : installedApps) {CharSequence getAppName getPackageManager().getApplicationLabel(appInfo);String appNamegetAppName.toStrin…

怎么做私域?先来了解私域运营模式!

现在&#xff0c;很多企业都在做私域&#xff0c;但仍旧有很多人会问&#xff1a;我的私域到底要怎么做&#xff1f; 关于这个问题&#xff0c;不同产品无论在消费频次与客单价上&#xff0c;还是在决策链路的长度和复杂度上&#xff0c;都有巨大的差异&#xff0c;消费者需要…

前端 JS 经典:双等号运算符的运算和转换规则

1. 运算规则 两端存在 NaN&#xff0c;返回 false NaN NaN; // false NaN 1; //false undefined 和 null 只有与自身比较&#xff0c;或者相互比较时&#xff0c;才返回 true&#xff0c;和其他原始类型比较都返回 false。 undefined null; // true undefined undefine…

flutter组件封装技巧

这段代码是一个用于创建一个&#xff08;GradeTag&#xff09;组件的类。这个组件可以根据输入的年级和颜色创建一个具有不同颜色和百分比显示的标签。 实现原理&#xff1a; 使用GradeTag.origin构造函数来创建一个包含默认颜色和百分比的字符串。这个构造函数使用了assert来…

如何使用AspectJ做切面,打印jar包中方法的执行日记

最近在工作中遇到一个redis缓存中的hash key莫名其妙被删除的问题&#xff0c;我们用了J2Cache&#xff0c;二级缓存用的是redis。hash key莫名其妙被删除又没有日志&#xff0c;就想到做一个切面在调用redis删除hash key的方法的时候&#xff0c;打印日志&#xff0c;并且把调…

高德、百度开车导航APP是怎么知道红绿灯倒计时的?

高德、百度开车导航APP之所以能够知道红绿灯的倒计时&#xff0c;这背后是一系列复杂的科技手段和数据分析的综合运用。从交管部门提供的数据&#xff0c;到导航软件自身通过大数据和算法进行的计算&#xff0c;每一个环节都为红绿灯倒计时的准确呈现提供了支撑。 首先&#xf…

白酒:低酒精度白酒的消费特点与市场前景

低酒精度白酒的消费特点与市场前景是酒类市场的一个重要话题。随着品质意识的提高和消费者口味的多样化&#xff0c;低酒精度白酒逐渐受到越来越多的关注。云仓酒庄豪迈白酒作为白酒的品牌之一&#xff0c;其消费特点和市场前景值得深入探讨。 首先&#xff0c;从消费特点来看…