Ask Your Question

lucis_lupinum's profile - activity

2019-03-24 12:08:57 -0600 received badge  Notable Question (source)
2018-04-20 03:28:15 -0600 received badge  Popular Question (source)
2016-04-29 04:56:40 -0600 commented answer (Best) way to track a circle with a cross inside

Very nice, thanks for another approach!

2016-04-29 04:55:14 -0600 commented answer (Best) way to track a circle with a cross inside

Thanks for your input! But in my case, it wouldn't just be possible (or at least I do not know how to achieve it) to fit the image to the algorithm... I want to track my target from different angles and distances in a stream of camera frames, so it would be hard to fit the image for every frame...

2016-04-28 11:30:59 -0600 received badge  Student (source)
2016-04-28 02:41:30 -0600 commented question (Best) way to track a circle with a cross inside

I tried to detect it with HoughCircles and it gave me many circles apart from the real outer circle, I will add an image in my original post to show what I got. I also tried tweaking it with at least one paramter which (according to the tutorial/documentation AFAIR) should be used to sort out false positive circles. This sorted out the one real circle in my image at first. I also read that HoughCircles is very sensitive if the picture is viewed from another angle, so if the circle is not perfectly circular anymore.

However, I managed to sort out most of the false positive ellipses with another formula for eccentricity (just divide the axis lengths, google helps) and by filtering by area.

So currently I have a comparatively stable approach, but I am open to new methods of course.

2016-04-27 03:06:45 -0600 commented question (Best) way to track a circle with a cross inside

added an image

2016-04-27 03:04:45 -0600 received badge  Editor (source)
2016-04-26 09:06:27 -0600 commented question (Best) way to track a circle with a cross inside

What do you mean exactly? Which images? I want to track this target in a stream of camera images (e.g. video)

2016-04-25 09:33:58 -0600 asked a question (Best) way to track a circle with a cross inside

Hi,

I am currently trying to find a solution on how to track a specific target which looks like this:

target

It is just a circle with a cross inside.

I am using opencv 2.4.8 in ROS Indigo on Ubuntu 14.04 Currently I am at this point:

  • apply Canny-Edge-detection on the frames
  • find and draw contours (drawing mostly for debugging purposes)
  • for each contour calculate the eccentricity like this:

formula

I wanted to use the eccentricity to filter out most of the fitted ellipses which are very narrow and are not even close to a circle. But I can not calculate moments from the ellipses, but only from the contours. And I have no idea if this comes even close to what I want to achieve.

Is there another possibility to calculate the eccentricity or the roundness of the fitted ellipses? I think the I tried googling it and this was the most promising approach.

Am I at least on a right way to get this working anytime? Or is there another approach which would work better and/or more stable. I need a robust tracking algorithm which also works in non-perfect lightning conditions and also works if the circle is no perfect circle anymore in the picture (because the camera is not always perfectly perpendicular to the circle)

I already sorted out the following methods, which all do not work for some reasons

  • Shape-Matching
  • Template-Matching
  • Hough Circle Transform (at most perfect circles are detected) HoughCircles example

If there are more information I should provide or something I should clarify, please feel free to ask. Sorry if this post should be a little messy, I hope you got me anyway.

EDIT: Here is an image from my webcam: output

On the left side, there is just the input image after Canny-Edge-detection. In the right picture you can see the original input with contours (green) and some fitted ellipses (blue). At first I want to filter out these very stretched 'ellipses' at the edges of the paper for example.

EDIT2: Added another image before any processing and an image to show my problems with HoughCircles:

raw input