改进Zhang Suen细化算法的C#实现】的更多相关文章

本文主要实现了改进Zhang Suen细化算法的C#实现,相关论文 :“牟少敏,杜海洋,苏平,查绪恒,陈光艺.一种改进的快速并行细化算法[J].微电子学与计算机,2013,(第1期)” .这篇论文中关于Zhang Suen细化算法的描述,貌似存在问题.本文的算法中的意思是两次标记的点迭代后同时删除.而zhang快速算法,是分为两步删除边界点的.第一步迭代之后,已经做标记的点就需要删除了.如果两步可以放在一起删除的话,为什么不在一次迭代中将几个条件一起判断呢 一:Zhang-Suen细化算法介绍…
原文:Win8 Metro(C#)数字图像处理--2.49Zhang二值图像细化算法  [函数名称]   二值图像细化算法      WriteableBitmap ThinningProcess(WriteableBitmap src) [算法说明]   图像细化(Image Thinning),一般指二值图像的骨架化(Image Skeletonization)的一种操作运算. 所谓的细化就是经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到图 像的骨架.骨架,可以…
二值图像的细化算法也有很多种,比较有名的比如Hilditch细化.Rosenfeld细化.基于索引表的细化.还有Opencv自带的THINNING_ZHANGSUEN.THINNING_GUOHALL喜欢等等.这些都属于迭代的细化方式,当然还有一种是基于二值图像距离变换的细化方法,二值想比较,我个人认为是基于迭代的效果稳定.可靠,但是速度较慢,且速度和图片的内容有关,基于距离变换的版本,优点是速度稳定,但是效果差强人意.本文这里还是选择基于迭代的方式予以实现. 相关的参考文章有:http://c…
程序编码参考经典的细化或者骨架算法文章: T. Y. Zhang and C. Y. Suen, "A fast parallel algorithm for thinning digital patterns," Comm. ACM, vol. 27, no. 3, pp. 236-239, 1984. 它的原理也很简单:       我们对一副二值图像进行骨架提取,就是删除不需要的轮廓点,只保留其骨架点.假设一个像素点,我们定义该点为p1,则它的八邻域点p2->p9位置如下图…
      前面一篇教程中,我们实现了Zhang的快速并行细化算法,从算法原理上,我们可以知道,算法是基于像素8邻域的形状来决定是否删除当前像素.还有很多与此算法相似的细化算法,只是判断的条件不一样.在综述文章, Thinning Methodologies-A Comprehensive Survey中描述了各种细化算法的实现原理,有兴趣可以阅读一下.       下面看看图像细化的定义以及细化算法的分类: 图像细化(Image Thinning),一般指二值图像的骨架化(Image Skel…
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8672489.html 文中的一些图片以及思想很多都是参考https://www.cnblogs.com/My-code-z/p/5712524.html 大佬的思想 以及自己做一些个人理解的补充 若想下载指静脉识别入门代码:https://github.com/lmskyle/process 细化算法原理理解起来并不难,借助矩阵九宫格来实现.将九宫格定义并且编号成如下格式. 在讲解之前有必要…
要达到的效果就是将线条尽量细化成单像素,按照论文上的Hilditch算法试了一下,发现效果不好,于是自己尝试着写了一下细化的算法,基本原理就是从上下左右四个方向向内收缩. 1.先是根据图片中的原则确定了以下16种情况 2.调试过后发现,迭代次数多了之后,原来连接着的线条会断开,分析原因如下图 3.修改了一下判断条件 4.调试过后发现还是会出现断的地方,再次分析原因如下图 5.又加了判断条件,如下图 最终实现的效果如下   对比图 对规则曲线的效果比较好 但是圆的效果不太好,有待改进 附上代码,测…
本章我们在学习一下基于索引表的细化算法. 假设要处理的图像为二值图,前景值为1,背景值为0. 索引表细化算法使用下面的8邻域表示法: 一个像素的8邻域,我们可以用8位二进制表示,比如下面的8邻域,表示为00111000=0x38=56 我们可以枚举出各种情况下,当前像素能否删除的表,该表大小为256.它的索引即为8邻域表示的值,表中存的值为0或1,0表示当前像素不能删除,1表示可以删除.deletemark[256] 比如下图第一个表示,索引值为0,它表示孤立点,不能删除,所以deletemar…
本章我们看下Pavlidis细化算法,参考资料http://www.imageprocessingplace.com/downloads_V3/root_downloads/tutorials/contour_tracing_Abeer_George_Ghuneim/theo.html Computer VisiAlgorithms in Image Algebra,second edition 该算法最初是做前景轮廓跟踪的. 假设使用下面的8邻域,且前景像素值为1,背景像素值为0. 下面是该算…
本章我们学习Rosenfeld细化算法,参考资料:http://yunpan.cn/QGRjHbkLBzCrn 在开始学习算法之前,我们先看下连通分量,以及4连通性,8连通性的概念: http://www.imageprocessingplace.com/downloads_V3/root_downloads/tutorials/contour_tracing_Abeer_George_Ghuneim/connectivity.html 假设我们有二值图,背景像素值为0,前景像素值为1. 我们使…