W wyzwaniu z 2014 roku Michael Stern sugeruje użycie OCR do parsowania do 2014 roku. Chciałbym podjąć to wyzwanie w innym kierunku. Korzystając z wbudowanego OCR z wybranej biblioteki języka / standardu, zaprojektuj najmniejszy obraz (w bajtach), który zostanie przetworzony na ciąg ASCII „2014”.
Oryginalny obraz Sterna ma 7357 bajtów, ale przy odrobinie wysiłku można go bezstratnie skompresować do 980 bajtów. Bez wątpienia czarno-biała wersja (181 bajtów) działa również z tym samym kodem.
Reguły: Każda odpowiedź powinna zawierać obraz, jego rozmiar w bajtach i kod potrzebny do jego przetworzenia. Nie jest dozwolone niestandardowe rozpoznawanie znaków z oczywistych powodów ...! Dozwolone są wszelkie rozsądne języki i formaty obrazów.
Edycja: W odpowiedzi na komentarze rozszerzę to, aby uwzględnić dowolną istniejącą bibliotekę, a nawet http://www.free-ocr.com/ dla tych języków, w których nie jest dostępny OCR.
źródło
Odpowiedzi:
Shell (ImageMagick, Tesseract), 18 bajtów
Obraz ma 18 bajtów i można go odtworzyć w następujący sposób:
Wygląda to tak (jest to kopia PNG, a nie oryginał):
Po przetworzeniu za pomocą ImageMagick wygląda to tak:
Korzystanie z ImageMagick w wersji 6.6.9-7, Tesseract w wersji 3.02. Obraz PBM został utworzony w Gimp i edytowany za pomocą edytora szesnastkowego.
Ta wersja wymaga
jp2a
.Wyprowadza coś takiego:
źródło
Java + Tesseract, 53 bajty
Ponieważ nie mam Mathematica, postanowiłem
nieco nagiąć reguły iużyć Tesseract do wykonania OCR. Napisałem program, który przekształca „2014” w obraz, używając różnych czcionek, rozmiarów i stylów, i znajduje najmniejszy obraz, który zostanie rozpoznany jako „2014”. Wyniki zależą od dostępnych czcionek.Oto zwycięzca na moim komputerze - 53 bajty, przy użyciu czcionki „URW Gothic L”:
Kod:
źródło
Mathematica
753100Mój najlepszy przypadek do tej pory:
źródło
Mathematica, 78 bajtów
Trikiem do wygrania tego w Mathematica będzie prawdopodobnie użycie funkcji ImageResize [] jak poniżej.
Najpierw stworzyłem tekst „2014” i zapisałem go w pliku GIF, aby zapewnić rzetelne porównanie z rozwiązaniem Davida Carrahera. Tekst wygląda jak . Nie jest to w żaden sposób zoptymalizowane; to tylko Genewa w małym rozmiarze czcionki; Możliwe są inne czcionki i mniejsze rozmiary. Proste TextRecognize [] nie powiedzie się, ale TextRecognize [ImageResize []]] nie ma problemu
Problemy z krojem czcionki, rozmiarem czcionki, stopniem skalowania itp. Prawdopodobnie spowodują, że nawet mniejsze pliki będą działać.
źródło