8000 GitHub - bsoyka/advent-of-code-ocr at v1.0.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

bsoyka/advent-of-code-ocr

Repository files navigation

Advent of Code® OCR

This Python module helps with converting Advent of Code ASCII art letters into plain characters. At the moment, it only supports 6-pixel-tall characters as seen in 2016 Day 8, 2019 Days 8 and 11, and 2021 Day 13.

Support for 10-pixel-tall characters (2018 Day 10) is coming soon.

Put simply, it converts this to ABC:

 ██  ███   ██
█  █ █  █ █  █
█  █ ███  █
████ █  █ █
█  █ █  █ █  █
█  █ ███   ██

Installation

This module can be installed from PyPI:

$ pip install advent-of-code-ocr

Usage

Using this module is pretty easy. By default, this module recognizes # as a filled pixel and . as an empty pixel. However, you can change this using the fill_pixel and empty_pixel keywork arguments respectively.

from advent_of_code_ocr import convert_6

print(convert_6(".##.\n#..#\n#..#\n####\n#..#\n#..#"))
# A

print(convert_6(" $$ \n$  $\n$  $\n$$$$\n$  $\n$  $", fill_pixel="$", empty_pixel=" "))
# A

You can also convert data that you have in a NumPy array or a nested list:

from advent_of_code_ocr import convert_array_6

array = [
    [0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0],
    [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1],
    [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0],
    [1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0],
    [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1],
    [1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0],
]
print(convert_array_6(array, fill_pixel=1, empty_pixel=0))
# AOC

Advent of Code is a registered trademark of Eric K Wastl in the United States.

About

Convert Advent of Code ASCII art

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Contributors 4

  •  
  •  
  •  
  •  

Languages

0