Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Why do overlapping blob detection key points occur?

Hi, I'm fairly new to using OpenCV with C++ and I've been toying around with the blob detection algorithm.

I noticed that there is one particular key point that basically is overlapping with another one really closely.

Is there any explanation as to why this occurs? image description

Why do overlapping blob detection key points occur?

Hi, I'm fairly new to using OpenCV with C++ and I've been toying around with the blob detection algorithm.

I noticed that there is one particular key point that basically is overlapping with another one really closely.

Is there any explanation as to why this occurs? image description

Here is the code for the parameters I have set and calling up the detector itself, the images are captured via a RealSense camera:

    //Blob Detection Setup 
    SimpleBlobDetector::Params params;
    //Area filter
    params.filterByArea = true;
    params.minArea = 500; //used to filter out specks
    params.maxArea = 3000000; //this is just an arbitrarily very high number to exceed the default cap
    //Circularity filter
    params.filterByCircularity = false;
    //Convexity filter
    params.filterByConvexity = false;
    //Inertia filter
    params.filterByInertia = false;

    Ptr<SimpleBlobDetector> standard_detector = SimpleBlobDetector::create(params);
    vector<KeyPoint> standard_keypoints;
    standard_detector->detect(standard_im_inv, standard_keypoints);
    int objCount = size(standard_keypoints);

    Mat standard_im_with_keypoints;
    drawKeypoints(standard_im_inv, standard_keypoints, standard_im_with_keypoints, Scalar(0, 0, 255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS);