diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eea7b5d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +generate test footage/images/ diff --git a/1.mp4 b/1.mp4 deleted file mode 100644 index 985c209..0000000 Binary files a/1.mp4 and /dev/null differ diff --git a/generate test footage/gen.py b/generate test footage/gen.py index bfe9ba3..f4e5a92 100644 --- a/generate test footage/gen.py +++ b/generate test footage/gen.py @@ -2,6 +2,9 @@ import math from PIL import Image, ImageDraw import random +import imageio +import glob +import os def getRandomColorString(): @@ -11,39 +14,55 @@ fps = 30 xmax = 1920 ymax = 1080 # in minutes -length = 1 +length = .1 numberOfEvents = 3 +dirname = os.path.dirname(__file__) +imagesPath = os.path.join(dirname, 'images')+"/" +outputPath = os.path.join(dirname, 'out.mp4') # creating new Image object -img = Image.new("RGB", (xmax, ymax)) +def genImages(): + counter = 0 + for i in range(numberOfEvents): -for i in range(numberOfEvents): + objectWidth = (5 + random.randint(0, 5)) * xmax / 100 + objectHeight = (10 + random.randint(-5, 5)) * ymax / 100 - objectWidth = (5 + random.randint(0, 5)) * xmax / 100 - objectHeight = (10 + random.randint(-5, 5)) * ymax / 100 + objectX = random.randint(0, xmax) + objectY = random.randint(0, ymax) - objectX = random.randint(0, xmax) - objectY = random.randint(0, ymax) + objectSpeedX = random.randint( 1 ,5 ) + objectSpeedY = random.randint( 1, 5 ) + color = getRandomColorString() - objectSpeedX = random.randint( -int(objectWidth) - 1, int(objectWidth) + 1) - objectSpeedY = random.randint( -int(objectWidth) - 1, int(objectWidth) + 1) - color = getRandomColorString() + for j in range(int(fps*length*60 / numberOfEvents)): + counter+=1 + objectX -= objectSpeedX + objectY -= objectSpeedY - for j in range(int(fps*length*60 / numberOfEvents)): + objectShape = [(objectX, objectY), (objectX + objectWidth, objectY + objectHeight)] + + + img = Image.new("RGB", (xmax, ymax)) + # create rectangle image + img1 = ImageDraw.Draw(img) + + img1.rectangle(objectShape, fill = color) + img.save( imagesPath + str(counter).zfill(6) + ".png") - objectX -= objectSpeedX - objectY -= objectSpeedY +def makeVideo(): + fileList = [] + for file in sorted(os.listdir(imagesPath)): + complete_path = imagesPath + file + fileList.append(complete_path) - objectShape = [(objectX, objectY), (objectX + objectWidth, objectY + objectHeight)] - - - - # create rectangle image - img1 = ImageDraw.Draw(img) - - img1.rectangle(objectShape, fill = color) + writer = imageio.get_writer(outputPath, fps=fps) -img.show() + for im in fileList: + writer.append_data(imageio.imread(im)) + writer.close() +genImages() +makeVideo() diff --git a/generate test footage/out.mp4 b/generate test footage/out.mp4 new file mode 100644 index 0000000..a6b968b Binary files /dev/null and b/generate test footage/out.mp4 differ