Show HN: Movie Iris - Visualizing Films Through Color Extraction
github.comI saw someone post these on reddit 4 years ago, and I really wanted to make them. I was surprised they didn't open source their code, so I rebuilt it.
Lots of things I would do differently now haha, but anyway, figured someone here might find it interesting.
I wonder if someone could use this to demonstrate how much darker films seem to have gotten.
That and actors that mumble their words...
Here's how to do it with ffmpeg and ImageMagick:
does it work for you on a film? 'magick' isn't a command on my install. I can run montage but get
>bash: /usr/bin/montage: Argument list too long
with 114394 files for a 1h20m film.
You'll need to install ImageMagick: https://imagemagick.org/script/download.php
I have imagemagick installed, it no longer has a 'magick' command you run montage etc. directly. the problem is globbing that huge amount of files, so I'm wondering if you've tested the commands.
>montage
>Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25
Ah. Good point. I only tried on a shorter video. Might have to concatenate batches of frames to get around that (much less elegant).
These barcode type things always remind of Cinema Redux - distilled films down into single images, an early memorable use of Processing.
https://brendandawes.com/projects/cinemaredux
This is really cool. I'd love to see this done for the movie "Lola rennt" (Run Lola Run) which is studied for it's color symbolism throughout the film.
I think the choice of Hero is based on a similar idea to this, too.
This is quite nice. Not sure what the meaning is of a circle versus, say, a linear strip, but it’s very effective for showing the dominant colors over time. I’d love to generally see this for many movies across time; my understanding is most are color graded green/yellow now and it’d be nice to visually see this evolution.
Probably because it kinda looks like eye colors, hence the name "iris" and the shape
Iris gotta look like iris
What comes first, the name or the design?
I don't know if this is the "original" (it's a common idea), but here's some "movie barcode" Python code from 9 years ago: https://github.com/timbennett/movie-barcodes
This tumblr was posting these from 2011 to 2018 - moviebarcode.tumblr.com
I have a cli tool I maintain that finds visually similar images.
As a fun experiment several years ago I extracted all the frames of Skyfall and all the frames of the first Harry Potter movie.
I then reconstructed Harry Potter frame by frame using the corresponding frame from Skyfall that was most visually similar.
The end result was far more indecipherable than I'd ever expected. The much darker color pallet of Harry Potter lead to the final result largely using frames from a single dark scene in Skyfall, with single frames often being used over and over. It was pretty disappointing given it took hours and hours to process.
Thinking about it now, there's probably a way to compensate for this. Some sort of overall pallette compensation.
I imagine the best case outcome would look something like Jack Gallant's 2011 work on visual mind reading, where they trained a model on brain activity watching hundreds of hours of YouTube and then attempted to reconstruct a view of video not in the training set by correlating the new brain activity with frames from the input... Sorry I'm not explaining very clearly but there's a YouTube video of the result naturally :)
https://youtu.be/nsjDnYxJ0bo
Learned about this from Mary Lou Jepsens 2013 TED talk, what a throwback
https://www.ted.com/talks/mary_lou_jepsen_could_future_devic...
That's an interesting idea. I wonder how well the film iris/barcodes could be used to figure out which movies make the best 'palette' to recreate a given scene.
I spent some time earlier this year on creating mosaics of movie posters using other posters as tiles: https://joshmosier.com/posts/movie-posters/full-res.jpg (warning: 20mb file) Using this on each frame of a scene gave some good results with a fine enough grid even with no repeating tiles: https://youtu.be/GVHPi-FrDY4
If you had a much bigger corpus, and used some semantics-aware similarity metrics (think embeddings), you could maybe end up with something actually coherent
if you take this idea to the limit you'll basically generate a visual embedding equivalent to tvtropes.org
I'm interested in this. What's your similarity measure? I was going to write a frame comparison tool to make seamlessly looping video.
This post brings back memories. I remember watching this trilogy in an old movie theater that still showed film, and it was amazing experiance.
"Red," "White," and "Blue" is a trilogy of French films made by Polish-born filmmaker Krzysztof Kieslowski. Each movie follows the color pallet.
Modern digital movies are way too sharp, in a bad way.