细化处理(二值图像)Hilditch细化算法

本文介绍了Hilditch细化算法的原理和应用,强调了在二值图像处理中如何通过6个条件判断并删除像素以保持图像性质不变。算法通过迭代检查每个像素,满足特定条件的像素会被标记并在迭代周期结束后变为背景。同时,给出了8联通连接数的计算公式,并提及了C++代码实现。
摘要由CSDN通过智能技术生成

细化处理即删除标记像素,但不会影响图像的性质(连接、方向等)
标记目标像素删除需要满足6个条件:
这里写图片描述
1.p的灰度值为255,即p不是背景;
2.x0、x2、x4、x6不全为255;(不然删除p,会造成图像空心)
3.x0-x7至少有2个255;(若只有一个255,则p为图像的某个端点,不能删除否则影响图像性质,若没有255,则p为孤立点,也不能删除)
4.p的8联通区域连接数为1,即Nc(p)=1,此时p称为可删除点;
补充:Nc(p)=2为连接点;Nc(p)=3为分支点;Nc(p)=4交叉点。《数字图像处理》第二版,武汉大学出版社
5.假设x2被标记删除,x2=0时,p的联通连接数为1;
6.假设x4被标记删除,x4=0时,p的联通连接数为1。
对图像从左到右,从上到下进行迭代每个像素。在迭代周期,对于每个像素p,如果满足以上6个要求,则标记它,在当前迭代周期结束时,将所有标记像素变为背景值。若某个迭代周期不存在标记点,算法结束。
8联通连接数公式:
这里写图片描述
当2i+2=8时,x8=x0;xi(上划线)=1-xi(0 or 1)
c++代码:

void Hilditch(Mat& image)
 {
     int a[9],b[9],mark,check;
     int nr,nc;
     nr=image.rows;
     nc=image.cols;
     mark=
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值