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的像素的图像,如果没有条件六,就细化没了。

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

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


相关文章
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习】密度聚类DBSCAN、OPTICS的讲解及实战演示(附源码 超详细)
【Python机器学习】密度聚类DBSCAN、OPTICS的讲解及实战演示(附源码 超详细)
966 0
|
定位技术
【gis】gdal 切分遥感 tif 格式图片
【gis】gdal 切分遥感 tif 格式图片
739 0
【gis】gdal 切分遥感 tif 格式图片
|
存储 分布式计算 安全
Hadoop常见问题
【6月更文挑战第2天】
271 5
|
存储 前端开发 Java
Android MVVM架构模式下如何避免内存泄漏
Android采用MVVM架构开发项目,如何避免内存泄漏风险?怎样避免内存泄漏?
329 1
|
文字识别 算法 计算机视觉
图像处理之Zhang Suen细化算法
图像处理之Zhang Suen细化算法
616 0
|
12月前
|
开发工具 开发者
Flutter&鸿蒙next 状态管理高级使用:深入探讨 Provider
本文深入探讨了 Flutter 中 Provider 的高级用法,涵盖多 Provider 组合、Selector 优化性能、ChangeNotifierProxyProvider 管理依赖关系以及自定义 Provider。通过这些技巧,开发者可以构建高效、可维护的响应式应用。
403 2
|
负载均衡 网络协议 算法
|
JavaScript Java 测试技术
基于SpringBoot+Vue的在线音乐网站的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的在线音乐网站的详细设计和实现(源码+lw+部署文档+讲解等)
250 5
|
机器人 芯片
ChatGPT提问技巧——对话提示
ChatGPT提问技巧——对话提示
1185 8
|
算法 Windows
Windows压缩工具 “ Bandizip 与 7-zip ”
一、什么是压缩 压缩是一种通过特定的算法来减小计算机文件大小的机制,因为它可以减小文件的字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间。 二、Bandizip的简介 1、大概介绍 Bandizip 是一款压缩软件,它拥有非常快速的压缩和解压缩的算法,适用于多核心压缩、快速拖放、高速压缩等功能。 2、详细介绍 百度百科-验证
377 1
下一篇
开通oss服务