Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8297883
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T15:33:54+00:00 2026-06-08T15:33:54+00:00

I am working, using OpenCV/C++ framework, on a program that basically count elliptical objects

  • 0

I am working, using OpenCV/C++ framework, on a program that basically count elliptical objects that can overlap.

After threshold the image and finding contours of all the objects

My next step involves excluding object that are not made of overlapping ellipses (I will segment the remaining ones later).

I end-up with objects such as these ones:

enter image description here

In this example image, all the objects in the right are negative whilst the ones in the left are valid.

My current filter excludes object mainly on the ground of their isoperimetric quotient.
However, as I have objects featuring different sizes and noise, I am not always satisfied with this approach.

Ideally, I would like to have an additional metric to increase the efficiency of my current filter.

Since I have to repeat this analysis on many contours, it should not be to costly.

I have thought about approaches such as:

  • Something based on an histogram of the value of the angle between all triplets of successive points in the contour ?
  • Mathematically fitting a “poly-ellipse” (I would have no idea about how to do that)?
  • Match freeman chains ?

But I am convinced that I missed something obvious that is more efficient and less messy.
Do you have any suggestions,
Thank you :),

EDIT:
As Regis rightly suggested, any shape could in fact be made of a sufficient number of circles.
Therefore, in order to make my problem solvable, I will add the following assumptions:

  1. No more than 16 ellipses/object.
  2. The ellipses cannot be to flat: Major axis/Minor axis < 3.
  3. Within an object, the area of the largest ellipse over the area of the smallest one must be lower than 10.
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T15:34:02+00:00Added an answer on June 8, 2026 at 3:34 pm

    One possibility would be to try:

    1. Extract contours of objects
    2. Sample points at regular spacing along the contour
    3. Use these points to determine the direction at regular spacing (it may be best to use a complex number to express this direction to avoid wraparound problems)
    4. Use these directions to compute the curvature at regular spacing
    5. Base a metric on this curvature, e.g. look for objects which have more than 80% of the curvature samples in the correct range.

    The graph you are expecting to see for curvature is a series of constant values (or slowly varying if the shape is an ellipse instead of a circle), with sudden discontinuities where it changes from one circle to another.

    If your image is noisy, you may wish to lowpass filter the curvature values first.

    Shapes made out of circles/ellipses will mostly have significant curvature all around the perimeter, while shapes made out of straight edges will have parts of low curvature.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm working on a project of image stitching using OpenCV 2.3.1 on Visual Studio
I am working on detecting edges and finding quadrilateral shapes on image using opencv
I'm currently working on Image stitching using OpenCV 2.3.1 on Visual Studio 2010, but
I am working on a project using the Orb feature detector in OpenCV 2.3.1
I'm working on a project using OpenCV on template matching, and I want to
I am using OpenCV Haar Algorithm to track the Head and overlay an image
I'm using OpenCV to do some processing on an AVI file. Everything is working
I'm working on a project using OpenCV, and there is a function which takes
I am working on an ANPR system using OpenCV and have seen in a
I'm working on an app, that's using an AVCaptureSession , to show the live

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.