Basically I'm trying to perform blob detection in order to ascertain the location of small 'spots' on a series of sample tiles. I've had some minor success by using ChannelFiltering/ColorFiltering before applying the blob counter, but this requires me to manually define a color range which matches the color of the spots. This might be fine for the example image I provided in the Stackoverflow question, but in the real world I expect there to be quite a bit of variance in not only the sample tiles themselves but also in the acquired images.
I undertook some computer vision classes for my undergraduate degree, but unfortunately this information now evades me.
What are some good starting points/ideas for pre-processing an image in order to maximize the effectiveness of a blob finding algorithm?
My initial thoughts are along the lines of:
- - convert to grayscale
- do some kind of region growing followed by region shrinking to get rid of noise?
- ... (insert magic techniques here!!!)
- perform blob detection
- threshold the detection using blob size (I roughly know how big the spots will be)
Any help/direction at all would be greatly appreciated.
For a rough idea of how the sample tiles look, there is an example image here: http://imgur.com/xTRLVEJ.jpg. Please note that this is just a rough indication. It is, in fact, an image of a printout - I don't yet have access to any of the physical sample tiles and have only been provided with an image of how they will look.