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.
- Wahrscheinlich nicht. ↩