Halcon滤波器sobel_amp算子

Halcon滤波器sobel_amp算子

Halcon 提供了大量的边缘滤波器,最常用的是Sobel滤波器。它是一种经典的边缘检测算子,速度和效率都非常令人满意。其在Halcon中对应的算子为sobel amp算子和sobel_dir算子,二者都是使用Sobel算子进行边缘检测。前者用于计算边缘的梯度,后者除了能表示梯度外,还能表示边缘的方向,本文主要介绍sobel_amp算子。
下面以一个简单的例子说明sobel_amp算子的用法。该例子输入的是一幅灰度值图像,读取图像后,使用sobel_amp算子进行边缘滤波。滤波类型参数选择sum_abs,以获得细节比较多的边缘;然后通过阈值处理选择符合梯度阈值的区域,提取出的区域宽度大于1个像素;最后使用skeleton算子将边缘框架显示出来,如图所示。
在这里插入图片描述
上述过程的实现代码如下:

read_image (Image,' data/flower')
rgbl_to_gray (Image, GrayImage)
sobel_amp (GrayImage,Amp,'sum_ abs',3)
threshold(Amp,Edg,100,255)
skeleton (Edg, Skeleton)
dev_clear_window ()
dev_display (Skeleton)

该例子使用sobel_amp算子对灰度图像进行了边缘检测,选择了sum_abs类型的滤波器,并将带有边缘梯度的图像 Amp 输出。第4行通过闽值处理去除一些非关键的轮廓点和线,第5行使用skeleton 提取区域的框架。由图可知,前景目标的轮廓基本都被提取出来了。
sobel_amp 算子是一种常用的边缘滤波器,该算子是一阶导数的边缘检测算子,使用一个卷积核对图像中的每个像素点做卷积运算,然后采用合适的阈值提取边缘。根据滤波器的不同,卷积核的运算方式也不同。该算子的原型如下:

sobel_amp (Image : EdgeAmplitude : FilterType, Size : )

其各参数含义如下。
参数1:Image为输入的图像,这里是单通道图像。
参数2:EdgeAmplitude 为输出参数,是带有边缘梯度的图像。
参数3:FilterType 为输入参数,表示卷积核或滤波器的类型。
参数4:Size 为输入参数,表示滤波器的尺寸。该参数值越大,得到的边缘线条会越粗,细节越少。这个值一般为单数,默认为3,也可以根据图像的检测需要选择合适的奇数。
这里的FilterType 是基于两种滤波器掩膜的,它决定了卷积的计算方式。假设两个卷积的滤波掩膜矩阵是A和B,其中
在这里插入图片描述
掩模矩阵可以理解为内核或者结构元素,A和B分别表示图像与两种波滤器掩膜进行卷积操作的结果。
FilterType 有几种可供选择的值,如sum_abs、sum_sqrt、sum_srt_binomial、thin_max_abs、thinsum_abs、x、y等。下面在代码中分别测试了几种不同类型的滤波器对同一图像进行边缘检测的结果,如图10.2所示。输入图像仍为图(a)所示的灰度图像。图(a)~(f)分别为sobel_amp 算子中的FilterType 参数值为sum_abs、thin_sum_abs、thin_max_abs、sum_sqrt、x、y时的计算结果。
在这里插入图片描述
上面这几种计算结果是在掩膜尺寸为3的情况下得到的。对于较大尺寸的滤波器,需要使用二项式滤波器对输入图像进行平滑处理。如果size为5、7、9、11等尺寸,则要在上述filter后面加上binomial来选择二项式滤波器,如sum_abs_binomial、sum_sqrt_binomial、thin_max_abs binomial、 thin_sum_abs _binomial、 x_binomial、 y_binomial等。注意,在边缘检测中可以通过创建感兴趣区域来缩小处理区域的范围,以加快检测速度。

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

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

相关文章

【LangChain学习之旅】—(8) 输出解析:用OutputParser生成鲜花推荐列表

【LangChain学习之旅】—(8) 输出解析:用OutputParser生成鲜花推荐列表 LangChain 中的输出解析器Pydantic(JSON)解析器实战第一步:创建模型实例第二步:定义输出数据的格式第三步:创…

运算电路(1)——加法器

一、引言 微处理器是由一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片…

Zabbix监控系统及部署

目录 前言 一个完整的项目 业务架构 运维架构 优秀监控软件的好处 1.zabbix概述 zabbix是什么 zabbix监控原理 Zabbix6.0新特性 1.Zabbix server高可用防止硬件故障或计划维护期的停机 2.Zabbix6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个…

前端工程化相关

工具方法: 知道软件包名,拿到源码或者路径的方法 在浏览器输入以下内容,就可以找到你想要的。。。 unpkg.com/输入包名 一、模块化 ESM特性清单: 自动采取严格模式,忽略“use strict”每个ESM模块都是单独的私有作用…

网络——华为与华三

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号:网络豆云计算学堂 座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ 写在前面 大家好,我是网络豆&#xff0…

Elasticsearch:是时候离开了! - 在 Elasticsearch 文档上使用 TTL

作者:来自 Elastic David Pilato 想象一下,圣诞老人必须向世界上所有的孩子们分发礼物。 他有很多工作要做,他需要保持高效。 他有一份所有孩子的名单,并且知道他们住在哪里。 他很可能会将礼物按区域分组,然后再交付。…

docker部署ng实现反向代理

场景 按规定尽可能减少开放到外网的端口,所以需要将多个服务部署到一个ip一个端口上。 方案 使用ng实现请求转发。根据http请求中的host与ng配置文件中的server_name匹配,转发到对应的机器上。 在docker上部署三个容器,每个容器中启动一个…

Java内存模型之可见性

文章目录 1.什么是可见性问题2.为什么会有可见性问题3.JMM的抽象:主内存和本地内存3.1 什么是主内存和本地内存3.2 主内存和本地内存的关系 4.Happens-Before原则4.1 什么是Happens-Before4.2 什么不是Happens-Before4.3 Happens-Before规则有哪些4.4 演示&#xff…

【SQL注入】SQLMAP v1.7.11.1 汉化版

下载链接 【SQL注入】SQLMAP v1.7.11.1 汉化版 简介 SQLMAP是一款开源的自动化SQL注入工具,用于扫描和利用Web应用程序中的SQL注入漏洞。它在安全测试领域被广泛应用,可用于检测和利用SQL注入漏洞,以验证应用程序的安全性。 SQL注入是一种…

调试(c语言)

前言: 我们在写程序的时候可能多多少少都会出现一些bug,使我们的程序不能正常运行,所以为了更快更好的找到并修复bug,使这些问题迎刃而解,学习好如何调试代码是每个学习编程的人所必备的技能。 1. 什么是bug&#xf…

Java项目:06 Springboot的进销存管理系统

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 进销存管理系统 介绍 进销存系统是为了对企业生产经营中进货、出货、批发销售、付款等全程进行(从接获订单合同开 始,进入物料采购、入…

浅析Linux进程地址空间

前言 现代处理器基本都支持虚拟内存管理,在开启虚存管理时,程序只能访问到虚拟地址,处理器的内存管理单元(MMU)会自动完成虚拟地址到物理地址的转换。基于虚拟内存机制,操作系统可以为每个运行中的进程创建…

ros2+gazebo(ign)激光雷达+摄像头模拟

虽然ign不能模拟雷达,但是摄线头是可以模拟的。 好了现在都不用模拟了,ign摄线头也模拟不了。 ros2ign gazebo无法全部模拟摄线头和雷达。 只能有这样2个解决方法: 方法1:使用ros2 gazebo11 方案2:使用ros2买一个实…

【问题探讨】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究

目录 主要内容 模型研究 结果一览 下载链接 主要内容 该模型以环境保护成本和运行成本为双目标构建了微电网优化调度模型,模型目标函数和约束条件复现文献《基于改进粒子群算法的微电网多目标优化调度》,程序的特点是采用非支配排序的蜣螂…

Redis缓存使用问题

数据一致性 只要使用到缓存,无论是本地内存做缓存还是使用 redis 做缓存,那么就会存在数据同步的问题。 以 Tomcat 向 MySQL 中写入和删改数据为例,来解释数据的增删改操作具体是如何进行的。 我们分析一下几种解决方案, 1、先更新缓存,再更新数据库 2、先更新数据库,…

2023年第十四届中国数据库技术大会(DTCC2023):核心内容与学习收获(附大会核心PPT下载)

随着信息化时代的深入发展,数据库技术作为支撑信息化应用的核心技术,其重要性日益凸显。本次大会以“数据价值,驱动未来”为主题,聚焦数据库领域的前沿技术与最新动态,吸引了数千名业界专家、企业代表和数据库技术爱好…

橘子学Spring01之spring的那些工厂和门面使用

一、Spring的工厂体系 我们先来说一下spring的工厂体系(也称之为容器),得益于大佬们对于单一职责模式的坚决贯彻,在十几年以来spring的发展路上,扩展出来大量的工厂类,每一个工厂类都承担着自己的功能(其实就是有对应的方法实现)…

阿里云云服务器u1实例和e实例有什么区别?

阿里云服务器u1和e实例有什么区别?ECS通用算力型u1实例是企业级独享型云服务器,ECS经济型e实例是共享型云服务器,所以相比较e实例,云服务器u1性能更好一些。e实例为共享型云服务器,共享型实例采用非绑定CPU调度模式&am…

监督学习 - 岭回归(Ridge Regression)

什么是机器学习 岭回归(Ridge Regression)是一种线性回归的扩展,它通过在损失函数中添加正则化项(L2范数)来解决线性回归中可能存在的过拟合问题。正则化项有助于限制模型的参数,使其不过分依赖于训练数据…

LeetCode264. 丑数 II(相关话题:多重指针动态规划)

题目描述 给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是质因子只包含 2、3 和 5 的正整数。 示例 1: 输入:n 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。示例 2&am…