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














