Hilditch 细化(实现一)

简介: Hilditch 细化(实现一)

对于当前像素点,扫描它的8邻域,如果邻域的像素值为255,则b[i]=1(i=0…8),像素值为128(表示该像素点在前面的循环中被标记为删除),b[i]=-1,如果像素值为0,则b[i]=0。

image.png

下面会根据b[i]的值进行6个条件判断,如果条件满足,则会标记该像素值为GRAY(128)。

1. b[0]=1,即当前像素必须为前景点。

2. 1-abs(b1) + 1 – abs(b3) + 1 –abs(b5) + 1 – abs(b7) >= 1,该条件表示当前像素为边界点,即东西南北四个点至少有一个b[i]=0。

3. abs(b1)+…+abs(b8)>=2, 该条件表示不能删除端点,即p0点周围只有一个点为1或-1的情况。

4.  统计b1到b8等于1的数量,该数量值必须大于1,该条件表示不能删除端点。、

5.  连通性检测,使用下面的公式:首先根据当前像素周围3*3域的值,记录d[9]数组,如果b[i]等于0,则d[i]=0, 否则d[i]=1,最后计算 d1-d1*d2*d3+d3-d3*d4*d5+d5-d5*d6*d7+d7-d7*d8*d1是否为1,为1则满足连通性,可以删除。

image.png

6.最后一个条件保证当轮廓是2个像素宽时,只删除一边。统计sum的值,当值为8时候,可以删除。


可能不好理解,下面用几个gif要展示细化过程,红色表示本轮删除的点。

下图绿色表示:本轮符合第一个条件,但不符合第二个条件的点。

下图绿色表示:符合第一个条件但不符合第三个条件的点。


下图绿色表示:符合第一个条件但不符合第四个条件的点。

下图绿色:符合第一个条件但不符合第五个条件的点。

下图绿色:符合第一个条件但不符合第六个条件的点:

第六个条件可能不好理解,宽度(高度)只有2的像素的图像,如果没有条件六,就细化没了。

前五个条件第一轮,都没有绿。

第六个条,有一行(列)率了。


相关文章
|
1天前
|
监控 数据可视化 测试技术
从工作分解到产品分解:如何灵活应用项目管理结构?
在项目管理中,工作分解结构(WBS)和产品分解结构(PBS)是将大型任务分解为可管理步骤的关键方法。本文详细介绍了WBS和PBS的概念、应用场景和实践步骤,并推荐了板栗看板、Asana和Microsoft Project等高效项目管理工具,帮助提升项目管理效率。
16 4
|
4月前
|
NoSQL Redis UED
业务架构问题之在流程建模中,“定职责”的重要性是什么,流程建模中的交互设计原则是什么
业务架构问题之在流程建模中,“定职责”的重要性是什么,流程建模中的交互设计原则是什么
|
4月前
|
测试技术 领域建模
领域建模问题之领域模型中的四步建模是什么
领域建模问题之领域模型中的四步建模是什么
|
4月前
|
领域建模
领域建模问题之建模中归类分组是什么
领域建模问题之建模中归类分组是什么
|
4月前
软件复用问题之如果无法进行定量分析,评估系统的复用性要如何解决
软件复用问题之如果无法进行定量分析,评估系统的复用性要如何解决
|
6月前
|
监控 数据可视化 项目管理
WBS任务分解拆解:项目管理中的效率秘诀探讨
WBS(Work Breakdown Structure)是项目管理中将大型复杂项目分解为可管理的小任务的方法。它帮助清晰定义项目目标,确保100%覆盖所有工作,并遵循任务独立性及适当工作包大小原则。WBS通过简化项目、明确责任人、制定工作清单、估算时间和分配资源,促进项目跟踪与控制。使用工具如Zoho Projects,可按阶段创建任务,细化子任务,设定依赖关系,分配资源,以及设置提醒和里程碑,从而有效管理项目执行。
709 1
|
6月前
|
机器学习/深度学习 人工智能 算法
评价模型:层次分析法
评价模型:层次分析法
104 0
评价模型:层次分析法
|
搜索推荐 安全 数据挖掘
产品运营方法论:从目标拆解到策略重构
本文从产品运营的定义到作者对产品运营的理解以及一些工作中用到的方法论做了总结。
211212 33
【逻辑思维训练 一】金字塔思维概述
【逻辑思维训练 一】金字塔思维概述
123 0