HomeGeometryThe Hough Transform

📐 The Hough Transform

Watch noisy edge points cast votes into Hough parameter space and see the strongest peaks turn back into detected lines and circles.

Geometry3DAdvanced60 FPS
hough-transform-line-circle-detection-explained-lab ↗ Open standalone

Scattered, noisy edge points on the left cast votes into a 3D Hough parameter-space accumulator on the right; where real lines or circles hide in the noise, votes pile up into a sharp orange peak that gets converted straight back into a detected shape.

🔬 What It Demonstrates

Each image point traces a curve of every parameter combination consistent with it — a sinusoid in θ–ρ space for lines, a circle in a–b space for circles. Points that truly lie on the same shape have curves that all cross at one bin, so votes accumulate; random noise points cast votes that scatter and never agree.

🎮 How to Use

Switch between line and circle detection, add noise and watch the peak get shorter and fuzzier, and drag the detection threshold to see how many bars clear the cut. In circle mode, sweep the assumed radius through the true hidden radius to watch the peak sharpen and collapse again.

💡 Did You Know?

Because it works by voting rather than exhaustively fitting shapes, the Hough transform tolerates broken, gapped or noisy edges remarkably well — which is exactly why it's still used to read lane markings and locate circular parts decades after it was first patented.

⚙ Under the hood

Watch noisy edge points cast votes into Hough parameter space and see the strongest peaks turn back into detected lines and circles.

linescirclesedge detectionimage processingalgorithmscomputer visionThree.js

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)