Halcon根据灰度特征值选择区域select_gray

2024-01-09 21:20

本文主要是介绍Halcon根据灰度特征值选择区域select_gray,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Halcon根据灰度特征值选择区域

与select_shape算子类似,灰度值图像也可以快捷地根据特征值选择符合设定条件的区域。select_gray算子用于实现这一功能,该算子能接受一组区域作为输入,然后根据选定的特征计算其是否满足特定的条件。当所有区域的特征都计算结束后,图像将在原来的灰度图上输出符合设定条件的区域。该算子的原型如下:

select_gray ( Regions, Image : SelectedRegions : Features, Operation, Min, Max:)

其各参数的含义如下。
参数1:Regions(输入参数),表示图像上待检查的一组区域。
参数2:Image(输入参数),表示输入的单通道图像。
参数3:SelectedRegions(输出参数),表示特征的局部关联性。
参数4:Features(输入参数),表示选择的特征。
参数5:Operation(输入参数),表示低于最大绝对灰度值的百分比。
参数6:Min(输入参数),表示最小的灰度值,默认为128。
参数7:Max(输入参数),表示最大的灰度值,默认为255。
下面以一个例子说明,如所示。其中图(a)为输入的彩图转化的灰度图像,目标是提取湖面区域;图(b)为灰度图像经过阈值分割的结果;图(c)为使用select_shape 算子进行面积筛选的结果,得到了两部分区域。
为了将这两部分区域进一步区分,这里使用了灰度特征中的deviation参数,因为两部分中的灰度偏差明显不同。湖面区域灰度变化比较小,而旁边的村庄区域灰度变化则比较明显,因此使用select_gray算子,用灰度偏差特征可以将偏差较小的湖面区域提取出来。提取结果显示在图(d)中。
在这里插入图片描述
上述过程的代码如下:

*关闭当前窗口
dev_close_window ()
*读取输入图像
read_image (Image, 'data/village')
*获取原始图像的宽和高
get_image_size (Image, Width, Height)
*创建同尺寸的显示图像的窗口
dev_open_window (0, 0, Width, Height, 'white', WindowID)
*将图像转化为灰度图像
rgbl_to_gray (Image, GrayImage)
*使用均值滤波对灰度图像进行平滑处理,以去除细节杂点
median_image (GrayImage, ImageMedian, 'circle', 2, 'mirrored')
*进行阈值处理,提取出较亮部分
threshold (ImageMedian, BrightRegion, 180, 255)
*使用开运算将各区域分离
opening_circle (BrightRegion, RegionClosing,6.5)
*将不连通的区域分隔开来
connection (RegionClosing, BrightRestConnection)
*将面积较大的区域提取出来
select_shape (BrightRestConnection, SelectedRegionsl, 'area', 'and',5000, 99999)
*获取这些区域的平均值和偏差。由于湖面区域灰度变化比较小,因此灰度偏差会比较小
intensity (SelectedRegionsl, ImageMedian, Mean, Deviation)
*以灰度偏差为条件,选出符合条件的区域
select_gray (SelectedRegionsl, ImageMedian, SelectedRegions, 'deviation', 'and',4,10)
dev_clear _window ()
dev_display (GrayImage)
dev display (SelectedRegions)

至此,湖面区域就被提取出来了。在其他检测中,可以多次利用select_gray 算子进行其他灰度
值条件的设定,直到提取出理想的区域。

这篇关于Halcon根据灰度特征值选择区域select_gray的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/588471

相关文章

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄