【OpenCV】Blob斑点检测学习笔记

本文介绍了如何使用OpenCV的SimpleBlobDetector参数设置来检测图像中的斑点。通过调整minThreshold和maxThreshold设定阈值范围,filterByArea、minArea筛选斑点面积,filterByCircularity、minCircularity关注斑点的圆度,filterByConvexity、minConvexity判断斑点的凹凸性,filterByInertia、minInertiaRatio考虑斑点的惯性比,以及filterByColor选择斑点颜色。最后,通过cv2.drawKeypoints在图像上标记出检测到的斑点。

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

设置(SimpleBlobDetector)参数:

params=cv2.SimpleBlobDetector_Parms()

改变阈值:

params.minThreshold=自定义下阈值

params.maxThreshold=自定义上阈值

根据面积过滤:

params.filterByArea=Ture

params.minArea=自定义最小面积(即检测大于此面积的斑点)

根据圆度过滤(圆的圆度为1,正方形的圆度为0.785,不熟悉圆度的以此为参考):

params.filterByCircularity=True

params.minCircularity=自定义最小圆度

根据凹凸性过滤(凹凸性=Blob面积/凸包面积):

params.filterByConvexity=True

params.minConvexity=自定义最小凹凸性

根据惯性比过滤(0<=惯性比<=1):

params=filterByInertia=True

params.minInertiaRation=自定义最小惯性比

根据颜色过滤:

params.filterByColor=True

选择较暗斑点:params.blobColor=0

选择较亮斑点:params.blobColor=255

创建检测器:

detector=cv2.SimpleBlobDetector(params)

检测斑点:

keypoints=detector.detect(图像对象)

圈出检测到的斑点:

img=cv2.drawKeypoints(图像对象,keypoints,numpy([]),颜色(BGR格式),cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值