diff --git a/README.md b/README.md index d768bc2..0e849ff 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,33 @@ -# TerminalImageViewer +# TerminalImageViewer (tiv) -Small Java\* program to display images in a (modern) terminal using RGB ANSI codes and unicode block graphic characters. +Small C++ program to display images in a (modern) terminal using RGB ANSI codes and unicode block graphic characters. -Algorithm (for each 4x8 pixel cell mapped to a unicode block graphics character): +The main difference to various existing similar tools is that instead of having two fixed pixels per character +cell utilizing the unicode half block character, this program enhances the resolution using the following algorithm: + +For each 4x8 pixel cell mapped to a unicode block graphics character: 1. Find the color channel (R, G or B) that has the biggest range of values for the current cell -2. Split this range in the middle -3. Average the colors above and below and create a corresponding bitmap for the cell -3. Compare the bitmap to the assumed bitmaps for various unicode block graphics characters +2. Split this range in the middle and create a corresponding bitmap for the cell +4. Compare the bitmap to the assumed bitmaps for various unicode block graphics characters +5. Re-calculate the foregound and background colors for the chosen character. -\*) **C++ port** available at at https://github.com/stefanhaustein/tiv +## Installation + + git clone https://github.com/stefanhaustein/TerminalImageViewer.git + cd TerminalImageViewer/src/main/cpp + make + sudo make install ## Usage -``` -javac TerminalImageViewer.java - -java TerminalImageViewer [-w ] - -``` + tiv ## Common problems - If you see strange horizontal lines, the characters don't fully fill the character cell. Remove additional line spacing in your terminal app - - Wrong colors? Try -256 to use a 256 color palette instead of 24 bit colors or -grayscale for grayscale. - + - Wrong colors? Try -256 to use a 256 color palette instead of 24 bit colors + ## Examples ![Examples](http://i.imgur.com/8UyGjg8.png)