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

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

你可能感兴趣的:(opencv,python)