python中opencv阈值的最小blob大小

时间:2017-09-17 17:07:54

标签: python opencv threshold

只有在blob大小超过(height,width)时才有阈值?

示例

import cv2

img_1 = cv2.imread('my_image_1.jpg')
thresh = cv2.threshold(img_1, 200, 255, cv2.THRESH_BINARY)[1]

出于阈值处理的目的,我想忽略所有不在blob中的像素,6 x 6像素也符合阈值条件。

这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:3)

请检查this tutorial。 您可以通过在代码中添加以下行来实现此目的,

params = cv2.SimpleBlobDetector_Params()

params.filterByArea = True
params.minArea = 20 #define minimum area

ver = (cv2.__version__).split('.')

if int(ver[0]) < 3 :
    detector = cv2.SimpleBlobDetector(params)
else : 
    detector = cv2.SimpleBlobDetector_create(params)

keypoints = detector.detect(thresh)

im_with_keypoints = cv2.drawKeypoints(thresh, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)