Ähnlich wie bei der Kreiserkennung, kann die Hough-Transformation auch zur Ellipsenerkennung verwendet werden. Im Gegensatz zum Kreis wird eine Ellipse neben dem Mittelpunt (x, y) noch durch die 2 Halbachsen a und b parametrisiert (siehe Abbildung 4).
Zunächst möchte ich bei der Erkennung von Ellipsen den einfachen Fall behandeln, dass die Parameter a und b der zu erkennenden Ellipse bekannt sind. Dadurch lässt sich das Problem recht anschaulich 2-dimensional lösen (bei den folgenden Abbildungen ist das Originalbild -- also die zu erkennende Ellipse -- rot dargestellt). Der Übergang zu unbekannten Parametern ist danach von der Realisierung her sehr einfach.
Jeder Punkt einer Kante des Bildes kann auf einer Ellipse liegen, deren Mittelpunkt auf einer Ellipse um diesen Punkt liegt (siehe Abbildung 5 und Abbildung 6). Für die Hough-Transfomation ist jedoch die Darstellung der möglichen Ellipsen nicht interessant, sondern nur die Darstellung der möglichen Mittelpunkt.
Tragt man nun die möglichen Parameter (also in unserem Fall die Ellipsenmittelpunkte) -- wie auch schon bei der Kreis- und Geradenerkennung -- in ein Akkumulatorarray ein, erhält man schon das transformierte Bild, das bei geringer Genauigkeit ungefähr wie in Abbildung 7 ausschaut (natürlich ohne das rot eingezeichnete Originalbild). Durch Suche lokaler Maxima im transformierten Bild erhält man nun die Parameter (also die Mittelpunkte) der gesuchten Ellipsen.
Sind die Parameter a und b der Ellipse nicht bekannt, ist es nötig, die Parameter als zusätzliche Unbekannte bei der Transformation zu behandeln. Das heißt, dass der Transformationsbereich um 2 Dimensionen für die Parameter erweitert wird und die vorher gezeigt 2-dimensionale Transformation jeweils auch für jeden möglichen Parameterwert durchgeführt wird.
Problematisch bei dieser Vorgehensweise ist natürlich der stark ansteigende Rechen- und Speicheraufwand, der nur durch Verringerung der Genauigkeit und Einschränkung der Bildgröße verringert werden kann. Bei einer Bildgröße von 256x256 ist ungefähr mit einem Speicherbedarf von 2564 = 4 GB zu rechnen.
Aufgrund der hohen Rechenzeit und Speicheranforderungen bei der Ellipsenerkennung, hier nur recht einfache Beispiele, die auch bei geringer Genauigkeit funktionieren.