There are many well defined measures for many basic geometrical objects such as rectangularity (area coverage of minimum bounding rectangle), triangularity (area coverage of minimum enclosing triangle), circularity ratio (area/perimeter$^2$), etc.

I am looking for relevant measures to classify C-shaped objects (or similarly U-shaped objects). By classify I simply mean to assign a membership to the set "C-shaped objects" if the measure (or aggregate of measures) reach a certain threshold. The measure itself together with the threshold level will thus define what a constitutes a "C-shaped object".

None of the articles I have found on shape measurements and feature extraction ever mention C-shapes. I know that defining a C-shape might be difficult and rather subjective, and therefore a single measure might be difficult to construct.

If no single measurement that can be used to describe C-shapes exists, maybe there is a good aggregate of measures that can help in classifying C-shapes?

I know that various forms of template matching methods could do the trick, but I am looking for a measure that is not reliant on a model and less computationally expensive.

The only idea I could come up with is some kind of radial density distribution (see pic below). But I am unsure on how to utilize the density information to create a relevant measure with good discriminatory properties.

Any input would be helpful.


  • 2
    $\begingroup$ I think a combination of area moments would probably let you do what you want. The first moment will let you compute the center of mass. The second moment(s) of area describe how the mass is distributed around the mean. It is analogous to computing the mean and standard deviation of (eg) a time series. Roughly speaking, the second moments will give you the regions rotational inertia, so you can think in these terms when classifying. It's hard to give any advice better than this, since you don't mention the purpose for the classification. en.wikipedia.org/wiki/Second_moment_of_area $\endgroup$ Commented May 12, 2015 at 15:15
  • $\begingroup$ I think that the third moment is also useful, since it talks about the asymmetry. $\endgroup$
    – nicoguaro
    Commented May 12, 2015 at 15:17
  • $\begingroup$ assuming the outer radius is normalized to 1 and that the orientation is not important, only two parameters are needed to describe the shape: the inner radius (between 0 and 1) and the angle corresponding to the opening ... ? $\endgroup$
    – xdze2
    Commented May 12, 2015 at 15:20
  • 1
    $\begingroup$ @nicoguaro True. You'd capture a little bit of asymmetry in the first moment, wrt center of mass placement, but the third would give you more. $\endgroup$ Commented May 12, 2015 at 15:20
  • 1
    $\begingroup$ The second moment alone won't do it, but an open C will have a more off-center center of mass, so the combination of the second moment plus this should give you enough information. Also, you should classify based on the 2nd-moment of area per unit area. This just normalizes it so that you don't have to explicitly handle the area of the object as a separate dimension. This quantity is minimized for a circle, and increases as you approach a large, thin, annular ring of the same area. $\endgroup$ Commented May 12, 2015 at 23:39

1 Answer 1


How about something like radial integral channel features? Affordable person detection in omnidirectional cameras using radial integral channel features, Barış Evrim Demiröz, Albert Ali Salah, Yalin Bastanlar, Lale Akarun, Machine Vision and Appliactions 2019 https://www.cmpe.boun.edu.tr/~salah/demiroz19omnidirectional

They would allow you to:

  1. Specify start and end position ($\theta_{\text{min}}$ and $\theta_{\text{max}}$) on the annulus so that you can really do a C-like integration
  2. By specifying the radius range $r_{\text{min}}$ and $r_{\text{max}}$ it is possible to play with the thickness of the C-shape.
  3. Integration by sum-of-pixels seems appropriate for the problems you describe.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.