How to find small circles/ellipses in unclear image

3 次查看(过去 30 天)
Hi,
I am having problems finding roughly circular/elliptical objects - they are pretty much placed following a triangular design in the image. I guess, the images are not very clear, and that makes it harder, but I was once told anything we can see with our eyes, we should be able to extract through image processing.
Please refer to the image below, what you're looking at is basically cells sitting on top of some pillars - and the bright round things are the surface of the pillars. imfindcircles is picking up 3 to 4 pillars in this image. I'm not too sure how to tweak this. Sometimes the pillars appear less circular when a cell is moving especially.
What I need to do is find the exact position of these pillars, and then compare it to a different set of positions, of course eliminating all other circular objects. Is there anyway to do this elegantly?
You can ignore left and right sides of the image, where there are too many cells, and the pillars are not really visible.
Thank you in advance

回答(2 个)

Julia Gala
Julia Gala 2015-12-27
Hi! It's probably not very useful anymore, but it might be useful for someone else. The function you are looking for is:
imfindcircles
You probably will need to change the sensitivity until it's able to find the pillars and the cells in your image, and use the option "bright". I've also realised that you do have an inverse background in the sides of your device that will probably give you problems in image analysis as it does have more contrast than the rest of the image. You may have to consider a background correction algorithm (divide by a background image of the device) to eliminate any optical effect, or simply cropping your image to the central part that has a homogeneous background.
Good luck!

Spandan Tiwari
Spandan Tiwari 2016-1-5
Although imfindcircles is definitely worth trying, it may be possible that due to lack of contrast and relatively small size of the circles you don't detect all of them. Its definitely worth a shot. Also remember to tinker with the 'ObjectPolarity" parameter in imfindcircles.
Another technique that may be useful here is anomaly detection. Something like the RX anomaly detector would be ideal although MATLAB doesn't have an built-in function for that.

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by