How to do curve fitting on detected blob

Hi All,
I want to build an application using OpenMV Cam7. In my application I am suppose to find size of the bright object detected by the camera sensor.
The bright object will have Gaussian distribution. So in my application I am suppose to measure the centroid of the bright object, fit Gaussian function, on the line profile along the centroid for both the planes and find the sigma.
Kindly suggest if such an application possible with OpenMV libraries?

Thank you.

Have you see the find_blobs() method? image — machine vision — MicroPython 1.13 documentation

Hi kwagyeman,
Thank you for your reply. I have seen find_blobs api. However my understanding is, it will return the number of blobs and their area (coordinates). But I am supposed to do curve fitting on the detected blobs to calculate sigma of Gaussian profile.
Can you suggest me how I will be able to do the curve fitting after detecting Blobs?

Mmm, so, we really just have that and:

https://docs.openmv.io/library/omv.image.html?highlight=get_regression#image.image.get_regression

Would you be okay with calling get regression on multiple blob clusters to get mx/my values between multiple clusters and then do the rest in python yourself?

Hi kwagyeman,
Thank you for your reply. I used OpenCV (cv2.moments) for centroid calculation and scipy.optimize.curve_fit for curve fitting.
Will I have to write these codes in micropython modules for my application?

Hi, find_blobs() gives you the centroids of things. So, you just need to write scipy.optimize.curve_fit for curve fitting.

Please understand the OpenMV Cam is a microcontroller without an OS and doesn’t have every feature desktop apps have. That said, the C code is fully programmable if you want to edit something.

Hi kwagyeman,
Can you suggest any tutorial or document to follow, that can be used to include scipy.optimize.curve_fit for OpenMV environment?