Halcon开运算opening

news2024/11/29 4:07:19

Halcon开运算

文章目录

  • Halcon开运算

开运算的计算步骤是先腐蚀,后膨胀。通过腐蚀运算能去除小的非关键区域,也可以把离得很近的元素分隔开,再通过膨胀填补过度腐蚀留下的空隙。因此,通过开运算能去除一些孤立的、细小的点,平滑毛糙的边缘线,同时原区域面积也不会有明显的改变,类似于一种“去毛刺”的效果。图(a)所示为原始图像,目标是提取图中比较亮的一块区域。
在这里插入图片描述
图(b)的红色部分为经阀值处理后提取的较亮区域,可见有一些杂点和毛边。为了在保留主体部分的同时平滑选区的边缘,这里使用开运算进行处理。经过opening算子处理后,杂点消失,毛糙的边缘也有所平滑。图(c)是开运算后的效果,可见边缘杂点被移除,前景目标更清晰。
图中的开运算处理代码如下:

*读取待检测的图像
read_image (Image,'data/board')
*将图像转换为单通道的灰度图像
rgbl_to_gray(Image, GrayImage)
*创建矩形区域
gen_rectanglel (Rectangle, 259, 87, 957, 909)
*进行裁剪,将感兴趣区域单独提取出来
reduce_domain (GrayImage, Rectangle, ImageReduced)
*使用阈值处理,将灰度值大于设定范围的像素选取出来
threshold(ImageReduced,Light,85,255)
*创建圆形结构元素,用于开运算
gen_circle(StructElement,6,6,7)
*进行开运算,去除背景中的杂点
opening(Light,StructElement, Large)
dev_clear_window ()
dev _display (Large)

其中关于灰度阈值的选择,可以通过将鼠标指针悬停在关键像素上,查看其灰度值进行估算。注意,这里的图像都是暗背景、亮目标。如果是亮背景、暗目标,可以用invert_image进行颜色反转。
如果圆形结构元素半径过大,可能导致图像内部出现大的空洞;如果圆形结构元素半径过小,可能会使杂点消除得不完全,因此可以根据实际需要不断调整该参数。
上文中使用了opening算子进行开运算处理。该算子的原型如下:

opening(Region, StructElement : RegionOpening ::)

其中各参数的含义如下。
(1)参数1:Region 为输入的图像区域。
(2)参数2:StructElement 为输入的结构元素,该结构元素应提前指定。
(3)参数3:RegionOpening为输出的经开运算处理后的区域。
开运算的效果与腐蚀类似,其本质也是一种腐蚀操作。经开运算处理后,图像上的大面积的区
域依然能基本保持完整,而面积小的区域,如点或短线将被移除。
除了上文中的opening 算子以外,Halcon中与开运算有关的算子如下。(1)opening_circle:使用圆形结构元素对区域进行开运算处理。(2)opening_rectangle1:使用矩形结构元素对区域进行开运算处理。(3)opening golay:使用格雷字母表中的元素对区域进行开运算处理。
(4)opening_seq:分隔重叠的区域。该算子一般是erosionl、connection和dilation1算子的连
续使用。如果重叠的区域小于结构元素,相交的两个区域将被分隔开来。

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

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

相关文章

27、web攻防——通用漏洞SQL注入Tamper脚本Base64Jsonmd5

文章目录 数字型:0-9。http;//localhost:8081/blog/news.php?id1 字符型:a-z、中文,需要闭合符号。http;//localhost:8081/blog/news.php?idsimple 搜索型:在字符型的基础上加入了通配符%。http;//localhost:8081/blog/news.…

Apache Doris (五十五): Doris Join类型 - Colocation Join

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. Colocation Join原理

数据结构--队列【详解】~(˶‾᷄ꈊ‾᷅˵)~

目录 队列定义: 队列的声明与头文件的包含: 队列的声明: 头文件的包含: 队列的基本操作: 初始化队列 : 摧毁队列: 入队列: 出队列: 返回队头数据: 返回队尾数据&#xff1…

C#编程-使用变量

使用变量 请考虑以下场景:您必须创建一个程序,接受来自用户的两个数字并在屏幕上显示着两个数字之和。现在,读取用户提供的数字时,您需要将这些数字存储在内存中的某个位置,以便您能对这些数字执行加操作。您可以使用变量将这些数字存储在内存中。 下图显示了使用变量将…

乐观者成功,悲观者正确|2023年个人总结

上周一个好久没联系的朋友,突然微信问我:“土司,年终总结啥时候发出来,等着学习呢?”,听到这话既感动又愧疚,感动的是一个个人年终总结还被人惦记着,有一种稳稳的幸福;愧…

字符串与模拟法

加密英文 输入一个字符串可用getline(cin,数组名) 字典序 在字符串中寻找子字符串 分糖果 代码 猴子选大王 代码 如果n号猴子被选中,则使得n号的猴子变成false,未出局的猴子为true。 if(pn1) p1;这个是将超出的下标重新变回1号,使其重新循…

Selenium教程04:鼠标+键盘网页的模拟操作

在webdriver 中,鼠标操作都封装在ActionChains类中,使用的时候需要导入这个包。 from selenium.webdriver import ActionChainsActionChains方法列表如下: click(on_elementNone) ——单击鼠标左键click_and_hold(on_elementNone) ——点击…

webpack的深入学习与实战(持续更新)

一、何为Webpack Webpack是 一个开源的JavaScript模块打包工具,其最核心的功能是解决模块之间的依赖,把各个模块按照特定的规则和顺序组织在一起,最终合并为一个JS文件或多个。 二、带宽的换算 目前我们的云服务器带宽为5M 三 、bundle 体…

Java 动态树的实现思路分析

Java 动态树的实现 目录概述需求: 设计思路实现思路分析1. 简单Java实现:2.建立父子表存储3.前端的对应的json 字符串方式 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0…

【并发设计模式】聊聊Thread-Per-Message与Worker-Thread模式

在并发编程中,核心就是同步、互斥、分工。 同步是多个线程之间按照一定的顺序进行执行,比如A执行完,B在执行。而互斥是多个线程之间对于共享资源的互斥。两个侧重点不一样,同步关注的是执行顺序,互斥关注的是资源的排…

Django 学习教程- Hello world入门案例

系列 Django 学习教程-介绍与安装-CSDN博客 欢迎来到第Djagno学习教程第二章Hello World 入门案例。 在本教程中,我将引导您完成django的Hello World入门案例。 让我们开始吧! 版本 Django 5.0Python 3.10 创建项目 安装 Django 之后&#xff0…

Linux 权限掌控术:深入探索和用户管理

文章目录 前言1.外壳程序是什么?外壳程为什么存在?工作原理外壳程序怎么个事? 2. Linux权限的概念2.1 什么是权限2.2权限的本质2.3 Linux中的用户 3. 普通用户变成rootlinux中有三种人 4.Linux中文件的权限4.1文件的属性权限4.2 掌握修改权限…

[DL]深度学习_AlexNet

AlexNet网络详解 目录 一、AlexNet 1、详细介绍 2、网络框架 二、网络详解 1、首次使用ReLu激活函数 2、模型基本结构与双GPU实现 3、局部响应归一化(LRN) 4、重叠池化(Overlapping Pooling) 5、数据增强 6、Dropout 一、AlexNet 1、详细介绍 AlexNet是一种经典的卷积…

Javascript 循环结构while do while for实例讲解

Javascript 循环结构while do while for实例讲解 目录 Javascript 循环结构while do while for实例讲解 一、while语句 二、do…while语句 三、for循环 疑难解答 我们从上一节课知道,JavaScript循环结构总有3种: (1)while语…

S7.Net与西门子PLC通讯

开发环境准备 同时由于设备还未采购,没有设备进行测试开发,会安装一个仿真模拟器进行调试。(真心的,谁想到还能仿真模拟设备) 需要安装的软件包括 ◦TIA Portal V14 ◦S7-PLCSIM V14 ◦NetToPLCsim-S7o-v-1-2-2-0 TIA Portal 西门子官方管理设备数据块的客户端,每一…

【网络安全】upload靶场pass11-17思路

目录 Pass-11 Pass-12 Pass-13 Pass-14 Pass-15 Pass-16 Pass-17 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 &#x…

盾构机数据可视化监控平台 | 图扑数字孪生

2002 年,中国 863 计划把盾构机列为国家关键技术,以国家力量为主导,集中力量进行盾构机专项研究。在 2008 年,中国成功研制出属于自己的国产盾构机——中国中铁一号,同时还打通了天津地铁 1500m 的隧道。此举更彻底地打破了国内盾…

基于Java SSM框架实现企业销售人员培训系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现企业销售人员培训系统演示 摘要 目前由于我国企业销售人员培训系统的规模较小,同发达国家相比,人员培训比重始终偏低,用户意识比较低下,为进一步提高用户的销售意意识的提升,我觉得开发一套关于企业销售人员培训系统很人必要,虽然许多企业主动选用人员培…

测试新字符设备驱动代码

一. 简介 上一篇文章编写了新字符设备驱动框架的代码,并编写了 LED灯IO初始化工作,也编写了Led的开与关函数。文章地址如下: 向新字符设备驱动代码框架中添加Led功能函数-CSDN博客 本文对所完成的新字符设备驱动代码进行测试。通过测试程…

[电磁学]大学物理陈秉乾老师课程笔记

主页有博主其他上万字的精品笔记,都在不断完善ing~ 第一讲 绪论,库仑定律 主要讲解了电磁学中的库伦定律和电场的相关概念,介绍了电荷和电磁相互作用的规律,并讲解了电场强度和电势的概念。 03:14 🎓 库伦定律:电势能与电荷的关…