Detection of Tiny Blobs from QQVGA

Hi,

I run the following code on my QQVGA Grayscale image:
img.mean(1, threshold=True, offset=5, invert=False)
blobs = img.find_blobs([(0,64)], pixels_threshold= 1)

Unfortunately, only the blobs marked with “Red-Arrows” are detected.
There are at least 35 tiny-blobs left undetected, in each image.

Am I missing something?
Kindly provide some guidance, please.

Thanks,
Regards
find_blobsFromQQVGA-01.PNG
find_blobsFromQQVGA-02.png

Hi, you need to set the area_threshold argument to a low value too. It defaults to non zero to ignore those tiny blobs.

Wonderful!
Works like a charm.
Had been struggling throughout the night.
Thanks a Ton !!

Hi,

However, blobs of 1pixel wide X 1 pixel Height (single pixel Blobs) are not getting detected when I set: pixels_threshold= 1, area_threshold=1
Tried with setting “pixels_threshold= 0, area_threshold” too.
Any suggestion would be of great help, please.

Thanks,
Regards.

Hi, that’s because of the default x and y stride. The algorithm doesn’t sample all pixels to go faster. Set the x_stride and y_stride to 1.

As a note… I heavily recommend to read the API when you have issues… You’ve asked two questions now that would have been answered by reading the API for find blobs. You’ll save time on yourself by looking at the method documentation. :wink:

Truly said.
Will definitely follow your kind suggestion henceforth.
Thank you very much for indicating solution for the problem.

However, the efforts you are putting on a day-to-day basis into this endevour is commendable.
God bless you.

Thanks,
Regards.