comparing shapes: how to find the right one

1 次查看(过去 30 天)
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 个评论
Sean de Wolski
Sean de Wolski 2012-8-30
编辑:Sean de Wolski 2012-8-30
Are the templates and images all the same size (e.g. an 8x8 octogon will be 8x8 in both images)?
jenka
jenka 2012-8-30
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!!!

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2012-8-31
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.

类别

Help CenterFile Exchange 中查找有关 Feature Detection and Extraction 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by