当前位置: 首页 > news >正文

halcon模板匹配(五)find_shape_model_clutter

目录

  • 一、find_shape_model_clutter例程目的
  • 二、默认模板匹配的过程
  • 三、定义杂波区域
  • 四、设置模型的杂波区域

一、find_shape_model_clutter例程目的

如下图所示,这个例程是想找到左图所示区域内的目标,要求上下临近区域无目标。
在这里插入图片描述
默认参数匹配结果
在这里插入图片描述

二、默认模板匹配的过程

read_image (ImageModel, ImageFiles[0])
gen_circle (ROI, 753.869, 551.624, 28.4027)
reduce_domain (ImageModel, ROI, ImageReduced)
create_aniso_shape_model (ImageReduced, 'auto', rad(0), rad(0), 'auto', 0.95, 1.05, 'auto', 0.95, 1.05, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
MinScoreStandard := 0.83for Index := 0 to |ImageFiles| - 1 by 1read_image (Image, ImageFiles[Index])find_aniso_shape_model (Image, ModelID, rad(0), rad(0), 0.95, 1.05, 0.95, 1.05, MinScoreStandard, 0, 0.0, 'least_squares', [4, 3], 0.0, Row, Column, Angle, ScaleR, ScaleC, Score)dev_display_shape_matching_results (ModelID, 'green', Row, Column, Angle, ScaleR, ScaleC, 0)
endfor

三、定义杂波区域

find_aniso_shape_model (ImageModel, ModelID, rad(0), rad(0), 0.95, 1.05, 0.95, 1.05, MinScoreStandard, 0, 0.0, 'least_squares', 0, 0.0, Row, Column, Angle, ScaleR, ScaleC, Score)
MatchIndex := 0
get_hom_mat2d_from_matching_result (Row[MatchIndex], Column[MatchIndex], Angle[MatchIndex], ScaleR[MatchIndex], ScaleC[MatchIndex], HomMat2D)
get_shape_model_contours (ModelContours, ModelID, 1)
affine_trans_contour_xld (ModelContours, ContoursAffinTrans, HomMat2D)
gen_circle (ROI_0, 700.655, 548.666, 21.6273)
gen_circle (ROI_1_0, 810.655, 550.611, 21.6273)
union2 (ROI_0, ROI_1_0, ClutterRegion)

四、设置模型的杂波区域

set_shape_model_clutter 用于为形状匹配模型定义‌干扰抑制区域‌(Clutter Region),通过指定模型轮廓周围的特定区域,抑制该区域内出现的干扰边缘对匹配结果的影响‌。其核心作用在于:
‌精准定位‌:排除重复结构或背景噪声导致的误匹配,提升模型在复杂场景下的鲁棒性‌。
‌特征强化‌:通过约束匹配区域,突出目标对象的唯一性特征,尤其在目标周围存在结构缺失的场景中效果显著(如BGA球栅阵列匹配)‌。

sobel_amp (ImageModel, EdgeAmplitude, 'sum_sqrt', 3)
get_shape_model_params (ModelID, NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Metric, MinContrast)
Contrast := -1
determine_shape_model_params (ImageReduced, NumLevels, AngleStart, AngleExtent, ScaleMin, ScaleMax, 'none', Metric, Contrast, MinContrast, 'contrast_hyst', ParameterName, ParameterValue)
ClutterContrast := (ParameterValue[0] + ParameterValue[1]) / 2
threshold (EdgeAmplitude, Region, ClutterContrast, 255)
set_shape_model_clutter (ClutterRegion, ModelID, HomMat2D, ClutterContrast, 'clutter_border_mode', 'clutter_border_average')

ClutterRegion:不应该有杂波出现的区域 ClutterContrast:计算杂波对比度
参数‌理解:
ClutterRegion: 定义干扰抑制区域的几何范围(如矩形、多边形) 需通过坐标或ROI工具指定,区域应覆盖模型附近需排除干扰的位置‌。
ClutterContrast:控制干扰边缘的对比度阈值 值越高,对低对比度干扰的抑制越强,需根据图像噪声水平调整‌。
HomMat2D:2D变换矩阵,用于动态调整Clutter区域的位置/方向 适用于模型存在旋转或缩放时,确保区域与目标同步变换‌14。
GenParamName/Value:扩展参数(如’clutter_size’、‘clutter_threshold’) 可细化干扰抑制的敏感度和范围(典型值:clutter_threshold=0.5)‌。

相关文章:

halcon模板匹配(五)find_shape_model_clutter

目录 一、find_shape_model_clutter例程目的二、默认模板匹配的过程三、定义杂波区域四、设置模型的杂波区域 一、find_shape_model_clutter例程目的 如下图所示,这个例程是想找到左图所示区域内的目标,要求上下临近区域无目标。 默认参数匹配结果 二…...

openGauss使用指南与SQL转换注意事项

openGauss 使用指南与SQL转换注意事项 基本说明 openGauss数据库内核基于PostgreSQL(pgsql),因此可以将SQL Server语句转换为pgsql语句。可以使用AI工具辅助转换,但需注意以下关键差异点。 数据类型转换注意事项 字符串类型处理 nvarchar转换&#…...

前端基础之《Vue(5)—组件基础》

一、什么是组件化 1、理解组件化 组件是HTML的扩展,使用粒度较小的HTML元素封装成粒度更大的标签(Vue组件)。可以实现快速开发、代码复用、提升可维护性。 相当于盖房子,用预制板,不是用一块块砖,一天可以…...

责任链模式(Chain of Responsibility Pattern)

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许将请求沿着处理者链进行传递,直到有一个处理者能够处理该请求为止。在这个模式中,多个处理者对象会形成一个链条,每个处理者都有机会处理请求,或者将请求传递给链条中的下一个处理者。这种模式将…...

C++算法(9):数组作为函数参数,注意事项与实践

C编程中,数组作为函数参数传递是一个常见但容易出错的操作。本文将详细介绍数组作为函数参数时需要注意的关键问题,帮助开发者避免常见的陷阱。 主要注意事项 1. 数组作为参数的本质 参数声明形式实际传递内容大小信息int arr[]数组首地址丢失int arr[…...

特性(Attribute)

特性(Attribute)的概念 定义 特性是用于向代码元素(类、方法、属性等)添加元数据的类,继承自 System.Attribute。 元数据提供程序化的描述信息,供运行时或工具(如编译器、反射)使…...

使用CubeMX新建SysTick延时函数工程——使用中断,不使用HAL_Delay

具体操作步骤看这里:STM32CubeMX学习笔记(4)——系统延时使用_cubemx systick-CSDN博客 1、SysTick 初始化函数 SysTick 初始化函数由用户编写,里面调用了 SysTick_Config() 这个固件库函数,通过设置该固件 库函数的形…...

从零开始实现 MobileViT 注意力机制——轻量级Transformer Vision Model 的新思路

从零开始实现 MobileViT 注意力机制——轻量级Transformer Vision Model 的新思路 近年来,计算机视觉领域中 Transformer 模型的崛起为图像处理带来了新的活力。特别是在 ViT(Vision Transformer)模型提出之后,Transformer 在图像…...

Doris部署生产集群最低要求的部署方案

Doris生产集群最低部署方案(2025年4月版) 一、节点规划与数量 1. FE节点(Frontend) 数量:至少 3个节点(1个Follower 2个 Observer),确保高可用(HA)。角色分…...

如何实现“一机两用” 寻求安全与效率的完美平衡

#### 一机两用的背景 在数字化时代,无论是企业还是政府部门,都面临着既要处理内部敏感数据,又要访问互联网获取资源的双重需求。这种需求催生了“一机两用”的模式,即同一台终端设备既要连接内网处理核心业务,又要能够…...

楼宇自控系统如何为现代建筑打造安全、舒适、节能方案

在科技飞速发展的当下,现代建筑对功能和品质的要求日益提升。楼宇自控系统作为建筑智能化的核心技术,宛如一位智慧的“管家”,凭借先进的技术手段,为现代建筑精心打造安全、舒适、节能的全方位解决方案,让建筑真正成为…...

Xilinx 7系列fpga在线升级和跳转

一、常见跳转方式 1,一般FPGA只要上电,就会自动从外部flash的0地址加载程序。 2,而我们所谓的在线式升级就是在flash0地址放一个程序(boot/golden image),然后在后面再放一个程序(app/update …...

【LangChain核心组件】Callbacks机制深度剖析与实战指南

目录 一、通俗解释(举个🌰) 二、具体能干啥? 三、怎么用?(一句话说透) 四、小结 五、为什么Callbacks是LangChain的灵魂组件? 六、Callbacks核心API解析 1、 基础回调处理器 …...

回调函数用法详细讲解

目录 一、通过几个例子,浅谈一下我的学习见解! 二、typedef关键字用法回顾 1)基本语法 2)主要用途 1、为基本数据类型定义别名 2、为复杂类型定义别名 >>1.数组类型 >>2.指针类型 >>3.结构体类型 >…...

Nature子刊:科学家绘制与全身性癫痫发作相关的大脑网络图谱,为新的脑刺激疗法铺平道路

癫痫是一种古老的神经系统疾病,其历史可以追溯到数千年前。在古代,癫痫患者常被误解为受到神灵的惩罚或灵魂的附体,这种误解导致患者在社会中遭受歧视和排斥。然而,随着现代医学的发展,我们逐渐揭开了癫痫的神秘面纱&a…...

postman使用技巧

postman使用技巧 pre-request需求:三方对接的接口需要在请求头中添加如下参数pre-request 中获取环境变量中的变量值pre-request 中添加请求头 参考: pre-request 需求:三方对接的接口需要在请求头中添加如下参数 Accept: application/json…...

代码随想录算法训练营第十九天

LeetCode题目: 77. 组合216. 组合总和 III17. 电话号码的字母组合2537. 统计好子数组的数目(每日一题)516. 最长回文子序列1039. 多边形三角剖分的最低得分543. 二叉树的直径124. 二叉树中的最大路径和2246. 相邻字符不同的最长路径 其他: 今日总结 往期打卡 77. 组合 跳转: 7…...

MySQL联表查询底层原理

MySQL联表查询底层原理 1. 连接算法概述 MySQL在执行联表查询时,主要使用以下三种算法: 1.1 嵌套循环连接(Nested-Loop Join) -- 基本原理:对于左表的每一行,都要在右表中查找所有匹配的行 -- 示例查询…...

静态链接part2

编译 语义分析 由语义分析器完成,这个步骤只是完成了对表达式的语法层面的分析,它并不了解这个语句是否真的有意义(例如在C语言中两个指针做乘法运算,这个语句在语法上是合法的,但是没有什么意义;还有同样…...

在边缘端进行tensorflow模型的部署(小白初探)

1.配置tensorflow的环境 (我是安装GPU版本的) 建议参考这个博主的文章,确实非常快速! 十分钟安装Tensorflow-gpu2.6.0本机CUDA12 以及numpymatplotlib各包版本协调问题_tensorflow cuda12-CSDN博客 2.学习自制数据集 &#xf…...

合成数据如何赋能大模型预训练:效果与效率的双重加速器

目录 合成数据如何赋能大模型预训练:效果与效率的双重加速器 一、预训练模型为何需要合成数据? ✅ 克服真实数据的稀缺与偏倚 ✅ 控制训练内容结构与分布 ✅ 提升学习效率与训练稳定性 二、哪些预训练任务适合用合成数据? 三、如何构建…...

【n8n docker 部署的代理问题】解决n8n部署无法访问openai等外国大模型厂商的api

n8n docker 部署的代理问题:解决无法访问 OpenAI 等外国大模型厂商的 API 问题背景 在使用 n8n 进行自动化工作流开发时,经常需要调用 OpenAI 等外国大模型厂商的 API。然而,由于网络限制,直接部署的 n8n 容器无法访问这些 API …...

MongoDB 分账号限制数据访问

MongoDB 分账号限制数据访问 在 MongoDB 中,可以通过几种方式实现不同账号只能访问特定数据的需求,类似于你在 PostgreSQL 中实现的功能。 1. 基于角色的访问控制 (RBAC) 创建用户并分配角色 // 创建只能读取特定数据库的用户 use admin db.createUs…...

可控硅的工作原理和设计参考

可控硅物理结构如下图所示,P-N-P-N,就象两只背靠背的三极管。我们先来分析栅极不作电气联接的情况。当可控硅阴极电位大于阳极电位,J1和J3结反偏,器件截止。当可控硅阴极电位小于阳极电位,J1和J3正偏,但J2反…...

搭建axure cloud私有化平台

要求 https://blog.csdn.net/ss810540895/article/details/145833470 能不能找个空闲服务器,搭建一下 axure服务器,之前他们提供的免费服务终止了,我们需要尽快搭建一下服务。 步骤 mysql 数据库密码 Tbit36987. 分配权限 CREATE USER root…...

【无标题】spark SQL核心编程

MySQL Spark SQL 可以通过 JDBC 从关系型数据库中读取数据的方式创建 DataFrame&#xff0c;通过对 DataFrame 一系列的计算后&#xff0c;还可以将数据再写回关系型数据库中。 IDEA通过JDBC对MySQL进行操作&#xff1a; 1&#xff09; 导入依赖 <dependency> &l…...

PostgreSql dump导入问题集合

PostgreSql dump导入问题集合 删除数据库无法删除问题 SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datnametest AND pid<>pg_backend_pid();版本检查 pg_restore -l D:/suian/vrms2_backup.dump > D:/suian/vrms22list.txt…...

使用DeepSeek如何提升课题申报书中研究内容的专业性?25个进阶DeepSeek指令

家人们&#xff01;搞课题申报的是不是都知道&#xff0c;课题申报书里的研究内容那可是重中之重&#xff0c;写得专业不专业直接影响申报能不能成功。今天咱就来唠唠怎么用DeepSeek提升课题申报书中研究内容的专业性&#xff0c;我还给大家准备了25个进阶使用小妙招哦&#xf…...

文章记单词 | 第33篇(六级)

一&#xff0c;单词释义 poison [ˈpɔɪzn] n. 毒药&#xff1b;毒物&#xff1b;有害的思想&#xff08;或心情等&#xff09;&#xff1b;vt. 毒死&#xff1b;毒害&#xff1b;下毒&#xff1b;在… 中放毒&#xff1b;污染&#xff1b;adj. 有毒的justification [ˌdʒʌ…...

【LangChain核心组件】Memory:让大语言模型拥有持续对话记忆的工程实践

目录 一、Memory架构设计解析 1. 核心组件关系图 2. 代码中的关键实现 二、对话记忆的工程实现 1. 消息结构化存储 2. 动态提示组装机制 三、Memory类型选型指南 四、生产环境优化实践 1. 记忆容量控制 2. 记忆分片策略 3. 记忆检索增强 五、典型问题调试技巧 1. …...

GD32裸机程序-SFUD接口文件记录

SFUD gitee地址 SFUD spi初始化 /********************************************************************************* file : bsp_spi.c* author : shchl* brief : None* version : 1.0* attention : None* date : 25-…...

天元证券|调仓曝光!首批科技基金一季报出炉

4月15日&#xff0c;中欧基金、永赢基金、长城基金等公募基金公司旗下部分权益类基金产品一季报出炉。 券商中国记者梳理发现&#xff0c;永赢信息产业智选混合主要聚焦信息技术领域布局&#xff0c;前十大重仓股中9只股票属于信息技术行业&#xff0c;合计占基金资产净值比例达…...

【开源项目】Excel手撕AI算法深入理解(四):AlphaFold、Autoencoder

项目源码地址&#xff1a;https://github.com/ImagineAILab/ai-by-hand-excel.git 一、AlphaFold AlphaFold 是 DeepMind 开发的突破性 AI 算法&#xff0c;用于预测蛋白质的三维结构。它的出现解决了生物学领域长达 50 年的“蛋白质折叠问题”&#xff0c;被《科学》杂志评为…...

React-router v7 第四章(路由传参)

参数传递 React-router 一共有三种方式进行参数传递&#xff0c;参数传递指的是在路由跳转时&#xff0c;将参数传递给目标路由。 Query方式 Query的方式就是使用 ? 来传递参数&#xff0c;例如&#xff1a; #多个参数用 & 连接 /user?name小满zs&age18跳转方式&…...

常用密码技术初探

记得前几年有一部电影叫做《解除好友2&#xff1a;暗网》&#xff0c;它讲述了主角捡到一台电脑&#xff0c;并用它与好友进行视频通讯&#xff0c;但一名黑客通过网络技术篡改了通讯内容&#xff0c;最终导致所有参与视频通话的人都遭遇不测。 电影当然存在夸张成分&#xff…...

电脑知识 | TCP通俗易懂详解 <二>tcp首部

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f583;TCP快递单填写&#xff08;必填部分&#xff09; 1.&#x1f338;TCP快递单样式 2.&#x1f3e2;填写名称 3.&#x1f522;TCP序号 4. ✔️TCP确认号 ​编辑5.✅️确认号的确认号 6.&#x1f4cf;首部长度 …...

09-RocketMQ 深度解析:从原理到实战,构建可靠消息驱动微服务

RocketMQ 深度解析&#xff1a;从原理到实战&#xff0c;构建可靠消息驱动微服务 一、RocketMQ 核心定位与架构探秘 1.1 分布式消息领域的中流砥柱 在分布式系统中&#xff0c;消息队列是实现异步通信、解耦服务、削峰填谷的关键组件。RocketMQ 作为阿里巴巴开源的分布式消息…...

MyBatis 如何使用

1. 环境准备 添加依赖&#xff08;Maven&#xff09; 在 pom.xml 中添加 MyBatis 和数据库驱动依赖&#xff1a; <dependencies><!-- MyBatis 核心库 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId&g…...

AI日报 - 2025年04月17日

&#x1f31f; 今日概览(60秒速览) ▎&#x1f916; AGI突破 | OpenAI新模型或证人类未解定理&#xff0c;研究达Level 4 OpenAI安全博客暗示模型将创造新科学&#xff0c;能连接概念提新实验。CEO预测AI将证明人类未解定理&#xff0c;研究员称已达AGI第四层级。 ▎&#x1f4…...

【Leetcode-Hot100】缺失的第一个正数

题目 解答 有一处需要注意&#xff0c;我使用注释部分进行交换值&#xff0c;报错&#xff1a;超出时间限制。有人知道是为什么吗&#xff1f;难道是先给nums[i]赋值后&#xff0c;从而改变了后一项的索引&#xff1f; class Solution(object):def firstMissingPositive(sel…...

Servlet简单示例

Servlet简单示例 文章说明 Servlet 虽然是一门旧技术了&#xff0c;但是它的基础性和广泛性仍然不可忽视&#xff1b;我在实践中发现不少同学经常会被它的一些特性给困惑住&#xff1b;时常出现404等错误&#xff0c;这里我写下这篇文章&#xff0c;介绍Servlet的不同版本的特…...

spring:注解@Component、@Controller、@Service、@Reponsitory

背景 spring框架的一个核心功能是IOC&#xff0c;就是将Bean初始化加载到容器中&#xff0c;Bean是如何加载到容器的&#xff0c;可以使用spring注解方式或者spring XML配置方式。 spring注解方式直接对项目中的类进行注解&#xff0c;减少了配置文件内容&#xff0c;更加便于…...

LLM做逻辑推理题 - 野鸭蛋的故事

题目: 四个旅游家&#xff08;张虹、印玉、东晴、西雨&#xff09;去不同的岛屿去旅行&#xff0c;每个人都在岛上发现了野鸡蛋&#xff08;1个到3个&#xff09;。4人的年龄各不相同&#xff0c;是由18岁到21岁。已知&#xff1a; ①东晴是18岁。 ②印玉去了A岛。 ③21岁的女…...

Linux的目录结构(介绍,具体目录结构)

目录 介绍 具体目录结构 简洁的目录解释 详细的目录解释 介绍 Linux的文件系统是采用级层式的树状目录结构&#xff0c;在此结构的最上层是根目录“/”。Linux的世界中&#xff0c;一切皆文件&#xff08;比如&#xff1a;Linux会把硬件映射成文件来管理&#xff09; 具体目…...

C++Cherno 学习笔记day21 [86]-[90] 持续集成、静态分析、参数计算顺序、移动语义、stdmove与移动赋值操作符

b站Cherno的课[86]-[90] 一、C持续集成二、C静态分析三、C的参数计算顺序四、C移动语义五、stdmove与移动赋值操作符 一、C持续集成 Jenkins 商业软件 二、C静态分析 静态分析器会检查你的代码&#xff0c;并尝试检测各种错误&#xff0c;这些错误 可能是你无意中编写的&am…...

python学习 -- 综合案例1:设计一款基于python的飞机大战小游戏

本文目录 pygame模块介绍核心模块与功能开发流程 本文案例 - 飞机大战开发流程1. 导入必要的库2. 定义常量3. 创建精灵类4. 主程序 运行游戏 总结 pygame模块介绍 Pygame 是基于 Python 的开源、跨平台游戏开发库&#xff0c;依托 SDL&#xff08;Simple DirectMedia Layer&am…...

开启 Python 编程之旅:基础入门实战班全解析

重要的东西放前面 开启 Python 编程之旅&#xff1a;基础入门实战班全解析 开启Python编程之旅&#xff1a;基础入门实战班全解析 在当下热门的编程语言中&#xff0c;Python凭借简洁易读的语法、强大的功能和丰富的库&#xff0c;在数据科学、人工智能、Web开发等诸多领域大…...

Linux笔记---动静态库(原理篇)

1. ELF文件格式 动静态库文件的构成是什么样的呢&#xff1f;或者说二者的内容是什么&#xff1f; 实际上&#xff0c;可执行文件&#xff0c;目标文件&#xff0c;静态库文件&#xff0c;动态库文件都是使用ELF文件格式进行组织的。 ELF&#xff08;Executable and Linkable…...

SpringBoot整合Logback日志框架深度实践

一、依赖与默认集成机制 SpringBoot从2.x版本开始默认集成Logback日志框架&#xff0c;无需手动添加额外依赖。当项目引入spring-boot-starter-web时&#xff0c;该组件已包含spring-boot-starter-logging&#xff0c;其底层实现基于LogbackSLF4J组合。这种设计使得开发者只需…...

Spring Boot中接入DeepSeek的流式输出

第一步&#xff0c;添加依赖&#xff1a; <!-- WebFlux 响应式支持 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId> </dependency> 第二步&#xff0c;配置We…...