Image experiments made with Pillow
- randomImages.py - generate, with the given resolution:
- randomColors.bmp - random RGB (True Color) pixels
- randomGrayscale.bmp - random grayscale pixels
- randomColorAlpha.png - random RGB pixels with alpha (transparency)
- randomGrayscaleAlpha.png - random grayscale pixels with alpha (transparency)
- random8bit.png - random 8-bit/VGA-supported/web-safe RGB pixels (all hexadecimal component colors are multiples of 33)
- dither.py - convert image to 1-bit (black or white) for each pixel, and use dithering to give the illusion of more gray shades
- VGA.py - convert image to 8-bit web colors, VGA-compatible, both with and without dithering
- grayscale.py - convert image to 8-bit grayscale
- sketch.py - contour the image, line cleanup can be changed
- blur.py - generate a blurred copy of the image, blur radius and algorithm can be changed
- upscale.py - upscale image to 4x size using various algorithms
- convert.py - convert to various file formats
- hell.py - make all colors hot
- heaven.py - recolor image to a sky-blue shade
- greenIntensify.py - intensify and optimize green hues, useful for images with vegetation
- blueIntensify.py - intensify blue shades, making sky and water bluer
- aqua.py - make images look underwater
- sharpenSmooth.py - sharpen/smooth image contours
- colorPop.py - make pixels not in the set color range grayscale or transparent.
- ascii.py - convert image to text. The output will be saved as plaintext. Dark mode (first image) is available.
1W`
`` W `
, #-
W^
`' , , - ( ~- -!'
'2~/ . .`'/* ;
/! |(=.;@W, '-WWWiii1WWW, `~#<
;WWWWWWWWWWW=<WWWW_^|(WWWWWWWW-
WWWWWWWWWWWWWWWWWWWWWWWWWW(
&( . _=*`'(W^WWWWWWWWWWWWWWWWWWWWWWWWWWW+2:'...!2 -!*
_. ,WW~` _^^,./;<WWWWWWWWWWWWWWWWWWWW#2@WWWWW/!*^^~.'.*01WW|;';| `
-,,, #W|#WWW2W2WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW2WWW!`' `2`.0
|!-'^(%W|WWWW=-=%|#<#WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW&@WW#WWW2<':-WW% . ~
&&%2WWWW0WW2:'_,,,/W% .WWWWWW(W^WWWWWWWW#^+W2&WWWWW_ +:<@WW@2&2@1/i=^
iWWWW#WWWWWWWWW####WW2i=;^WWWWWWWWWWWWWWWWW%0iWWWWW@@WW*_&WW**!=//+WW#WWWWWW&%W#
=WW&#WW+|<(%#WW0&2#i;^/!i+(:+WWW(WW#|#*WWW= `:|WWi ,!`.~W+:W2&,,,+<*!|WW#:~~-
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW: #WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWW##WWWWWWWWWWW WWWWWWWW#WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWW2WWWWWWWWWWWWWWWWWWWWWW`@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW =WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWW#&W2W2W@WWWWWWWW;WWWi@WW@<&WWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWW&,i|WWWWWWWWWWWWWWWW0WW0#&|+WWWWWWWWW(WWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWW|<W/;^0(- 2W&@ ~~~: 2WW#i`!WWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWW( ^! %=/; @WWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWW ;WWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWW';WWW0WWWWWWW%^+#&; = *,1&000<,W@<+WWWWWWWWWWWWW
WWWWW%0WW2 i#WWWWW%==20|(! `,- |<+==i0&0+.: /(&(/WWWWW#
@222W` /` , , , <#&W#,#0.
/<@&=;_ / ^@^_/`!` '- ` ,!&1@ _W0WWWiWWW
''_, . ,1&%222| _WWWW0 ; = `=* ,' %WWWWWWWWW*1!- -,',-:|~^=
~ ` ```` ,~^(= _.~ -- +%' ++<^||* ` '_ `
^ '` */!;_` .',`~(=|<~*;1* ; `/`+ ^W#1/ ~WWW2<#0i *1 ,'222*!+</ `1ii@W
Each script generates files in a directory with the same name as the script, to avoid flooding the root directory.
For photo attribution, check the ATTRIBUTION.md file.