2016-10-04 7 views
1

을 인식하지 :SimpleBlobDetector은 아래에 지정된 매개 변수와 함께 내가 SimpleBlobDetector을 사용하고있는 더 확실한 원

# Parameters 
params = cv2.SimpleBlobDetector_Params() 
params.filterByArea = True 
params.minArea = 1500 
params.filterByCircularity = True 
params.minCircularity = 0.5 
params.filterByConvexity = True 
params.minConvexity = 0.9 
params.filterByInertia = True 
params.minInertiaRatio = 0.7 
params.minDistBetweenBlobs = 10 
params.filterByColor = False 

# Create a detector with the parameters 
detector = cv2.SimpleBlobDetector(params) 
keypoints = detector.detect(dilated) 
im_with_keypoints = cv2.drawKeypoints(dilated, keypoints, np.array([]), (0, 0, 255),cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) 

# Display result 
cv2.imshow("Keypoints", im_with_keypoints) 

이 아래의 결과를 생성합니다. 보시다시피 '깨끗한'서클 중 일부는 감지되지 않고 가장자리가 거친 서클은 감지됩니다. 문제가 될 수있는 것은 무엇입니까?

result of SimpleBlobDetector

+0

그래서 저는 전화로 디버깅을 할 수 없지만 개체 매개 변수가 필터 매개 변수에 속하는지 확인하기 위해 온전한 검사를 받았습니까? –

+0

예, 필터링 매개 변수를 가능한 한 많은 blob을 잡기 위해 매우 넓게 만들려고했으나 문제가 여전히 발생했습니다. – ganninu93

답변

2

추가하면

params.maxArea = 10000

이 이미지를 얻을

:

not too big to fail

그래서 난 기본 최대 거기 가정, 그리고 당신 ' 그것을 초과해서.