Detect function in blob detection


In OpenCV, for simpleBlobDetection there are two functions find_blobs & detect… Detect would return keypoints … Where as in openmv only find_blobs is there…

Any plan to add the detect function?
Any idea, how easily we can implement wrapper function for detect using openmv find_blobs?

We have a find_keypoints method.

As of right now we’re focused on multi-media stuff. E.g. not CV algorithms. Our big CV release this year will be TensorFlow bounding box support.

Thank you.

I was looking for it in the native implementation(openmv/blob.c at master · openmv/openmv · GitHub) but couldn’t find
similar to opencv/blobdetector.cpp at master · opencv/opencv · GitHub

I will explore more to understand the find_keypoints method. If you could give more pointers/explanation about where to look for or how the python code is mapping to imlib source, it would be helpful.

Our find_blobs methods works very different from OpenCV. It was originally developed for the M4 OpenMV Cam which had very little RAM.

Anyway, find_blobs() is more like the contour method in OpenCV. It’s designed to track color blobs and track their centroids.

Find_keypoints() is here:


Thank you very much for the detailed explanation.

Few clarifications:

  1. Does Find_keypoints() does it work the same way as OpenCV SimpleBlobDetectorImpl::detect function(Not the algorithm, just the functionality)? Keypoints returned would match?..

  2. orb_find_keypoints has used below call.
    // Gaussian smooth the image before extracting keypoints
    imlib_sepconv3(&img_scaled, kernel_gauss_3, 1.0f/16.0f, 0.0f);
    It looks like GaussianBlur… Is it correct?

OpenMV isn’t designed to work exactly like OpenCV. You should read what the functions do. You can match keypoints with other functions like:

Yes, that’s a blur.

Thank you.