Hough Transform er en populær teknikk i bildebehandling som brukes til å detektere geometriske former som linjer og sirkler i bilder. Det fungerer ved å transformere punktene i bilderommet til et parameterrom, hvor figurene kan identifiseres lettere. Denne artikkelen forklarer hvordan man utledes og påfører Hough Transform for linje- og sirkeldeteksjon.

Avbrutt av Hough Transform for linjer

Den grunnleggende ideen er å representere en linje i bildet som et sett av parametre. Den vanligste formen er den normale formen: RR = x cos θ + y sin θ], hvor RR] er den vinkelrette avstanden fra opprinnelsen til linjen, og θ] er vinkelen til det normale. For hvert punkt i bildet er alle mulige linjer som passerer gjennom det representert som kurver i (R, θ) parameterrommet. Akkumulerer stemmer i dette rommet identifiserer de mest sannsynlige linjene.

Bruke Hough Transform for linjedeteksjon

For å oppdage linjer, involverer algoritmen følgende trinn:

  • Konverter bildet til et binært kantkart ved hjelp av kantdeteksjonsmetoder som Canny.
  • Initier en akkumulator-array for (R, θ) parametre.
  • For hvert kantpunkt beregner alle mulige (R, θ) par og trinn på de tilsvarende akkumulatorceller.
  • Identifiser topper i akkumulatorarray som tilsvarer detekterte linjer.

Avbrutt og bruk av Hough Transform for Sirkler

Sirkeldeteksjonen strekker seg ved å legge til en radiusparameter. En sirkel kan representeres som (x - a)^2 + (y - b)^2 = r^2], hvor (a, b) er sentrum og r er radius. Parameterrommet blir tredimensjonalt: (a, b, r). For hvert kantpunkt beregnes mulige sirkelsentre for ulike radii, og det samles stemmer i dette 3D-rommet.

Bruke Hough Transform for sirkeldeteksjon

Trinnene inkluderer:

  • Utfør kantdeteksjon på bildet.
  • Velg et utvalg av radii for å søke etter sirkler.
  • For hvert kantpunkt og hver radius, beregne potensielle sirkelsentre og oppdatere akkumulatoren.
  • Finn topper i 3D-akkumulatoren som indikerer sirkelsentre og radii.