Skip to content

Image Converter UI: text-based ASCII art and pixelated Lego mosaics. There's a web version also, downloadable converted image.

License

Notifications You must be signed in to change notification settings

KlausJackson/Photomosaic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Photomosaic

Note: do not judge me for using the blue dragon images, and yes, they're AI generated.

This project is available in three different interfaces, each with a different set of capabilities. The web interface is for people who don't want to download the repo and rarely uses this.

Feature Web Desktop Command Line
Lego Image Yes Yes Yes
ASCII Image Yes Yes Yes
Lego Video No Yes Yes
ASCII Video No No No
Change texture* No Yes Yes

Change texture: just replace lego.png in lego/data directory with something you want instead of lego brick, and rename it lego.png.

Web URL: https://klausjackson.github.io/Photomosaic/

Preview: set 3, 200 chars Web

Preview the UI for Lego and ASCII converter (Lego Tab has generate video button): UI-lego

Install necessary packages for the UI:

pip install Pillow numpy opencv-python

To run the UI from parent directory:

python ui/ui.py

Lego Converter

Turn your images and videos into a Lego-like version.

Credit: This project's core logic is inspired by code from Viet nguyen AI.

Preview

Example 1 Example 2 Example 3
Example 1 Example 2 Example 3

Usage

You only need to install opencv for this.

data/lego.png is a texture of a single Lego brick with shading. You can change it to something else if you want different texture.

lego_image.py

python lego_image.py --input <path_to_image> --output <path_to_save> --stride <size>

Example:

python lego_image.py --input data/cat.png --output results/cat_lego.png --stride 10

Arguments:

  • --input: Path to the input image (default: no default).
  • --output: Path to save the output image (default: results/result.png).
  • --stride: The size (in pixels) of each Lego brick (default: 10).

lego_video.py

A friendly reminder that it might not be usable as a video in certain situations despite it having 'mp4' extension.

python lego_video.py --input <path_to_video> --output <path_to_save> --stride <size>

Example:

python lego_video.py --input data/video.mp4 --output results/video_lego.mp4 --stride 15

Arguments:

  • --input: Path to the input video (default: data/video.mp4).
  • --output: Path to save the output video (default: results/result.mp4).
  • --stride: The size (in pixels) of each Lego brick (default: 10).
  • --fps: Override the frames per second of the output video. If 0, it uses the original video's FPS (default: 0).

There's no changing FPS in UI, it's 0 by default.

ASCII Converter

Each set is ordered from darkest (least dense) to brightest (most dense). Uncomment # ASCII_ = ASCII_[::-1] # reverse to reverse. 3 sets of ASCII, pick the one you like or make one yourself:

  • ASCII_1 = " .:-=+*#%@"
  • ASCII_2 = " .:;=+*#"
  • ASCII_3 = " ..,,::;;+zo"

Usage

Install necessary packages:

pip install Pillow numpy opencv-python

ascii_image.py

python ascii_image.py --input <path_to_image> --output <path_to_save> --width <number>

Example:

python ascii_image.py --input test.jpg --output test_ascii.txt --width 100

Arguments:

  • --input: Path to the input image file (default: test.jpg).
  • --output: Path to save the output .txt file (default: result.txt).
  • --width: width of the ASCII art in characters (default: 100).

Preview

There're 3 txt files for each set in ascii folder.

ASCII_1 = " .:-=+*#%@"

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%*##%@@%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%#*+=-..----=%%%#+*%@@@@%%@@@%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%*+=-:.-=+=-@@@%*%@@%*.-*%#%@%*=#@@%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%*+=-:::-+#@@@@%%%##*+=--:.::.-=+%%+.-#@@%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%#+=---::-+#@@%#*+=-:.       :::=-#%%%%@*..=%@%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%*+=-----:-+#*+-:..         .-+#%-:+=-%@@%%@=..:#@%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%*+=------..--:..            .=#@@@%::=*=+@%%%%%::::#@%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%@%#+=---=---.  ..            . .=%@@%%%#::=++-*@@@%#+.--:*@@%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%@@%*=--=--==-:   .            . .-#@@%%%%%%-:-=*+--*%*-*-.-=:=%@%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%@@#*=--==--=-:                 . :*@@%%%%@@@@+:::+*+-:---+-.::=--#@%%%@%%%%%%%%
%%%%%%%%%%%%%%%%%%%@@#+=--==----:                 .. -#@%@@@@@%#+==:::-=**+:::+#===:--:+@@%*@%%%%%%%
%%%%%%%%%%%%%%%%%%@%*=---==---:.                 ...-%@@@%#*=-::=+#*::::-+**=:.+%%*+:=+.=%*:%%%%%%%%
%%%%%%%%%%%%%%%%@%*=----=----.          ......  ...=%%#+=:...-*%%@@%+:.:::-***+:-*#%**#=.=-+*@%%%%%%
%%%%%%%%%%%%%%%@#=-----=---:   .   .........   .:.:*+-:....=%@@@%*+**-..:::-+***=:+*#%#*-:#*=%%%%%%%
%%%%%%%%%%%%%@%+----------.  ..............   .:::-:.... -#@#+====-.:-. ....:-=+*+-=*#%***%+-@@%%%%%
%%%%%%%%%%%%@#=---------:  ......::::.....    ::.-:... .+@@%%%*=:.:. :--... .:::-==:=+*****:=#%%%%%%
%%%%%%%%%%%%*----------. .....::::::::... .. .:::-  ..:#@%%%%%##*+-.  .==::..:-:-===:=-*+=:-*#%%%%%%
%%%%%%%%%%%*---------: ....::---:::::........::::: ..:%@%%%%@@@#*=-::.  ::.----::==++-:=:..**%@%%%%%
%%%%%%%%%%+---:-----. ...::--------:....... .:::.: ..#@%%%%%%+-....:-=++=-::--==.  :===-:::.+%%%%%%%
%%%%%%%%%+---:----:. ..::----------...::... .:::.:  =@%%%%%%#+-.::.   .:++***+++-.-:.-----::%@%%%%%%
%%%%%%%@*-::::-:-: ..::----==-----..:::::... .::::: +%%%%%%%@#*%#-:..:-=+*####+*+=+*-.:-::-*%%%%%%%%
%%%%%%%#-:::::::. .:::---=======-..:--::::..   .:--:=@%%%%%%%@@#::. ... .:-=+*+=++==-:--::-#%%%%%%%%
%%%%%%%=:::::::. .::-++***+====-.:-----:::....  .:---*@@%%%%%%*.:+: ....    :=**=++++====-:*@@@%%%%%
%%%%%@*:::::::. :=*%%@@@@@%*==-:-==-----:::....  .:---+%@@@%%%+*%+  .::-:-:.  :+*+==+++===--*%%%%%%%
%%%%%%-::::::. =#@@@%%%%%%%@+-.---------:-::::..  .:-=--#*%%%@@@#....:---++-:.  :+*=-=+==:.::.*@%%%%
%%%%@#::::::.:#@@%%%%%%%%%%@=:=**####*+=---::::..  .:-=----@%**@+=+ .:-==**+=:..=+=*+-:--:.:.-%%%%%%
%%%%@+:::::.:%@%%%%%%%%%%%%#=#@@@%@@%@@@%#-:::.:.    :---- =@*.**#= :--=+%*++-:-#@#=+*=:::..-%@%%%%%
%%%%%=.:::..#@%%%%%%%%@@@@@%@@@@@#++*+=*%@#:::....    .---:.=-.::...:-==+##*+=:=%%@%+-**--+*%@%%%%%%
%%%%%-.::. +@%%%%%%%%%%#*+===++**##=:=: :-+= ..        .:---:.... .:--=+#**#*=:+%%@#=++==%@@%#%@%%%%
%%%%%-....:@%%%%@@@@@%%#**++=:....:-:::..............  ..----:. ..:--==+##*+*=-+%@%---==#%%%#*+%@%%%
%%%%@=....#@%%%%%*+=------::::-----:-::::::::::::::::.:::-====-..:---==**##+=-:+%%*#==%%%@%%%#=+%%%%
%%%%@+.. -@%%%@@#****+-....:------------::::::::::::::----===+=-::--==*%**#*+--+#@@%#%#*%%%@%*==#@%%
%%%%@#.. *%%%@%*+==-:..:--===------======---:::::::::-:::-======-:---+###*+*+--+#@%%@++%#+%#+===#%%%
%%%%%%- :%%@%*+==-:..:--===---------====++=---::::::::.:--====--:::-******==-:-+#@%%%*%%=+++==++%*%@
%%%%%@+ -@@%*+=-:.:-------:::::::::-----====--::.......:-------:..=+#*=*+++-::=*%%%%%%@*+++++++%*=%@
%%%%%@%.-+-::. .:-------::...........::-------:::-::. .:-----::...*++*=+==-::-+#@%%%%%%#++=-++++=#@%
%%%%%%* -++=:.-------::.....:::::::....:::--:--..-==- .----::... -+===----::---%%%%%%%%@%#--**+*#@%%
%%%%%%%--=: :----:::...::----:::....::::::::::.. :-:..:---:... .:==---::::::: :%@%%%%%%%@*:-%%%%@%%%
%%%%@%=..  :--:::...:-:::.........:::......      ... .:-::..:...--:::..:...   :*#%@@@%@@*:.*%%%%%%%%
%%%@+:==: :::::..::::..:-=+*+:......       .:+**=--..:::::----::::....:.        .-+#%%#=:.+@@%@@%%%%
%%%*=#=. ::::...::::=*#%@@%=:....         .:-=#@@@+ ..:::::-----:::::+*-. ....     .--:..-++#%@%%%%%
%%%%#:. .:::...:.-*%@@@%%-  ...........::::.:. -%*    .......::::::::::---:--::::::..    ....:#%%%%%
%%@#-+- .::.....+@@%%%%%%=::::::::::::::...::.+*%=:..:.  ......::::::..::..::.....:-+*+++=-=-=+@%%%%
%%%#%+  ..:....-@%%%%%%%%@@@@%####%%##**+#***+*#%@@%%%#*****####%@@%**++=+=+=-=*#%@%#***#%%#@@@%%%%%
%%%@%... ......:%@@%%%%%%%%%%%=..:%%:..=%@@%=::-%%%@@%@@*:::::.*@%%%=::+@@%:::#@@@+:......:+%%%%%%%%
%%%%% +-  .......+%@@@@@@@@@%@#..-%-.:*@@%%%+..=@%%%%%%%+.:*+..*@%%@+..+%%#:::%%%*.:::#%#--#@%%%%%%%
%%%%@=%+   ........-=*##%%%%%%*..::..-=--=++=..=%%%%%%%%-.-@#..=@%%@+..+@@#:::%@%#:..:-+#%@%%%%%%%%%
%%%%%%%%:+   ...........:::::-:::::.:-=*#%%@+..=@%%%%%@#:.+@%:.:%@%@+..=%@#:.:%@%@#+-:...:=%%%%%%%%%
%%%%%%%@#%#:      ...............   :%@@@@%@+..=%%%@%%@+.::--:..#@%@+..=@%#:.:%@%%*#@%#+:..=@%%%%%%%
%%%%%%%%@%@%*++=:..         .::  :+..:#@%%%@+..=@@%*%%@-.:+++-..+@%@+..-%@*..-%%%%-:+#%%::.-@%%%%%%%
%%%%%%%%%%%@@@@@@%%#*******#%@+ .:@#:.:*@%%@=..:--:=@@#..-@@@*..-%%%%-..:-..:*@%@*........:*%%%%%%%%
%%%%%%%%%%%%%%%%%@@@@@@@@@@@@#====%%==-=*%%#====--:=@%=-==%%%*-=-*%%@%+=---+#@%%%###+=--=+%@%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%@@@@%%%%@@@@@@%#%%@@@@%%%@@@@%%%%@@@@@@@@%%%%@@@@@@@@@@%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%@%%%%@%%@%%%%%%@@%@%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@

ASCII_2 = " .:;=+*#"

******************************************************######****************************************
************************************************######**+++*##**####********************************
*******************************************#####**+=;:..::::;****;+*####**###***********************
****************************************###**+=;:..:;=;:###*+*##*=.:+***#*=;+##*********************
************************************###**+=;::..:=*####***+++=;;:: ::.:;=**=.:+##*******************
*********************************###*+=;::::.:=*##*+==;:..       ..:;:+****#+ .;*#******************
******************************##**+=;::::::;=++=::.           :=+*::;;:*##**#;..:*#*****************
****************************##*+=;;:::::..:::.             .;+###*.:;=;=#*****.::.+#****************
**************************#*+=;;;;;;::.  ..              .;*##***+.:;==:+###*+=.::.=##**************
***********************##*+;::;::;;:.                   ;*##******:.:;==::+*+:=:.:;.;*#*************
*********************##*=;;:;;::;:.                   .+##****####=..:=+=:.:::=:.::;::+#***#********
*******************##*=;::;;;:;:.                    :*#*#####*+=;;:..:;++=:::=+;;;.::.=##*=#*******
******************#*=;:;;;;::;:.                  . ;*###*+=;:..;=+=...::===;:.;**+=.;=.;*=.********
****************#*+;::;;;::::.                  .. ;**+=;:. .:+**##*=...::;=++;::=**+=*;.;;;=#******
***************#+;::::;;:::.         ....      ...:==:... .;*###*+=+=:.....:;=+=;:=+**++;:+=;*******
*************#*=:::::;;:::.      ........      ...:....  :+#+=;;;;: .:.  ...::;=+=:;=+*+==*;;##*****
************#+;:::::::::.      ..........     ...::.   .=##***+;:... .;:..  ..:::;;.;==+==+:;+******
************+::::::::::.  . ....::......     ....:    .+#*****+++=:.  .;;:....:.:;;;:;:==;:;++******
***********=:::::::::.  ....::::::::... ...  .:...   .*#****###+=;:..   .. :;::..;;=;;.;: .=+*#*****
**********=:::::::::.  ...::::::::::.  .... ......  .+#******=:.....:;;=;::.:;;;.  .;;;:....=*******
*********=:::::::::  ...:::::::::::. ......  .....  ;#******+=:.::.    :;==+====:.:..:::::::*#******
*******#+::::::::. ...::::;;;;::::...:.....   ..::. =*******#++*+:. .:;;==++*+===;==; .::::+********
*******+::::::::. ...:::;;;;;;;;:..:::::....   .:::.;#*******##+...  .  .::;=+=;==;;:.:;:.:*********
*******;.:..:::. ...:;=++=;;;;;:.::::::::....   .::::+##******+ :=. ....    .;++;;===;;;;::=###*****
*****#+:...:.:. .;=**#####*+;;:.:;;:::::::....   .::::=*###***;=*=  ..:::::.  .;+=;;===;;;::=*******
******;....... ;+###*******#;:.:;::::::::::.....  .::;::*+***###+ . ..:;;=;:.   .==;:;=;;..:..=#****
****#+........+##**********#;.;=+++++==;:::.....    .:;::::#*=+#=;= .::;;+==;:..;=;==::::. ..:******
****#=.......*#************+;+###*##*###*+::.....    .:;:: ;#=.+=*; .::;=*+==:.:+#+;;+;:... :*#*****
*****;......+#********#####*#####*==+;;+*#*:...       .::::.;;.::...::;;=+*+=;.;**#*;;++::=+*#******
*****;.... =#**********+==;;;===+++;.;. .:=; ..        .:::::.... .::;;;++=++;:=**#*;;=;;*##***#****
*****;... :#****#####**++==;;:....::..:.............   ..:::::.  .:::;;=+*==+;:=*#*;::;;+***++=*#***
****#;... +#*****+=;:::::::.::::::::::::::::............::;;;;:...:::;;+=++=;;:=**++;;***#***+;=****
****#=.. :#***##*++===;. ..:::::::::::::::..::::::::::::::;;;;;:..::;;+*+=++=::=*##*+*++***#*+;;+#**
****#+.  +***#*+=;;:....::;;;;::::;;;;;;;;::...::::::::.::;;;;;;:.::;=+++==+;::=+#**#==*+=*+=;;;+***
******: .**#*+;;;:. .::;;;;:::::::::;;;;;;;;::..........::;;;;;:..::+==+++;;;::=+#***+**;;=;;;==*=*#
*****#= :##*+=;;...::;:;:::.......:::::;;;;;;::......  .::;;:::...;=++;====:::;=******#+=======*+;*#
*****#* :=:... ..::::::::.....     ...::::;::::..::.. .:::::::.. .====;;;;;:.:=*#*******==;;====;+#*
******+ :=;;..:::::::........::::... ....::::::. :;;: .:::::...  :=;;;:;::..::;********#*+;:====*#**
*******::;. .::::::.....:::::::.......:::......  .::. :::::.    :;;:::::..... :*#*******#+.:****#***
****#*;.   .:::......:::.... ..  ..........      ... .:::.... ..:::.:......   :+**###*##=..+********
***#=.;;. ::::....::...::;===. ....         :;+=;::  .:::::::::::......         .:=+**+;..=##*##****
***=;+;. .:.....:...;=**##*;....          .::;+###= ....:::::::::::.:;=:  ...      .::...:==**#*****
****+..  ......:.:+*###**;    ....... ...:...  :*+     ................::::;:::......    .  ..+*****
**#*:=: ........=##******;::..::::............;+*;.....   ........... .............:=====;:;;;=#****
***+*=   ..... ;#********####*++++**+++==+++==+**##****+=+++++++*##*+==;;=;;;:;=+*#*+++++***###*****
***#*. . ..... .*##***********;..:**...;*##*;..:***##*##=......=#***;..;##*..:*###=........=********
***** =;  ..... .=*#########*#+..:*:.:+##***=..;#*******=..+=..=#**#=..;***..:***=...:+*+::*#*******
****#;*=    .......:;=+*******+..::..:;:;;;=;..;********:.:#+..;#**#;..;##*...*#*+....:=+*#*********
********.=     ..........::::::......:;+***#=..;#*****#+..;#*:.:*#*#;..;*#*...*#*#*=:.....;*********
*******#+*+.       ..........  .    .*####*#=..;***#**#=..:::...+#*#;..;#**..:*#**++#*+=...;#*******
********#*#*=;=;:.          ..:  .=..:*#***#=..;##*+**#:..===:..=#*#=..:*#=..:****:.=***:..:#*******
***********######**+++===+++*#= .:#+...+#**#;...:::;##+..:###+..:****:...:...+#*#+.........+********
*****************############+;;;;**;;;;+***;;;;::.;#*;;;;***=:;:+**#*=;::;=*#***+++=;::;=*#********
******************************####**####****######*+**####***####****########****##########*********
*****************************#*****#****#**#******##*#***********#*********************************#
****************************************************************************************************
****************************************************************************************************
****************************************************************************************************
****************************************************************************************************
************************************#**************############*************************************
******************************#####***##*********##+;:.....:;=**************************************
****************************##*+=::...:=**********.       ..::;+*####*******************************
*************************###*+;:.     . =#******#. :;:     ..:::::;+*###****************************
**********************###+=;;::.    .+*;+*******#.=###= ..    .;;;;:.:=*###*************************
********************##+=;;;::.     .*#**##********+##**+..;.     :;=+=:..;*##***********************
******************#*=::;;:.        +#**##=+#****###*==*#*: =.      .:=++=:.:+###********************
****************#*=::=;:          :#**#*;.**####*=:.;****#; =.        .;=++;..=*#*******************
**************##=::==:            .*#*+: +##*+=:  :*####**#: =          .;=++=. =*#*****************
*************#+::==:     ..       .*+;:.+*+=;. .=*##******** ;:       ..  :;;+*= .=##***************
***********##;.;+:      .. .    .=*: . :::;:..;+=;:.:;=+***#:.;        .:.  :;;+*; :*#**************
**********#*:.==.      .. ..   ;*+    : .;.  ;;..:=+**###***; =          ::  .;;;*+. =#*************
*********#+.;+:       ..  .   =+:..; :. :.:;;.  :=+###*****#: =           :;.  :;;=*; ;*#***********
********#= ==.       ..  ..  :*..;;:..  .::.      ::=*#***** :;   .  .     .;:  :=;;*+ .*#**********
*******#= =;.    .   ..      =;:=;;:::.      .:;  :+==****#; +.   .   .     .;:  .;;;++ .*#*********
******#= =;     ..  .     : ;+:=;:::;;.   :   .;. ..**+**#+ ==   ..   .       ;;. .;;;+* .**********
*****#+ ;:     .     .; :+*=+;=;:.  :...  :;.. :: ;+:**##=  =:   :    :.       ;;. .;;;++ :#********
******.::     . ::  ;**:*#*#=:;.:: ..=** :;: : ..  *=*#*:  :=.        :.       .;;. :;:;*= =#*******
****#:.:  .:.  ;#= +###*****#=:;+...;*=.;+;.:. . .:*#+:..;;:         .:.        .;;..;:;;*: ********
***#+ :  ;*#= ;#*:=#*++*#****###+;==:.:;;: :. .  ==;..:;;.           .:          :;;.:;.;=+ :#******
***#:.. +#**+ ******++: ;********#=.;++=:.:.     ..:;;:         .    .:      .    ;;::;.:;+: *#*****
**#+ . +#****:*#*+.. .:..=*#*****: ==::..:     .;;;:.           ..   ..     ..    :;;:;..;== ;#*****
**#;  =#****#**#*;;;;. .:::=####; ;+;=; .  .. ;;.                ..         ..     ;;;;. :;= .******
**#: ;#***********:.::    ..=+**. ++=:.  :=;:::    ..::.    ;=:   .         ..     :;;;: .;=: *#****
*#*..******####***:;:.:==.        ;= :. ;=;=;:.   .;==+++=. +##*:           .      .;;;: .;=: +#****
*#* =#***##*++*#**#+.:*##*==:     ..:+: .+=;;:..;.  .=++*##:;**#*.  .;.     .       :;;: .:=: +#****
*#*:****#=. :+*****##*****#*;;.    .;=:  .==;:. :=;  .:;=+*#*#**#=  +#*;            .;;. .:=. +#****
*#*+#**#+  ;:;=;;;;;=++*###**+.=:=;  ..   .:;;:  .;=:  .;;;=*****+ :***#:     ..     :;. .:;. *#****
***#*#*::  :===;;;::...::=+#*+***+=:::;;;=;:.:::  .:==. :=******#;.*****+   .*##+:   .;. .:; .******
*****#;:=;. .....          :=*##+  .:.:=:.         .:;+:  .:=*#**=*#***#*.  =#**##;   :  .;: ;#*****
****#:;+;.    .  .;+***+=:.  .=#+  : ....;  .;;;;:.  .;+: :=;;+**##******  :******#;     .:  +#*****
***#=:=.  .  .  =*########*=.  .*+:;;+  *: :=======;: .;=. .=*++*******#+ .*********     .. :#******
****.;  .+=.;. +#******#####*; . +#*#*+:*   ..:::;;:.   ;; . :#**#******.:*#*******#.   ..  +#******
**#*.  .*#+;*=+#*****##*=;::;*; : +#**#**+.      .:;;:.  : .+;:*#******==##*********:   .. ;#*******
***#:  ;#*#**##***;##*;.  :+**#:.: +#**####+=;:..   .::;     *+=********#***********.  .. .*********
*****.  +####*###;;#*. . +###*** .. *#*=.:.:+***+.    ..   ...#**#*****#************   .  +#********
****#*:  ;+****=::**. ; :#*****#+ :..*+   .         .:..    +;;#******************#;  .  +#*********
*****##+;. ....:=##+ :; =*******#= :..=;.::..::;;;;;+;.     :#=*#******************     +#**********
*******###*****##**= := .#*******#= .: .;. =. .:::;;:..   := +#******************#:    +#***********
**********####****#+  ;; ;##******#+: .    . ;.  .        =#;;#*****************#;   .+#************
*******************#: .=: .+####***##+=;::.  =: .  .  .. .**+=#****************#=   :*#*************
*********************. .;;. .;+*#######*+;.   .  ..  :+  *##**#***************#=  .=##**************
********************#*;  .;;.   ..::..      .....  .+*..*#******************##=  ;*#****************
**********************#+:   :::::...........:.   :=#*.;*#******************#*: ;*##*****************
***********************##+;.     .....       .:=*#*+;+#********************+:;*##*******************
*************************###*+=;:.......:;=+**###***##********************+=*##*********************
****************************#################*****##***********************##***********************
****************************************************************************************************
****************************************************************************************************
****************************************************************************************************
##**************************************************************************************************

ASCII_3 = " ..,,::;;+zo"

Web Ascii

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzoooooozzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzooooooz+;;+zoozzoooozzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzoooooz+;::,..,,,,:zzz+:;zoooozzooozzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzoooz+;::,..,:;:,oooz;zooz;.,;++zoz;:;oozzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzoooz+;::,,..,:+oooozz++;;::,,,.,,.,::+z;.,;oozzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzoooz;;:,,,,.,:+ooz;;::,...     ...,:,;zzzzo;..:zozzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzoozz;::,,,,,,,;;;:,,...        .,:+z,,::,zoozzo:..,+ozzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzooz;::,,,,,,..,,,..          . .:+ooo+.,:;::ozzzzz.,,.;ozzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzoz+::,,,,,,,.  ...          ....:+oozzz+.,:;:,;oooz;;.,,.;oozzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzooz;:,,,,,,,,.  ...          ....,+oozzzzz+,.,:;:,,;+;,;,.,,.:zozzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzoo+;:,,:,,,,,.   .       .... .. .;oozzzzoooo:.,,:;;,.,,,:,.,,:,,;ozzzozzzzzzzz
zzzzzzzzzzzzzzzzzzzoo+;:,,,:,,,,,.         ..........,+ozoooooz;::,,.,,:;;:,,,:+:::.,,.:oo+;ozzzzzzz
zzzzzzzzzzzzzzzzzzoz;:,,,::,,,,.  ..   .............,zoooz+;:,.,,;+;...,,:;;:,.:++;:.::.:z;.zzzzzzzz
zzzzzzzzzzzzzzzzoz;:,,,,:,,,,.  ...................,zz+;,,...,;zzooz:,..,,,;;;:,,;++;;+:.:,:;ozzzzzz
zzzzzzzzzzzzzzzo+:,,,,,,,,,,. ...............  ...,;:,.....:+oooz;:;;,.....,:;;;:,:;+z+;,,+;:zzzzzzz
zzzzzzzzzzzzzoz;,,,,,,,,,,. ................. ....,......,+o;:::::,.,,. ....,,::;:,:;;+;;;+:,oozzzzz
zzzzzzzzzzzzo+:,,,,,,,,,.. .................. .,.,,.....;oozzz;:,... .,,... ..,,,::.::;;;;;,:+zzzzzz
zzzzzzzzzzzz;,,,,,,,,,,. ......,,,,......... .,..,. ...+ozzzzz+;;:,.. .::,....,.,::,,:,;::,,;+zzzzzz
zzzzzzzzzzz;,,,,,,,,,.......,,,,,,,,,.........,... ...zozzzzooo+;:,,..  ...,,,,..,:::,,:,..;;zozzzzz
zzzzzzzzzz:,,,,,,,,,......,,,,,,,,,,....... .,,... ..+ozzzzz+:,.....,::::,,.,,::. ..:::,.,..:zzzzzzz
zzzzzzzzz;,,,,,,,,,.....,,,,,,,,,,,........ ..,...  :ozzzzzz;;,.,,..  .,:;;;;;;:,.,..,,,,,,,zozzzzzz
zzzzzzzo;,,,,,,,,.....,,,,,,,,,,,,...,,,.... ..,,,. :zzzzzzzo+;+;,...,,::;;;++;;:::;,.,,,,,;zzzzzzzz
zzzzzzz+,,,,,,,,.....,,,,,::::,:,..,,,,,,...   .,,,.:ozzzzzzzoo;... .....,,::;;:;:::,.,,,.,+zzzzzzzz
zzzzzzz:,,,,,,,....,,:;;;;:::::,.,,,,,,,,,....  .,,,,;oozzzzzz;.,:. ..... ..,:;;:::::::::,,;ooozzzzz
zzzzzo;,,,.,,,. .:;+zoooooz;::,.,::,,,,,,,.....  .,,,,:zooozzz:;z:....,,,,,.. .:;::::::::,,,;+zzzzzz
zzzzzz,.,..,,..:+ooozzzzzzzo:,.,,,,,,,,,,,,.....  .,,,,,+;zzzooo;....,,,,::,,.  ,:;:,:::,..,..;ozzzz
zzzzo;,.......;oozzzzzzzzzzo:.:;;++;;;::,,,......  .,,:,,,,oz;;o;::..,,,:;;;,,..:::;:,,,,....,zzzzzz
zzzzo:.......zozzzzzzzzzzzz+:+ooozoozoooz;,,,....   ..,,,, :o;.;;+:..,,::z;:;,.,+o+::;:,....,zozzzzz
zzzzz:......+ozzzzzzzzooooozooooo+:;;::;zo+,.,....    .,,,,.:,.,,...,,:::;+;:,,:zzoz:,;;,,:;zozzzzzz
zzzzz,.....:ozzzzzzzzzz;;:::::;;;++:,:...,::...       ..,,,,,.... .,,,::+;;;;,,:zzo+::;::zooz+zozzzz
zzzzz,....,ozzzzoooooz+;;;;::,....,,..,..................,,,,,....,,,:::++;:;:,:zo+,,,::;zzz+;;zozzz
zzzzo:....;ozzzzz;::,,,,,,,,,,,,,,,,,,,,,,,,,,..,......,,,,:::,..,,,,::;;++;:,,:zz;;::+zzozzz+::zzzz
zzzzo;.. ,ozzzoo+;;;;:,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,..,,,:;z;;;;:,,:+ooz+z;;zzzoz;::+ozz
zzzzo+.. ;zzzoz;:::,....,,:::,,,,,,::::::,,,,.,,,,,,,,,.,,::::::,.,,,:+++;:;:,,:+ozzo;;z+:++;:::+zzz
zzzzzz, .zzoz;:::,...,,,::,,,,,,,,,,,::::::,,,..........,,,:::,,,.,,;;;;;;::,,,:+ozzz;z+::;:::::z;zo
zzzzzo; ,ooz;::,..,,,,,,,,,,.....,,,,,,,::::,,,.........,,,,,,,,..::;;:;;::,,,:;zzzzzzo;::::::;z;:zo
zzzzzoz.,:,......,,,,,,,,.............,,,,,,,,,..,,.. .,,,,,,,....;::;::::,,,,:+ozzzzzz+:::,;:;::;oz
zzzzzz;.,:::..,,,,,,,,......,,,,,,......,,,,,,,..,::, .,,,,,,....,::::,,,,..,,,zzzzzzzzoz;,,;;;;+ozz
zzzzzz+,,:...,,,,,,.....,,,,,,,......,,,,,,..... .,,..,,,,,... .,:,,,,,,,.... ,zozzzzzzzo;.,zzzzozzz
zzzzo+:..  .,,,,.....,,,,...................     ... .,,,.......,,,,,......   ,;+zooozoo;..;zzzzzzzz
zzzo;.::..,,,,....,,...,,::;:,........     .,:;;:,,...,,,,,,,,,,,.......       ..,:+zz;:..:oozoozzzz
zzz;:+:. .,,....,..,:;+zooz:.....         .,,:;ooo; ....,,,,,,,,,,,.,:;,......     .,,...,::+zozzzzz
zzz++.. .......,.,;zooozz,  .............,,... ,z;  . .................,,,,,,,,.......  ......+zzzzz
zzo+,;, ........:oozzzzzz:,,,,,,,,..,.......,.:;+:..... ...........................,:;;:;:,:,::ozzzz
zzz+z:  .......,ozzzzzzzzooooz;;;;zz;;;;:;;;;:;++oozzz+;;;;;;;;+zooz;;::,::::,:;+zoz+;;;;zz+ooozzzzz
zzzoz... .......+oozzzzzzzzzzz:..,z+...:zooz:..,zzzoozoo;......;ozzz:..:oo+.,,+ooo:........:zzzzzzzz
zzzzz.:, ........:+ooooooooozo;..,z,.,;oozzz;..:ozzzzzzz:..;:..;ozzo:..:zz+..,zzz;...,+z;,,+ozzzzzzz
zzzzo:z:   ........,:;;++zzzzz;..,,..,:,,::;:..:zzzzzzzz,.,o;..:ozzo:..:oo+..,zoz;....,:;zozzzzzzzzz
zzzzzzz+.:. .............,,,,,,......,:;+zzo;..:ozzzzzo+..:oz,.,zozo:..:zo+..,zozo+:,.....:zzzzzzzzz
zzzzzzzo;z;.     .................  ,zoooozo:..:zzzozzo:..,,,...;ozo:..:oz+..,zozz;+oz+:...:ozzzzzzz
zzzzzzzzozoz;:;:,..        ...,  .:..,+ozzzo:..:ooz;zzo,.,:::,..;ozo:..,zo;..,zzzz,.;+z+,..,ozzzzzzz
zzzzzzzzzzzooooooz++;;;;;;;++o: .,o;...;ozzo:...,,,:oo;..,ooo;..,zzzz,...,...;ozo;.........;zzzzzzzz
zzzzzzzzzzzzzzzzzoooooooooooo+::::+z::,:;zz+::::,,.,o+:,,:zzz;,:,;zzoz;:,,,:+ozzz+;;:,,,:;zozzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzoooozzoooozzzzooooooz+zzoooozzzoooozzzzoooooooozzzzoooooooooozzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzozzzzzozzzzozzozzzzzzoozozzzzzzzzzzzozzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzo

ascii_video.py

python ascii_video.py --input <path_to_video> --width <number> --set <1, 2, or 3>

Example:

python ascii_video.py --input lego/data/video.mp4 --width 100 --set 1

Arguments:

  • --input: Path to the input video file (Required).
  • --width: The desired width of the ASCII art in characters (default: 100).
  • --set: Which built-in character set to use: 1, 2, or 3 (default: 1).

About

Image Converter UI: text-based ASCII art and pixelated Lego mosaics. There's a web version also, downloadable converted image.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published