Filme zu Barcodes!

Eine simple Idee: Man nehme einen Film, ermittle die durchschnittliche Farbe jedes Frames, lege diese Farben hintereinander, ziehe das Ganze etwas in die Höhe und voilá: Kunst.

Eine derart simple Idee können wir auch selbst umsetzen!

Zunächst basteln wir ein kurzes Python-Script, welches einen Film in ein Streifenmuster umwandelt:

#! /usr/bin/python3

import imageio
import numpy
import argparse


def main():
    parser = argparse.ArgumentParser(description='Convert a video into bars of colour.')
    parser.add_argument('video', help='The video file to process')
    parser.add_argument('image', help='The output image file name')
    parser.add_argument('--height', type=int, default=600, help='The height of the resulting image')

    args = parser.parse_args()

    reader = imageio.get_reader(args.video, 'ffmpeg')

    colours = []

    for i, im in enumerate(reader):
        print("Processing frame {}".format(i))
        colours.append(numpy.mean(im, axis=(0, 1)))

    resultpicture = numpy.repeat(numpy.array([colours]), args.height, axis=0)

    imageio.imwrite(args.image, resultpicture)


if __name__ == '__main__':
    main()

Hernach können wir das Bild noch ins gewünschte Endformat quetschen:

convert -resize 600x200! image.png image-resized.png

Und fertig!

Zu Anschauungszwecken habe ich mir mal ein paar Youtube-Videos genommen und in Barcode-Form gegossen. Ein Klick auf das Bild bringt euch zum zugehörigen Youtube-Video. Vielleicht erratet ihr es aber auch bereits vom draufsehen?1 Am interessantesten finde ich persönlich ja das letzte Bild.

Filme zu Barcodes!

Filme zu Barcodes!

Filme zu Barcodes!

Filme zu Barcodes!

Filme zu Barcodes!

Filme zu Barcodes!

Filme zu Barcodes!

Filme zu Barcodes!

Filme zu Barcodes!

  1. Wahrscheinlich nicht.