find patterned dots in a binary image of dots

1 view (last 30 days)
I need to find a triangle pattern dots (pattered dots are in different size) from my input image, which contains various dots (dots shape are a bit distorted due to camera lens distortion). Triangle pattern may in different direction. Can anyone suggest an unsupervised learning method or any useful function to approach this problem?
So far, I am able to get the centroid and the size of each blob by:
cc=bwconncomp(bw_img_cent);
labeled_img = labelmatrix(cc);
s = regionprops(cc, 'Centroid','Area');
numberOfBlob = size(s, 1);
allBlobAreas = [s.Area];
Here is an example of input image:
the patterned dots are marked in red in below image:
  2 Comments
Walter Roberson
Walter Roberson on 5 Jan 2016
It appears that the dots are on a curved object, so the size of the dots in the triangle might not be exactly the same. It also appears that the dots in the triangle are smaller than any of the other dots (except for three that are on the boundary of the image and so truncated.) Is that consistent? Or can perspective cause some of the larger dots to become smaller than the dots to be found? For example I am not entirely sure about the relative size of the left-most full dot in the most complete row (the one below the one that has two red dots). How certain is it that the triangle to find will not be way over near the edge?
Image Analyst
Image Analyst on 5 Jan 2016
There are hundreds, if not thousands, of triangles that can be formed between centroids of the dots. How many, or which ones, do you want?

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!