#conversion #image #command-line #tool #modes #space #charset

app termsketch

A command-line image to text conversion tool

1 unstable release

0.1.0 Jun 14, 2022

#11 in #modes

Apache-2.0 and AGPL-3.0

20KB
320 lines

termsketch

Build Status License: Apache 2.0 Latest Version Docs Status

About

This is a tool for converting images to text. It supports two different conversion modes:

  • grayscale, a typical conversion onto a map of light to dark characters to produce a grayscale image.
  • outline, a conversion onto visually similar characters done region-by-region, to help produce output that makes better use of negative space than the grayscale conversion.

Examples

You can see the visual difference between the two modes on this image:

% termsketch outline ./witch-hat-2.png






                                           ⠃⠁⠁⠁⠇
                                          ⠃      ⠁
                                         ⠃    ⡀⡄⡄⡄⡀⡁
                                        ⠃    ⡂
                                       ⠃     ⠅
                                      ⠇      ⠁
                                     ⡇        ⡃
                                    ⡃         ⠁
                                   ⡇           ⡃
                                   ⠃
                                  ⡇             ⠁
                                 ⡇               ⠃
                                 ⠁
                                ⡇                 ⠁
                               ⡇                   ⠁
                               ⠃                    ⡃
                              ⡇                                ⡇⠇⠃⡇⠃⠃⠃⠇
                             ⡇                      ⡀⡁    ⠇⠃⠁⠃
                     ⠇⠃⠃⠇⠁⠁  ⠇                   ⡀⡄⡅  ⠃⠁⠁               ⡅
                ⠇⠃⠁⠇      ⡂ ⡇                 ⡀⡄⡅     ⡇⡆⡄⡀⡀           ⡀⡆
             ⠃⠁⠁            ⠁               ⡀⡆              ⡆⡆⡄⡇⡄⡇⡄⡆⡆
           ⠃⠁            ⡂ ⡇             ⡀⡄
         ⠃⠁             ⡀  ⡄⡀⡆⡀⡀⡀⡀⡀⡀⡀⡀⡄⡆
        ⡃                ⠁⠇⠃⠃⠇⠇⠅
       ⡇                         ⡀⡆
       ⡇                     ⡀⡄⡆
        ⡆               ⡀⡀⡄⡆
          ⡆⡄⡀⡆⡆⡆⡆⡀⡄⡄⡄⡆







% termsketch outline --charset="/\\|" ./witch-hat-2.png






                                           /|||/
                                          \      \
                                         \    ||||\|
                                        \    \
                                       \     /
                                      /      /
                                     \        |
                                    /         /
                                   /           \
                                   \
                                  \             /
                                 /               |
                                 \
                                \                 /
                               /                   |
                               \                    \
                              \                                ||||||||
                             /                      \|    |/|\
                     /|||||  /                   \||  //\               /
                /||\      \ /                 \||     ||||            \|
             ||          \                  |\              \|||||||\
           |             | \             ||
         /              \  \||||    |||\
        \               /|||||||
       /                         ||
       |                     |||
        |               |||\
          |||||||||||||






% termsketch grayscale ./witch-hat-2.png






                                           .cl;.
                                          :XMMMXx'
                                         oMMM0:..'.
                                        dMMMW.
                                       oMMMMW.
                                      cMMMMMM:
                                     ,WMMMMMM0
                                    .XMMMMMMMM:
                                    OMMMMMMMMMX.
                                   lMMMMMMMMMMMx
                                  'WMMMMMMMMMMMW;
                                  KMMMMMMMMMMMMMX.
                                 dMMMMMMMMMMMMMMMk
                                ,WMMMMMMMMMMMMMMMMc
                                KMMMMMMMMMMMMMMMMMN'
                               oMMMMMMMMMMMMMMMMMMM0
                              'WMMMMMMMMMMMMMMMMMMMMd           ...'...
                              OMMMMMMMMMMMMMMMMMMMMXd     .,lk0XNWMMMWNd
                      .';c'  cMMMMMMMMMMMMMMMMMMXd,    ,xKWMMMMMMMMMMMM0
                .'cx0NWMMN. .NMMMMMMMMMMMMMMMNx,       .;oOKNWMMMMWWN0o.
             .cONMMMMMMMMl  xMMMMMMMMMMMMMWO:.              ...'''..
           ,kNMMMMMMMMMMK  ,WMMMMMMMMMMW0l.
         .kMMMMMMMMMMMMM;  'loxkkOOkdl;.
        'XMMMMMMMMMMMMMMk:,'....
        0MMMMMMMMMMMMMMMMMMMWWX0o'
        XMMMMMMMMMMMMMMMMMMNOo,.
        ;KWMMMMMMMMMMWX0d:'.
          .,cloolc:,..

License

termsketch is released under the Apache License, Version 2.0.

Dependencies

~10–20MB
~251K SLoC