Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

computer vision: extracting info about a shape given a contour (e.g. pointy, round...)

Given the 2D contour of a shape in the form of lines and vertices, how can I Extract Information from that? like: Pointy, round, straight line. Shape similarities with a given shape.

Code is not necessary, I am more interested in concepts and the names of techniques involved to guide my search....

Thanks in advance.

like image 240
AndreasT Avatar asked Oct 27 '09 14:10

AndreasT


1 Answers

Image moments

One approach is to calculate the first and second order central moments of the shape described by the 2D contour. Using these values the elongation of the object can be calculated.

The central image moments can be combined to the seven moments of Hu, which are invariant to change in scale, rotation and translation (ie. they are very good for basic shape recognition). (More on image moments here).

Unitless ratio of perimeter and area

An other approach is to calculate the length of the perimeter (p) and the size of the inscribed area (a). Using these two values, the following ratio can be computed:

ratio = p^2 / (4 * pi * a)

The closer this ratio is to one, the more circle like is the described shape.

Other methods

  • Fourier descriptors
  • Ratio of shape area and the area of the convex hull of the shape
like image 94
midtiby Avatar answered Sep 20 '22 08:09

midtiby