Hough Transform – Detection of Lines Lecture Summary
Introduction to Hough Transform Used for detecting lines in noisy or fragmented images. Converts edge detection problem into parameter space voting. Robust against noise and partial occlusion.
Line Representation Slope-intercept form (y = mx + b) fails for vertical lines. Use Polar form instead: ρ = x cosθ + y sinθ ρ = distance from origin to line, θ = angle of normal.
Image Space → Parameter Space Each edge point (x, y) maps to a sinusoidal curve in (ρ, θ) space. Points lying on the same line intersect at a common (ρ, θ).
Voting Mechanism Create an accumulator array for (ρ, θ). For each edge point and θ, compute ρ and vote in accumulator. Peaks in accumulator → detected lines.
Handling Noise & Occlusion Even with broken or noisy edges, votes accumulate. Allows robust line detection.
Extensions & Variations Gradient-based voting: use local gradient to reduce θ range. Circle detection: expand parameter space to (a, b, r). Can detect other shapes with proper parameterization.
Summary Extract edges using detectors (e.g., Canny). Represent lines using ρ = x cosθ + y sinθ. Vote in (ρ, θ) accumulator space. Peaks → detected lines. Extend method to detect circles and other shapes.