Halcon灰度图像的形态学运算

news2024/9/19 19:53:00

Halcon灰度图像的形态学运算

本文介绍的算子的输入类型是灰度的Image图像。

1. 灰度图像与区域的区别

基于区域的形态学运算与基于灰度图像的形态学运算的根本区别在于,二者输入的对象不同。前者输入的是一些区域,并且这些区域是经过闽值处理的二值图像区域;而后者的输入则是灰度图像。
当输入对象是一些二值区域时,这些区域就成了算子的主要操作对象。区域的灰度是二值的,并不会发生变化。形态学运算改变的是这些区域的形状,如通过腐蚀使区域面积变小,或者通过膨胀使区域面积变大等。
而当输入对象是灰度图像时,形态学运算改变的则是像素的灰度,表现为灰度图像上的亮区域或暗区域的变化。
腐蚀运算是将图像中的像素点赋值为其局部邻域中灰度的最小值,因此图像整体灰度值减少,图像中暗的区域变得更暗,较亮的小区域被抑制。
膨胀运算是将图像中的像素点赋值为其局部邻域中灰度的最大值,经过膨胀处理后,图像整体
灰度值增大,图像中亮的区域扩大,较暗的小区域消失。注意,灰度图像的形态学运算也可以理解为针对暗背景、亮目标的图像进行的运算。

2. 灰度图像的形态学运算效果及常用算子

本部分以一个例子来说明对灰度图像进行腐蚀、膨胀、开运算及闭运算操作的效果。如图所示,通过腐蚀运算,将 mask 结构元素中的最小灰度值赋给原图中的像素,结果是图像变暗了,局部的亮的细节,如河流部分被抑制了。膨胀运算却正相反,是将 mask结构元素中的最大灰度值赋给原图中的像素,因此图像整体变得更亮,局部较亮的细节部分被“膨胀”了,而暗的细节部分则被抑制了。图(a)为输入的原始灰度图像,图(b)为腐蚀处理后的图像,图(c)为膨胀处理后的图像。
在这里插入图片描述
灰度图像的开运算与闭运算也与此类似。开运算是先腐蚀后膨胀,闭运算是先膨胀后腐蚀。通过对灰度图像图(a)进行开运算处理,图像中较亮的小细节消失,如图 (b)所示;反之,通过对灰度图像进行闭运算处理,图像中较暗的局部小区域消失,如图(c)所示。
在这里插入图片描述
上述过程的代码如下:

*读取输入图像
read_image (Imagecolor, 'data/village')
*将原始图像转换为灰度图像,作为形态学处理的输入
rgbl_to_gray (ImageColor, Image)
*进行灰度图像腐蚀操作
gray_erosion_shape (Image, ImageMin, 11, 11, 'octagon')
*进行灰度图像膨胀操作
gray_dilation_shape (Image, ImageMax, 11, 11, 'octagon')
*进行灰度图像开运算操作
gray_opening_shape (Image, ImageOpening, 7, 7, 'octagon')
*进行灰度图像闭运算操作
gray_closing _shape (Image, ImageClosing, 7, 7, 'octagon')

由两组图可见灰度图像的形态学操作效果。
(1)经过灰度图像腐蚀操作,图像变暗了,这是因为图像中较亮的局部区域被“收缩”了,较暗的局部区域被“扩大”了,因而图像变暗了。
(2)经过灰度图像膨胀操作,较亮的局部区域被“扩大”了,而较暗的局部区域被“收缩”了,图像整体变得更亮。
(3)对灰度图像进行开运算操作之后,图像中较亮的小细节消失,如田野中的小路被暗区域覆
盖了。
(4)对灰度图像进行闭运算操作之后,可以看到较暗的一些点消失了,类似于灰度图像中的
“小孔隙”被填补了,同时较亮的区域的边缘更清晰了。
下面介绍常用的灰度形态学操作中的一些算子,实际检测中可根据需要选用。
1.对灰度图像的腐蚀运算,常用的算子如下:
(1)gray_erosion_rect:使用矩形的mask进行腐蚀操作。
(2)gray_erosion_shape :使用选定的形状mask进行腐蚀操作。
2.对灰度图像的膨胀运算,常用的算子如下:
(1)gray_dilation_rect:使用矩形的mask进行膨胀操作。
(2)gray_dilation_shape:使用选定的形状mask进行膨胀操作。
3.对灰度图像的开运算,常用的算子如下:
(1)gray_opening:对图像进行灰度值的开运算。
(2)gray_opening_rect:使用矩形的mask对图像进行灰度值的开运算。
(3)gray_opening_shape :使用选定的形状mask对图像进行灰度值的开运算。
4.对灰度图像的闭运算,常用算子如下:
(1)gray_closing:对图像进行灰度值的闭运算。
(2)gray_closing_rect:使用矩形的mask对图像进行灰度值的闭运算。
(3)gray_closing shape:使用选定的形状mask对图像进行灰度值的闭运算。

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

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

相关文章

微信小程序在线客服源码系统全端通吃 带完整的安装代码包以及搭建部署教程

系统概述 “微信小程序在线客服源码系统全端通吃”是一款集智能客服、人工客服、消息管理、数据分析等功能于一体的综合性解决方案。该系统基于微信小程序平台开发,支持全端接入(包括Web、App、小程序等),实现多渠道客户服务的无…

英国海外媒体通稿宣发:顶级媒体宣发

1.伦敦日报londonjournal 作为英国首都的权威日报,伦敦日报一直是英国新闻界的佼佼者。它详尽报道伦敦及英国各地的政治、经济、社会、文化、体育等各方面的新闻,深受读者喜爱。 2.英国先驱报ukherald 英国先驱报是一份全国性日报,以深度分…

源码构建LAMP

目录 一、安装Apache 二、安装Mysql 三、安装PHP 四、安装论坛 一、安装Apache 1.cd 到opt目录下面,将压缩包拉进Xhell 2.解压缩apr和httpd压缩包 tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz tar xf httpd-2.4.29.tar.bz2 3.将apr-1.6.2 移动到ht…

playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作的编排

playbook(剧本): 是ansible⽤于配置,部署,和管理被控节点的剧本。⽤ 于ansible操作的编排。 使⽤的格式为yaml格式 一、YMAL格式 以.yaml或.yml结尾 ⽂件的第⼀⾏以 "---"开始,表明YMAL⽂件的开始(可选的) 以#号开头为注释 列表中的所有成员都开始于…

开放式耳机原理是什么?它通过不入耳的方式带来动感音乐

开放式耳机的原理主要分为两种类型:气传导和骨传导。 气传导耳机:这种耳机的工作原理依赖于空气作为声音传播的介质。具体来说,音频设备通过耳机线将电信号传递到耳机,耳机内部的驱动单元(通常是动圈式或平衡电枢式&am…

未开启语音助手时,远程控制功能助你快速在家找回手机!

完成一整天的大扫除之后,顺手就想摸出手机刷一下短视频,但摸不到。干了一天活,手机放哪里都忘了,于是不得不在几个房间之间寻找。 但找过手机的都知道,越找越是找不到。糟糕的是前几天我嫌麻烦,把语音助手…

<数据集>铝型材缺陷识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:1885张 标注数量(xml文件个数):1885 标注数量(txt文件个数):1885 标注类别数:10 标注类别名称:[budaodian, tufen, loudi, qikeng, pengshang, tucengkailie, zangdi…

光伏模拟器的应用

太阳能光伏 (PV) 模拟器是一种可编程电源,用于模拟太阳能电池板。模拟器具有快速瞬态响应,可响应负载条件的变化并保持电压-电流特性的输出。 用户可以根据系统规格定义太阳能电池板配置,并通过选择环境条件来选择适当的环境条件进行模拟。用…

通风采光排烟天窗现行七本图集概览

在建筑设计与施工中,通风采光排烟天窗作为优化室内环境的重要设备,选择合适的型号及合理应用至关重要。当前市场上存在着多本标准化、规范化的通风采光排烟天窗图集,为设计师、工程师及施工单位、通风采光排烟天窗生产厂家提供丰富的参考资源…

如何有效找到目标客户群体?

在激烈的市场竞争中,找到并锁定目标客户群体是企业成功的关键。以下是几种有效的策略,帮助您精准定位并吸引目标客户。 1. 明确市场定位与客户画像 首先,企业需要明确市场定位,并绘制详细的客户画像,包括年龄、性别、…

LeetCode合并两个有序链表

题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 [], l2…

以FLV解复用为例详解开源库FFmpeg中解复用器的源码逻辑及处理流程

目录 1、FFmpeg简介 2、FLV文件格式介绍 3、注册解复用器 4、解复用器的处理 4.1、AVFormatContext 4.1.1、AVClass 4.1.2、AVOption 4.1.3 AVDictionary—AV字典 4.1.4、AVIOContext 4.1.4.1、URLProtocol 4.1.4.2、AVIOContext的初始化及获取 4.1.5、AVInputF…

基于vue篮球联盟管理系统pf

TOC springboot476基于vue篮球联盟管理系统pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域…

Python入门教程(超详细)

《网络安全自学教程》 Python是一种「基于C语言」实现的,「开源」的,「面向对象的」的,「动态数据类型」的「解释型」语言。 Python的语法「简单」且「优雅」,相对于其他语言学习「难度较低」,入门非常快。 Python的…

【C++】使用红黑树封装map与set

文章目录 1. 源码分析2. 调整红黑树的结构搭建map、set3. 红黑树的迭代器3.1 普通迭代器3.2 const迭代器3.3 map的operator[ ] 4. 完整代码4.1 RBTree4.2 MyMap4.3 MySet 对于map与set,它们一个是KV模型,一个是K模型,那我们要写两个红黑树吗&…

基于Springboot网上蛋糕售卖店管理系统的设计与实现--论文pf

TOC springboot504基于Springboot网上蛋糕售卖店管理系统的设计与实现--论文pf 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和…

解决springboot中Aspect注解不生效问题

如下图所示,配置了一个注解类型的Aspect,结果一直不生效 运行结果可以看到,其他非注解类型的Aspect都顺利执行了,但是这个注解的切面就是没有执行 当时也在网上搜了半天,包括在启动类增加配置,接口都要加上…

Java语言程序设计基础篇_编程练习题**16.30(模式识别:连续四个相同的数)

目录 题目:**16.30(模式识别:连续四个相同的数) 习题思路 代码示例 结果展示 题目:**16.30(模式识别:连续四个相同的数) 为编程练习题8.19编写一个GUI程序。让用户在6行7列的网格的…

实时手势识别(2)- 基于关键点分类实现零样本图片的任意手势的识别

目录 前言 1.实现效果 2.关键点分类网络 3.KPNet训练测试数据准备 4.训练结果 4.1训练过程可视化 4.2验证集上的混淆矩阵 4.测试结果 4.1不同规模模型的测试结果对比 4.2分类结果投影到第一象限 4.3测试集上的混淆矩阵 4.4 二义性手势结果 4.5视频实测 5.零样本的…

深入理解计算机系统 CSAPP 实验lab:Architecture Lab

前期准备参考: 深入理解计算机系统 CSAPP 第四章 Y86-64模拟器 安装与使用-CSDN博客 writeup上写了要求,这里就不赘述了. Part A: sum.ys: # Execution begins at address 0 .pos 0irmovq stack, %rsp # Set up stack pointercall main # Execute main programhalt # …