Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Hough Transform

Die Hough-Transformation ist ein abstimmungsbasiertes Computer-Vision-Verfahren, das Linien, Kreise und Formen erkennt, auch wenn Bildkanten Lücken oder Rauschen aufweisen.

Die Hough-Transformation ist ein geometrisches Verfahren zur Merkmalsextraktion, das Linien, Kreise und andere parametrisierte Formen erkennt, indem Bildpunkte für mögliche Formen stimmen. Punkte, die zu derselben Struktur gehören, verstärken sich gegenseitig und erzeugen einen deutlichen Höchstwert in einer Abstimmungstabelle. In der Computer Vision hilft dieses Verfahren dabei, Formen mit Lücken oder verrauschten Konturen wiederherzustellen.

Paul V. C. Hough stellte das Verfahren 1959 in Machine Analysis of Bubble Chamber Pictures vor, um Teilchenspuren in physikalischen Fotografien zu untersuchen. Richard Duda und Peter Hart führten die weithin verwendete Darstellung mit Winkel und Abstand in ihrer Arbeit zur Erkennung von Linien und Kurven aus dem Jahr 1972 ein.

So funktioniert die Abstimmung bei der Hough-Transformation#

Ein typischer Arbeitsablauf beginnt mit der Datenvorverarbeitung und der Kantenerkennung. Ein Kantendetektor identifiziert lokale Helligkeitsänderungen; die Hough-Transformation gruppiert Kantenpixel zu geometrischen Strukturen. Der Sobel-Operator schätzt Helligkeitsgradienten, während Canny eine dünne Kantenkarte erzeugt, die sich für die Linienabstimmung eignet.

Jede mögliche Linie wird durch rho, ihren vorzeichenbehafteten senkrechten Abstand zum Bildursprung, und theta, den Winkel dieser Senkrechten zur x-Achse, dargestellt. Dadurch lassen sich senkrechte Linien ohne unendliche Steigung verarbeiten. Jedes Kantenpixel stimmt in einem Akkumulator für passende rho–theta-Paare ab, einer Tabelle, die den Parameterraum in diskrete Bereiche unterteilt. Kollineare Pixel tragen zum selben Bereich bei, auch wenn sie im Bild voneinander getrennt sind. Höchstwerte kennzeichnen gestützte Linien.

Geometrie und Abstimmungsregeln bestimmen die Ausgabe. Ein Deep-Learning-Detektor lernt visuelle Muster aus Trainingsdaten; die Hough-Erkennung verwendet ein festgelegtes Formmodell und numerische Schwellenwerte statt gelernter Modellgewichte.

Linien-, probabilistische und Kreis-Transformationen#

Drei gängige Implementierungen unterscheiden sich in ihrer Suche und Ausgabe:

  • Standard-Linientransformation: cv2.HoughLines() gibt rho–theta-Paare zurück, die unendliche Linien beschreiben. Für die Endpunkte der Liniensegmente ist eine zusätzliche Verarbeitung erforderlich.
  • Probabilistische Linientransformation: cv2.HoughLinesP() verringert den Abstimmungsaufwand durch Stichproben von Punkten und gibt die Endpunkte der Segmente direkt zurück. minLineLength verwirft kurze Segmente; maxLineGap legt fest, wie weit ausgerichtete Teilstücke auseinanderliegen dürfen, um verbunden zu werden.
  • Kreistransformation: Mögliche Kreise erfordern ein Zentrum und einen Radius. cv2.HoughCircles() verwendet ein gradientenbasiertes Verfahren; Radiusgrenzen schränken die Suche ein. Als Eingabe dient ein Graustufenbild, während die Linienfunktionen ein Binärbild verwenden.

Liniensegmente in Python erkennen#

Installiere die Abhängigkeiten mit pip install opencv-python numpy. Dieses Beispiel verwendet OpenCV, um Liniensegmente im Beispielbild eines Busses zu erkennen und einzuzeichnen.

from urllib.request import urlopen

import cv2
import numpy as np

with urlopen("https://ultralytics.com/images/bus.jpg") as response:
    encoded = np.frombuffer(response.read(), dtype=np.uint8)
image = cv2.imdecode(encoded, cv2.IMREAD_COLOR)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Kanten für die Abstimmung extrahieren.
edges = cv2.Canny(gray, 50, 150)
# Endliche Segmente erkennen, die durch Stimmen im Akkumulator gestützt werden.
lines = cv2.HoughLinesP(
    edges,
    1,
    np.pi / 180,
    threshold=80,
    minLineLength=80,
    maxLineGap=10,
)
if lines is not None:
    for x1, y1, x2, y2 in lines[:, 0]:
        cv2.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2)
cv2.imwrite("hough_segments.jpg", image)

Das gespeicherte Bild zeigt die zurückgegebenen Segmente rot überlagert. Die rho-Bereiche sind einen Pixel breit, die theta-Bereiche umfassen jeweils ein Grad, und threshold=80 legt den Schwellenwert für die Stimmen im Akkumulator fest. Die Einstellungen für Segmentlänge und Lücken werden in Pixeln angegeben.

Anwendungen und praktische Grenzen#

Bei der Dokumentenverarbeitung ermöglicht das Extrahieren von Gitterlinien eine Strukturanalyse: OpenCV zeigt die Hough-Erkennung anhand eines Sudoku-Bildes. Die kreisförmige Abstimmung ermittelt Kreismittelpunkte und Radien in den Beispielen zu Kreisen und Ellipsen von scikit-image. Diese Ausgaben beschreiben die Geometrie; die Objekterkennung ergänzt semantische Kategorien, und die Instanzsegmentierung ordnet einzelnen Objekten Pixel zu.

Ein Prototyp zur Vermessung von Stahlträgern kombiniert YOLOv8-Masken, Canny-Kanten und probabilistische Hough-Linien, um die Eckenerkennung zu unterstützen. Die Segmentierung mit Ultralytics YOLO26 liefert Masken zur Objektisolierung und ermöglicht so denselben Ansatz mit maskierten Eingaben vor einer separaten geometrischen Verarbeitung.

Feinere Bereiche im Akkumulator erhöhen den Speicherbedarf; grobe Bereiche führen benachbarte mögliche Kandidaten zusammen. Bei der Erkennung von Tabellengrenzen verringern unvollständige Rahmen die Zahl der erkennbaren Grenzen, während unpassende Linien zu fehlerhaften Korrekturen der Grenzen führen können. Durch Erhöhen von maxLineGap werden größere Lücken zwischen ausgerichteten Teilstücken überbrückt; durch Erhöhen von minLineLength werden kürzere Segmente entfernt.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens