Wednesday, November 17, 2010

A year of faces

Every time I login to my computer, it takes a photo of me through the webcam. It’s been doing this for about a year. These are the results. If you’d like to do something similar, I’ve explained how to do it below.

AVERAGE FACE

This is the average of all the photos from the past year.

TIMELAPSE FACE

;

That’s all the faces from the past year or so. Sadly I didn’t walk across China this year, unlike this guy:

It’s a start.

HOW TO DO IT

To get your Mac to take a photo of yourself everytime you login, you can follow the instructions in this Lifehacker post. Nice and easy - you don’t really have to think about it once it’s set up, which is how I managed to actually complete this project.

Making the average photo is a bit complicated. It was inspired by the work of Jason Salavon, who creates impressionistic images by averaging together photographs. This is from 114 homes for sale in Dallas Ft. Worth:

I asked Metafilter how to create this effect and got a bunch of different suggestions. There’s a method using something called Image Magick, or a Python script you can use. But I ended up downloading Mathematica and using the method described in the Metafilter thread, which looks like this: 

mathematica

You have to right-click your “images” section and choose “Evaluate cell” before you do “Evaluate cell” on the second, calculatory part, otherwise it gets confused. AND ANGRY.

I couldn’t find a quicker way to import the images into Mathematica than doing “Insert” -> “Picture” -> “From File…” 250 times. I also found that Mathematica choked on averaging all 250 images at once (even on a reasonably powered computer!), so I created averages of 50 at a time, then averaged the averages. A bit of a palava, but it did mean that I ended up with some extra images like these:

For the video, I just used Automator to copy and rename all the photos sequentially (001.jpg, 002.jpg, 003.jpg…) and then used Quicktime Pro, “Open Image Sequence” at 10fps and then saved it as a .mov. Sweet.

Notes

  1. vexappeal posted this