Przejdź do treści
Home Blog Projekty O mnie

Age of Empires - Stats OCR

🏯 Age of Empires - Stats OCR

Aplikacja do konwersji zrzutów ekranu ze statystyk Age of Empires 2 w dane tekstowe, co umożliwia ich dalszą obróbkę lub import do arkuszy.

🧰 Jak przygotować obrazy

  1. Przygotuj katalog z podfolderami odpowiadającymi cywilizacjom i umieść w nich serie obrazów ze statystykami:
    directory
    └───Aztecs
       sortedDateImagedWithScore1.jpg
       sortedDateImagedWithMilitary1.jpg
       sortedDateImagedWithEconomy1.jpg
       sortedDateImagedWithTechnology1.jpg
       sortedDateImagedWithSociety1.jpg
       sortedDateImagedWithTimeline1.jpg
       ...
    └───Berbers
       ...
  2. Uruchom ImageFileRenamer(applicationSettings.pathToDirectory, <civilization>).rename(), aby otrzymać uporządkowaną konwencję nazw:
directory
└───Aztecs
   Aztecs vs Aztecs - Score.jpg
   Aztecs vs Aztecs - Military.jpg
   Aztecs vs Aztecs - Economy.jpg
   Aztecs vs Aztecs - Technology.jpg
   Aztecs vs Aztecs - Society.jpg
   Aztecs vs Aztecs - Timeline.jpg
   Aztecs vs Berbers - Score.jpg
   Aztecs vs Berbers - Military
   Aztecs vs Berbers - Economy.jpg
   Aztecs vs Berbers - Technology.jpg
   Aztecs vs Berbers - Society.jpg
   Aztecs vs Berbers - Timeline.jpg
   ...
└───Berbers
   ...
  1. Konwertuj obrazy na tekst w zależności od potrzeb:
    • Jedna kategoria statystyk: ExcelStatsCreator(applicationSettings).createStats(Civilization.TEUTONS, Civilization.ITALIANS, StatsType.SOCIETY)
    • Jeden mecz: ExcelStatsCreator(applicationSettings).createStats(Civilization.TEUTONS, Civilization.ITALIANS)
    • Cała cywilizacja: ExcelStatsCreator(applicationSettings).createStats(Civilization.TEUTONS)

🎯 Dokładność i konfiguracja OCR

Silnik OCR nie jest nieomylny. Dla maksymalnej szybkości ustaw:

replaceTheMostProbablyCharacters=false
useOnlyColoredImage=waves

Wtedy analizowane są tylko oryginalne obrazy, kosztem potencjalnych błędów w wynikach.

Aby zwiększyć wiarygodność, aktywuj:

useOnlyColoredImage=true

Program przetworzy obraz kolorowy oraz trzy poziomy binarnego progowania (niski, średni, wysoki). Gdy wyniki różnią się między obrazami, aplikacja zwróci wpis w formacie FIXME [wartości].

Program korzysta z poniższych wariantów tego samego zrzutu:

  • Obraz kolorowy
  • Niski poziom binaryzacji
  • Średni poziom binaryzacji
  • Wysoki poziom binaryzacji

Możesz też pozwolić aplikacji na automatyczne poprawki według zdefiniowanych reguł znaków:

replaceTheMostProbablyCharacters=true

Reguły obejmują m.in.: 0/6 → 6, 0/1 → 0, 0/9 → 9, 1/7 → 7, 2/5 → 5, 3/4 → 4, 3/5 → 5, 3/8 → 8, 4/9 → 9, 0/1/11 → 0.