Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Finding a circle with a defective contour

Hello everyone, I need help with detecting defective circles and defective areas like shown on images below:

alt text Above picture is a simplified example of what real problem would look like. Bad circle has indents or/and outdents.

alt text And this pitcture displays the result I would like to get with OpenCV. So basically, outdents and indents are marked with one color and the area between good cirle line and defected line is marked with another color.

alt text Algorithm I will hopefully make with your help would be applied to broken soda cans pictures like the one above.

So far I've been able to apply Hough Circle transform algorithm which works fine, but now I need help to find broken parts of circle (soda can) and to mark them. I assumed I would need to apply a countour detection and then somewhat calculate the difference between perfect circle and detected contour. But what I've noticed is that a findCountour function saves pixsel data as a set of each point of a contour while Hough circle transform saves pixsel data only for a circle center and not for circle ouotline, therefore I cannot simply subtract one from another to get that desired difference.

Some guidance please. Thank you.

Finding a circle with a defective contour

Hello everyone, I need help with detecting defective circles and defective areas like shown on images below:

alt text image description

Above picture is a simplified example of what real problem would look like. Bad circle has indents or/and outdents.

alt text image description

And this pitcture displays the result I would like to get with OpenCV. So basically, outdents and indents are marked with one color and the area between good cirle line and defected line is marked with another color.

alt text image description

Algorithm I will hopefully make with your help would be applied to broken soda cans pictures like the one above.

So far I've been able to apply Hough Circle transform algorithm which works fine, but now I need help to find broken parts of circle (soda can) and to mark them. I assumed I would need to apply a countour detection and then somewhat calculate the difference between perfect circle and detected contour. But what I've noticed is that a findCountour function saves pixsel data as a set of each point of a contour while Hough circle transform saves pixsel data only for a circle center and not for circle ouotline, therefore I cannot simply subtract one from another to get that desired difference.

Some guidance please. Thank you.