Spróbuj zastosować teorię grafów oraz podstawowe algorytmy heurystyczne.
Twój algorytm jest bardzo prosty, ale strasznie nie wydajny.
Jest sporo materiałów w necie o rozpoznawaniu obrazów oraz sztucznej inteligencji.
Ja bym proponował:
-segmentacje obrazu przez progowanie jasności
-jeśli korzystasz z Javy to wrzucić wyniki do mapy, a jeśli z c++ to tablica lub jakiś lepszy kontener
-zastosować teorię grafów i/lub jakiś podstawowy algorytm heurystyczny do wydajnego znajdowania podobieństw.
Oczywiście gotową mapę nieba także należy zapisać jako jakiś kontener.
2 miesiące i myślę, że powinieneś poradzić sobie z tym.