设置(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)