1 | initial version |
Curve detection is not simple in image processing. AFAIK there is no standard way for doing it (like the Hough transform for line detection).
Probably the easiest way to detect a simple (quadratic) curve is the RANSAC algorithm: select 3 random points from the list of points with strong gradients (i.e. the points which lie probably on a curve/line). Then get the parameters of the curve C
which passes through these 3 points: ax²+bx+c=0
. Then check the number of points with strong gradients along the curve C
. If it's above a certain threshold then consider this a detection and remove the points from the list (to avoid detecting the curve again). Then repeat the process (many-many times).