comparing shapes: how to find the right one

3 views (last 30 days)
jenka
jenka on 30 Aug 2012
Hi everybody, I have the following problem. I have a true data set. Which is a binary matrix (0/1). If I do imagesc(true_data), it will show a shape. I also have multiple other binary matrices (shapes) that I am trying to compare to my true binary matrix. I need to find the one that best matches my truth. You can imagine that these shapes can be compared by pixels and the observing the pixels that match and that did not match. That however will not work. For example if my true shape is ellipsoid and I can produce two shapes that will have the same areas of intersection and non intersection yet one of them better represents the truth.
I am trying to see which shape is a better match for my main one. Any suggestions? Thanks!
  2 Comments
Sean de Wolski
Sean de Wolski on 30 Aug 2012
Edited: Sean de Wolski on 30 Aug 2012
Are the templates and images all the same size (e.g. an 8x8 octogon will be 8x8 in both images)?
jenka
jenka on 30 Aug 2012
yes, the data comes in the binary matrix (100x100): all are the same size. The templates are of the same size (I think).Thanks in advance!!!

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 31 Aug 2012
If you're lucky and have very simple shapes, then you can figure out which shape matches just based on area, perimeter, and/or the perimeter^2/(4*pi*area) ratio. If the shapes can be any arbitrary shape, and you will accept scaled sizes of the match, then you'll have to compare more things.

Community Treasure Hunt

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

Start Hunting!