Why not Zoidberg?

A couple weeks ago, I was working diligently on my computer for several hours trying to figure out how to do something in python. Kari was wondering what I was working on, but figured it was something important and continued to do her own thing. Finally everything came together and I had a final product to show Kari with pride. She wasn’t very impressed though. “THIS is what you’ve been working on this whole time? Why?”

Of course, my response was “Why not?”

It might be difficult to tell, but that’s a letter mosaic of Dr Zoidberg. I wrote a script that takes a normal image and a collection of text as an input. It then reads each pixel in the image using Pillow and prints the text in the corresponding pixel color. From a distance the words blend together to create an image. In this case, the text is “Why Not Zoidberg?“.

I’ve been experimenting with printing output images at a local print shop. By changing the background color, the font, and adjusting the source image you can get different results with some being easier to see than others. I’ve found that black backgrounds tend to look better than white backgrounds, but a white background with a greyscale input photo looks classy. I’m planning to create a series of posters of Richmond landmarks using local place names acquired from OpenStreetMap data in QGIS. (You knew there was a map reference coming, didn’t you?) Here is a test image of Agecroft using Richmond street names as the text. This one is designed to print on a 12″x12″ card.

Comments 2

  • Awesome…but Ashcroft is too dark.

    • I haven’t tried it yet, but I think that I need to increase the brightness of the input image. The input will look too bright, but the black background should average out the color and make it look more normal in the output image.

Leave a Reply to Daniel Fourquet Cancel reply

Your email address will not be published. Required fields are marked *