Also bei dieser Anwendung kannst du dir komplizierte Algorithmen eigentlich sparen...

Es ist doch so, daß dich ausschließlich die Tore interessieren, und die haben jeweils eine Farbe die sonst nirgends vorkommt. Wenn du also dein Kamerabild hast, musst du darin nur alle Pixel mit der richtigen Farbe suchen, und deren Schwerpunkt bestimmen. Das ist dann ganz automatisch der Mittelpunkt der (sichtbaren) Torfläche, und du kannst schießen sobald dieser Schwerpunkt in der Nähe der Bildmite liegt. Nur wenn der gegnerische Bot niedriger wäre als das Tor (so daß über dem Bot noch ein Streifen in der Torfarbe sichtbar ist) müsste man das zusätzlich noch berücksichtigen.

Du brauchst also keine Kantendetektion, keine Mustererkennung und auch sonst keine aufwendige Bildverarbeitung.


[edit]
kleine Korrektur:
wenn der Bot natürlich so steht wie auf dem Bild, funktioniert der Ansatz so nicht direkt...
In diesem Fall müsstest du - ausgehend vom ersten gefundenen Pixel mit der richtigen Farbe - eine Art Floodfill* durchführen um eine zusammenhängende Fläche zu erhalten. Wenn von den angrenzenden Pixeln keine mehr die richtige Farbe haben, durchsucht man den Rest des Bildes und macht wieder ein Floodfill, sobald ein Pixel mit der passenden Farbe gefunden wurde. Am Ende hast du dann mehrere Flächen von denen du nurnoch die richtige (z.B. die mit den meisten Pixeln) auswählen, und den Schwerpunkt berechnen musst.


(*)Floodfill geht im wesentlichen so:
1. aktueller Pixel hat die richtige Farbe?
2. markiere den aktuellen Pixel und wiederhole den Algorithmus für alle angrenzenden, nicht markierten Pixel

Das lässt sich sehr einfach rekursiv implementieren, denn man benötigt im wesentlichen nur eine Funktion die prüft ob der übergebene Pixel die richtige Farbe hat, und sich dann selbst für alle 4 (oder 8 ) benachbarten Pixel aufruft.