OpenCV-骨架提取

本文介绍了图像处理中的击不击中变换和骨架提取算法,详细阐述了两种算法的步骤,并提供了Python代码实现。击不击中变换用于检测图像中的特定结构,骨架提取则用于将图像简化为一维骨架,保留主要结构。代码中使用OpenCV库进行操作,通过腐蚀和开运算等操作逐步完成任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

击不击中变换

算法步骤:

  1. 开三个内存缓冲区,用来保存原图像数据,结构元素H对原图像的腐蚀结果,结构元素M对原图像补集的腐蚀结果
  2. 保存原图像数据,用结构元素H对原图像腐蚀,并保存腐蚀后的结果
  3. 恢复原图像,并对其求补
  4. 用结构元素M对原图像的补进行腐蚀操作,并保存腐蚀后的结果
  5. 求两个腐蚀结果的交集,即击中与击不中的结果

骨架提取

算法步骤:

  1. 获得原图像的首地址及图像的宽和高,并设置循环标志1
  2. 用结构元素腐蚀原图像,并保存腐蚀结果
  3. 设置循环标志为0,如果腐蚀结果中有一个点为255,即原图像尚未被完全腐蚀成空集,则将循环标志设为1.
  4. 用结构元素对腐蚀后的图像进行开运算(消除小的白色区域),并求取腐蚀运算与开运算的差(得到消除的白色区域)
  5. 用[4]中求得的结果与之前求得的骨架进行并集运算,以获得本次循环求得的骨架
  6. 把本次循环中保存的腐蚀结果赋值给原图像
  7. 重复步骤[2]-[6],直到将原图像腐蚀成空集为止。
    最终求得的骨架就是结果。

代码

def skeleton(im
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咬着棒棒糖闯天下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值