This repository is my journey exploring the Hough Circle Transform application using OpenCV and Python. You can check my implementation on the code folder.
This transform is a feature extraction technique used in images to detect simple geometric forms that can be easily parameterized, such as lines, circles, or ellipses.
For the desired geometric form, we define an equation to represent it. A line can be described as . , for example, then the two parameters: and defines a space of possibilities for our lines.
What the transform does is map every pixel on our image to a curve in the parameters space. If a point in this space is the intersection of many curves, there is a high probability it describes a line in the image.
Given an image:
We get pixels some pixels that are in the line and plot their representation on the parameters space. For this example, we will use the representation:
The intersection point in this case is and .
Being the line present in our image
Here you can check a visualization way better than my example.
This idea extends to other geometric forms, you just have to change the equation that represents it. For a circle, you can define it by the following equation: