opencv图像特征检测之斑点检测

本文介绍了图像特征点检测中的斑点检测,重点讨论了两种主要方法:基于求导的微分检测器和基于局部极值的分水岭算法。OpenCV中的simpleBlobDetector用于实现基本的斑点检测,通过设置不同参数进行过滤和优化,能够检测到图像中的斑点,并具有较好的稳定性和抗干扰能力。

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

  前面说过,图像特征点检测包括角点和斑点,今天来说说斑点,斑点是指二维图像中和周围颜色有颜色差异和灰度差异的区域,因为斑点代表的是一个区域,所以其相对于单纯的角点,具有更好的稳定性和更好的抗干扰能力.

  视觉领域的斑点检测的主要思路是检测出图像中比周围像素灰度打或者比周围区域灰度值小的区域,一般来说,有两种基本方法

  1.基于求导的微分方法,这成为微分检测器

  2.基于局部极值的分水岭算法,OPENCV中提供了simpleBlobDetector特征检测器来实现这种基本的斑点检测算法.

  

  LOG斑点检测

  使用高斯拉普拉斯算子检测图像斑点是一种比较常见的办法,对一个二维的高斯函数G(x,y,o),进过规范化的拉普拉斯变换以后,结果在二维图像上呈现为一个圆对称函数,我们可以用这个函数来检测图像的斑点,并且可以通过改动o的值

来检测不同尺寸的二维斑点.图像如下

  

  对上面这段话的直观理解是:一个图像和一个二维函数进行卷积运算,实际上就是求取图像和这个函数的相似性,同理,图像与高斯拉普拉斯函数进行卷积,就是求取图像和高斯拉普拉斯函数的相似性,当图像中的斑点尺寸与高斯拉普拉斯函数的形

状趋于一致的时候,图像对应位置的拉普拉斯响应达到最大.

  实际上,lapacian算子本身可以检测图像的极值点,设其为L算子,但是因为L算子并不能消除干扰,图像M中的噪声会影响求取到的结果,所以对图像M进行名为G的高斯滤波去除干扰,得到图像M',公式如下M' = M*G*L=M*(G*L);括号里面就是

高斯拉普拉斯算子.

  通过上面的那种算法,我们可以得到斑点,但是没有多尺度的斑点,当高斯协

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值