Movies are about story but they are also a lot about atmosphere. Lighting and colors contribute greatly to it, and it can make a movie or director identifiable instantly. How much does the color alone give away? How much information could we get from a single color swatch of a scene? Would it be possible to capture a whole movie in a single image? Let's find out.
I wrote a Java program to extract each frame of a video file, compute the average color and plot a single pixel. All the frames of the movie give as many pixels that are then combined to form one final resulting image. The pixels are arranged such that the final image has the same aspect ratio as the movie. I tried it on a few classics.
This all time classic movie, Blade Runner directed by Ridley Scott, is widely known for its oppressing atmosphere and great use of color and lighting. It gives quite a pleasing result with clear phases between which we can see the dominant color shift throughout the movie.
The Good, the Bad, and the Ugly, another timeless classic by Sergio Leone. I was a bit surprised by this one, I expected to se a lot more blue (of the desert sky), but actually most shots are very up close and we mostly get to see gray hills, and dusty faces. A few wider angle shots give some blue streaks here and there The memorable and very colorful (mostly blood red) main titles are clearly visible.
This one clearly stands out as having a strong dark green dominant. It should be easy to guess the name of this movie. It is The Matrix.
As expected black and white movies do not give meaningful results. Here is Modern Times by Charles Chaplin.
All these images have one thing in common : they all have distinct color bands. This made me think immediately of one thing : Jupiter. So let's have some fun with POV-Ray and create our own little planets :-)
A possible real world application for this might be some kind of movie library software where you could fly around and land on one of the planets to start watching the movie. The planets rotation would make the pictures scroll at the right framerate. Kind of like these crazy database interface we can see in some movies where you literaly manipulate the data with your bare hands. Impractical, I know, but maybe fun for a few minutes.
Well, that's it. I was not overly optimistic at first, because I assumed that averaging the colors would only give a generic kind of gray barely different from one movie to the other, but it actually turned out quite good. To answer the question I asked at the top of this article, no you can't capture a whole movie in a single image, who am I kidding. However if you have seen the movie before such an image can act as a cue for the recollection of various moments. Feel free to give your opinion below. I'm not posting the source code for this because it was coded ad hoc and depends on too many other stuff, but if you want it, ask and I'll see what I can do.