Halcon区域分割之分水岭分割法

        现实中我们见到过有山有湖的景象,那么一定是水绕山、山围水的情形。当然可在需要的时候人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山与水的界线以及湖与湖之间的间隔,就是分水岭。
       分水岭分割法是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看做是地形学上的拓扑地貌,图像中的每一点像素的灰度值表示该点的海拔高度,高灰度值代表山脉,低灰度值代表盆地,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界形成了分水岭。
      有时直接使用图像灰度值代表高度来实现分水岭算法太困难,需要进行距离变换,下面简单介绍距离变换。
      距离变换是针对二值图像的一种变换。在二维空间中,一幅二值图像可以认为仅仅包括目标和背景两种像素,目标的像素值为1,背景的像素值为0。距离变换的结果不是另一幅二值图像,而是一幅灰度值图像,即距离图像,图像中每个像素的灰度值为该像素与距其最近的背景像素间的距离,距离变换也就是此点的灰度值,代表此点到边界的距离。距离边界越近,灰度值越小;距离边界越远,灰度值越大。中心像素的灰度值最大,边界为零。
      最常见的距离变换算法是通过连续的腐蚀操作来实现的,腐蚀操作的停止条件是所有前景像素都被完全腐蚀。因此,根据腐蚀的先后顺序,可以得到各个前景像素点到前景中心骨架像素点的距离。根据各个像素点的距离值,设置不同的灰度值。这样就完成了二值
      下面简单介绍使用分水岭分割法时可能用到的算子。

      1):distance _ transform ( Region ; DistanceImage : Metric . Foreground . Width , Height )
      功能:对区域作距离变换,获得距离变换图。
      Region :距离变换目标区域。
      Distancelmage :获得距离信息图。
      Metric :度量距离类型,包括' City - block ',' chessboard ',' euclidean '
      Foreground :为' true ',则针对前景区域( Region )作距离变换;为" false ',则针对背景区域(整个区域减去 Region )作距离变换。
      Width 、 Height :输出图像的宽、高。
      2):watersheds ( Image : Basins . Watersheds )
      功能:直接提取图像的盆地区域和分水岭区域。
      Image :需要分割的图像(图像类型只能是 byte 、uint2、 real )。
      Basins :盆地区域。
      Watersheds :分水岭区域(至少一个像素宽)。
      3):watersheds _ threshold ( Image : Basins ; threshold )
      功能:阈值化提取分水岭盆地区域。
      Image :需要分割的图像(图像类型只能是 byte 、uint2、 real )。
      Basins :分割后得到的盆地区域。
      Threshold :分割时的阈值。
      应用分水岭分割法的算子时分为两步:第一步计算分水岭不使用阈值,如用算子 watersheds ;第二步使用阈值,此阈值是合并相邻两个盆地区域时使用的,如果两个盆地的最小灰度值与分水岭上最小灰度值的差的最大值都小于此阈值,那么这两个盆地区域就会合并。假设B1、B2分别表示相邻盆地区域的最小灰度值, W 表示两盆地的分水岭最小灰度值,若满足式(5-47),则分水岭操作会被取消。 Max ( W - BI , W -B2)< Threshold

案例分析

目标:获取圆形区域内矩形区域

疑难点:目标区域连通

   

  解决方案:

1):开运算分割

2):分水岭分割

代码

read_image (Image1, 'E:/数据/资源图片/截图/2.png')
rgb1_to_gray (Image1, GrayImage)
scale_image_max (GrayImage, ImageScaleMax)
threshold (ImageScaleMax, Region, 0, 120)
gauss_filter (ImageScaleMax, ImageGauss1, 7)
watersheds (ImageGauss1, Basins1, Watersheds1)
intersection (Basins1, Region, SegmentedPellets)
region_features (SegmentedPellets, 'area', Value)
select_shape (SegmentedPellets, SelectedRegions, 'area', 'and', 1500, 4999)
region_features (SelectedRegions, 'row', RowValue)
select_shape (SegmentedPellets, SelectedRegions, 'row', 'and', min(RowValue)-5, min(RowValue)+5)
dev_display (Image1)
dev_display (SelectedRegions)

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

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

相关文章

数据结构与算法——图

图 1.图的定义和表示 图的定义 图G由集合V和集合E组成&#xff0c;记作G(V,E),其中&#xff1a; 1、V是顶点元素的有限集合&#xff1b; 2、E是顶点间关系——边的有限集合。 3、边是顶点的无序对或有序对。 无向图和有向图&#xff1a; 无向图 由没有方向的边构成的图…

FebHost:法国.FR域名的市场前景和挑战

.FR域名的未来前景如何&#xff1f; .fr域名在2023年经历了显著增长&#xff0c;新注册量大幅增加。这一积极趋势凸显了法国 VSE&#xff08;极小型企业&#xff09;和 SME&#xff08;中小型企业&#xff09;数字化转型的持久影响&#xff0c;这一转变早在 2022 年就已开始。…

SQL进阶技巧:如何计算复合增长率?

目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 复合增长率是第N期的数据除以第一期的基准数据&#xff0c;然后开N-1次方再减去1得到的结果。假如2018年的产品销售额为10000&#xff0c;2019年的产品销售额为12500&#xff0c;2020年的产品销售额为15000&…

开源的 API 学习平台「GitHub 热点速览」

前有 5 万颗星标的开源项目 HTTPie 因误操作导致 Star 清零&#xff08;2022 年&#xff09;&#xff0c;上周知名开源项目 Elasticsearch 也经历了 Star 一夜清零的事件。这些事故的原因均是管理员误将开源项目从公开状态转为私有状态所导致。为避免类似事件再次发生&#xff…

华为HD集群重启NAMENODE实例操作步骤

华为HD集群重启NAMENODE实例操作步骤 管理员账号进入FI——服务——HDFS&#xff0c;选择角色&#xff1a;namenode重启namenode&#xff08;备&#xff09; 如下图&#xff1a;点击【实例】–角色选择【Namenode】–选择备节点&#xff08;自己记录一下当前备节点的IP&…

LoRA:大型语言模型(LLMs)的低秩适应;低秩调整、矩阵的低秩与高秩

目录 LoRA:大型语言模型(LLMs)的低秩适应 一、LoRA的基本原理 二、LoRA的举例说明 三、LoRA的优势 低秩调整、矩阵的低秩与高秩 一、低秩调整(LoRA) 二、矩阵的低秩 三、矩阵的高秩 LoRA:大型语言模型(LLMs)的低秩适应 LoRA(Low-Rank Adaptation of LLMs),…

CST参数扫描设置细节

cst参数扫描的细节 点开参数扫描对话框&#xff0c;新建扫描参数&#xff0c; 例如参数a进行扫描1-2&#xff0c;0.5的步长&#xff0c;这样最后会出现3个参数的仿真结果。 这时如果增加参数b的扫描&#xff0c;在同一sequence下&#xff0c;同样1-2&#xff0c;0.5的步长&…

最高降本90%!它究竟是如何实现的?

第一、云在未来“优先”&#xff0c;病毒攻击和人为错误将成主要威胁 根据Gartner预测&#xff0c;到2025年&#xff0c;超过95%的新数字工作负载将被部署在云原生平台上&#xff0c;超过85%的企业机构将接受云优先原则。 在这一背景下&#xff0c;勒索病毒攻击和人为错误成为…

OpenCV—calcHist()函数

void calcHist( const Mat* images, int nimages,const int* channels, InputArray mask,SparseMat& hist, int dims,const int* histSize, const float** ranges,bool uniform true, bool accumulate false ); images 输入的数据指针&#xff0c;要具备相同的尺寸和数…

用例怎么链接到其他地方的序列图

龙勤思(2018年1月22日)&#xff1a; 潘老师&#xff0c;你在PPT里说分析序列图的位置在用例下面。但是你上课时给的EA模板里需求和分析是分成两个包的&#xff0c;所以分析序列图没办法直接加为系统用例的下级元素 潘加宇: 这页幻灯片有点老了&#xff0c;回头我更新。严格来…

Java | Leetcode Java题解之第540题有序数组中的单一元素

题目&#xff1a; 题解&#xff1a; class Solution {public int singleNonDuplicate(int[] nums) {int low 0, high nums.length - 1;while (low < high) {int mid (high - low) / 2 low;mid - mid & 1;if (nums[mid] nums[mid 1]) {low mid 2;} else {high …

利用游戏引擎的优势

大家好&#xff0c;我是小蜗牛。 在当今快速发展的游戏产业中&#xff0c;选择合适的游戏引擎对开发者来说至关重要。Cocos Creator作为一款功能强大且灵活的游戏引擎&#xff0c;为开发者提供了丰富的工具和资源&#xff0c;使他们能够高效地开发出优秀的游戏。本文将探讨如何…

python怎样嵌入c

用c语言编写一个动态库&#xff0c;提供两个函数&#xff0c;两个数的整形求和&#xff0c;两个浮点数的求和。取名为mylib.c。 将c函数文件编译成so动态库。运行gcc mylib.c -fPIC -shared -o libtest.so命令&#xff0c;在目录下可以看到生成的库文件libtest.so。 Python调用…

ML 系列:机器学习和深度学习的深层次总结( 19)— PMF、PDF、平均值、方差、标准差

一、说明 在概率和统计学中&#xff0c;了解结果是如何量化的至关重要。概率质量函数 &#xff08;PMF&#xff09; 和概率密度函数 &#xff08;PDF&#xff09; 是实现此目的的基本工具&#xff0c;每个函数都提供不同类型的数据&#xff1a;离散和连续数据。 二、PMF 的定义…

一键AI换衣-可图AI试衣

我们的真的实现了穿衣自由了吗&#xff1f;上传一张人物图片和衣服的图片&#xff0c;就能实现一键换衣。 这就是可图AI试衣项目 魔塔地址&#xff1a;https://www.modelscope.cn/studio ... lors-Virtual-Try-On 参考&#xff1a; 一键AI换衣-可图AI试衣 https://www.jinsh…

Unity数据持久化 之 Xml入门精要 (从语法入门到序列与反序列化)

该教程资源来源于唐老狮&#xff0c;仅作学习分享交流 学习xml是因为看到了uitookit里出现了uxml 所以来学习一下 1.xml结构 2.基础语法 注释与开头固定写法 <!--第1行 注释格式 第2行代表版本和编码格式&#xff0c;是固定写法--> <?xml version"1.0" …

在 Bash 中获取 Python 模块变量列

在 Bash 中获取 Python 模块的变量列表可以通过使用 python -c 来运行 Python 代码并输出变量名列表。 1、问题背景 在编写 Bash 补全脚本时&#xff0c;需要获取已安装 Python 模块中与模式匹配的所有变量。为了避免解析注释等内容&#xff0c;希望仅使用 Python 相关功能。 …

Xserver v1.4.2发布,支持自动重载 nginx 配置

Xserver——优雅、强大的 php 集成开发环境 本次更新为大家带来了更好的用户体验。 &#x1f389; 下载依赖组件时&#xff0c;显示进度条&#xff0c;展示下载进度。 &#x1f389; 保存站点信息和手动修改 vhost 配置文件之后&#xff0c;自动重载 nginx 配置 &#x1f41e…

记录————封装vue3+element-plus(el-upload)上传图片组件

AI介绍&#xff1a; 显示已上传的图片列表&#xff0c;并提供删除和预览功能。支持上传新的图片&#xff0c;并在上传成功后显示在列表中。 代码的具体步骤如下&#xff1a; 在模板中&#xff0c;使用v-for指令遍历imageUrls数组&#xff0c;显示已上传的图片&#xff0c;并…

ssm060基于SSM的高校共享单车管理系统的设计与实现+vue(论文+源码)_kaic

设计题目&#xff1a;高校共享单车管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0…