感谢openCV(4.2.0.34)中SimpleBlobDetector_create的内置功能,我设法轻松地找到了圈子,我确保背景为白色以便于识别。在下图中,发现了3个圆圈,正如我期望的那样:但是出于某种原因,当我在下面的图片中应用相同的代码时,
这个完美的圆圈无法识别。怎么来的?
下面是我的短代码。
img = cv2.imread(filename='img1.png')
cv2.imshow(winname="Original", mat=img)
cv2.waitKey(0)
params = cv2.SimpleBlobDetector_Params()
# set Circularity filtering parameters:
params.filterByCircularity = True
# 1 being perfect circle, 0 the opposite
params.minCircularity = 0.8
# create a detector with parameters
detector = cv2.SimpleBlobDetector_create(parameters=params)
keypoints = detector.detect(img)
print("Number of circular Blobs: " + str(len(keypoints)))
谢谢大家的帮助!