Find the similarity of two vector shapes

Look for any information / algorithms related to comparing vector graphics. For instance. say two point collections or vector files with two almost identical numbers. I want to determine that the first digit is approximately 90% similar to the second.

+4
source share
3 answers

A common way to check for similarity is through image moments . Moments are internally translation-invariant, and if the objects being compared can be scaled or rotated, you can use moments that are invariant to these transformations, such as moments Hu .

Most programs that I know will require rasterized versions of vector objects; but moments can be calculated directly from vector graphics using the Green Theorem approach, or a more simplified approach that simply identifies unique (disordered) vertex configurations would be to convert the moment integrals Hu to sums over vertices - in physics, the analogy replaces a continuous object equal point masses at each vertex.

There is an article about the VISTO tool that sorts images of vector graphics (using moments, I think), which certainly should for more details.

+3
source

You can search for fingerprint matching algorithms. Fingerprints are usually converted to a set of points with their relative positions to each other, which makes it basically the same problem as yours.

+2
source

You can convert it to non-vector graphics, and then apply standard image analysis methods such as SIFT points, etc.

0
source

All Articles