Blob,这里译为斑点,可以理解为一幅图像中的显著区域。由于其代表的是一个连通区域,在图像匹配中相比于单纯的点具有更高的稳定性。本文将介绍OpenCV中集成的一个简单检测器,SimpleBlobDetector。在此之前,先理解几个算法中会用到的重要概念。
Circularity,圆度 圆度是一个反映图形接近于完美圆的程度,其范围为(0,1)。如果该值越接近于0,则该图形越接近一个无限拉长的矩形;如果该值越接近于1,则该图形越接近于一个完美的圆。圆度的计算公式如下:Roundness=4πSC2(1){\rm Roundness} =\frac{4\pi S}{C^2}\tag{1}Roundness=C24πS(1)
其中,S表示该图形的面积,C表示该图形的周长。
InertiaRatio,惯性率 首先,偏心率是指某一个椭圆轨道于理想圆形的偏离程度,长椭圆轨道的偏心率高,而近于圆形的轨道的偏心率低,偏心率的大小范围为[0,+∞)。对于本文来说,椭圆的偏心率范围为(0,1),当该值越接近于0,则椭圆越圆;当该值越接近于1,则该椭圆越扁。偏心率的计算公式如下:e=ca(2)e=\frac{c}{a}\tag{2}e

本文介绍了OpenCV中的SimpleBlobDetector及其参数配置方法。详细解释了Blob检测的重要性,并通过实例展示了如何利用该检测器筛选不同特征的Blob,包括面积、阈值、圆度、惯性率和凸度。
OpenCV | 斑点检测&spm=1001.2101.3001.5002&articleId=112219782&d=1&t=3&u=afc0f059d1ba4168b2c1c9f72fc92807)
1098

被折叠的 条评论
为什么被折叠?



