The Real Starman?

A greyscale human face in the top left of the Ziggy Stardust album cover
Finding Kleks in old album covers?!

I found a crazy klek hidden in the Ziggy Stardust album cover!


I don’t really know how I went from reading https://smallweb.site/formsites/inspace to writing a Python script to turn images into greyscale images rendered in ascii star characters, but somehow I did!

The script follows a really simple algorithm, going through each 2x2 square of pixels, finding the average luminence of each square, and printing out a different ascii star character based on the luminence.

Scrappy code:

from PIL import Image
import sys

if len(sys.argv) != 2:
    raise Exception("Need to pass image path")
imagePath = sys.argv[1]

im = Image.open(imagePath)
pix = im.load()
(w, h) = im.size

new = [ [ 0 for i in range(int(w / 2)) ] for j in range(int(h / 2)) ]

for x in range(int(w / 2)):
    for y in range(int(h / 2)):
        l = 0
        for i in range(x*2, x*2+2):
            for j in range(y*2, y*2+2):
                r,g,b =  pix[i, j]
                # Relative luminence formula: 
                # https://en.wikipedia.org/wiki/Relative_luminance
                l += 0.2126*r + 0.7152*g + 0.0722*b 
        
        # Average them                 
        l = l / 4

        star = ''
        if l < 51:
            star = '★'
        elif l < 102:
            star = '✦'
        elif l < 153:
            star = '✡'
        elif l < 204:    
            star = '✧'
        else:
            star = '☆'
            
        new[y][x] = star


for line in new:
    print(''.join(line))

I then copy/paste the star lines into an HTML <pre> element, with a little bit of CSS to remove whitespace between the letters and lines:

/* I know mixing em and px units is bad, bite me. */
pre {
    line-height: 0.4em;
    letter-spacing: -2.8px;
    font-family: monospace;
}

I decided to run the original Ziggy Stardust album cover (home of the song Starman) through this script, and I found something really strange!

The album cover for David Bowie's 'The Rise and Fall of Ziggy Stardust and the Spiders from Mars'.
Original album cover

Turns into…

A greyscale version of the album cover above, with what looks like a human face in the top left where the clouds are in the original picture.
Look in the top left!

Holy Starman, Batman! A face appears out of the smoke, in the top left corner of the image.

In case you don’t believe my code (fair!), you can see it for yourself by uploading the album cover image to a black-and-white threshold tool like https://pinetools.com/threshold-image, with a threshold of around 50.

A screenshot of the pinetools threshold website, with the original album art being rendered in black and white with a luminence threshold of 53. In it, you can see the same face that my script produced.
The pinetools website.

The face doesn’t show quite as clearly this way – I assume it’s the extra compression I added (the 4:1 pixel ratio) that really makes it pop. But still!


You can kinda see the face in the original image, if you squint. I couldn’t find anybody talking about this online – I assume it’s a coincidence? But if anybody knows otherwise, I’d love to hear from you!