-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtest.py
More file actions
82 lines (69 loc) · 2.55 KB
/
test.py
File metadata and controls
82 lines (69 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from importlib import import_module
from sys import modules
# Testing info
TESTS = [ ["getGoodTextColor", {'color': '#ffffff'}] ]
OLD_TESTS = [["parseFileTest", {'path': './tests/testfile.txt'}],
["generateImageTest", {'path': './tests/testfile.txt', 'test_path': './tests/imgs/databox_base_w_value_sample.png'}],
["generateAndTestDataBoxes", {'path': './tests/testfile.txt', 'out_dir': './tests/imgs/'}],
["generateVideoImage", {'path': './tests/testfile.txt', 'out_dir': './tests/imgs/videoimage.png'}],
["generateVideo", {'path': './tests/testfile.txt', 'out_path': './tests/imgs/videoimage.png'}],
["writeVideoFramesToImages", {'path': './tests/testfile.txt', 'out_dir': './tests/imgs/frames/'}]]
def parseFile(path):
from video import Video
video = Video.fromFile(path)
return video
def generateImageBaseTest(path, test_path):
from video import Video
from databox import DataBox
video = Video.fromFile(path)
img = video.data_boxes[0].generateImageBase()
img.save(test_path)
def generateImageTest(path, test_path):
from video import Video
from databox import DataBox
video = Video.fromFile(path)
video.data_boxes[0].image.save(test_path)
def generateDataBoxes(path, out_dir):
from video import Video
from databox import DataBox
import os
video = Video.fromFile(path)
generateDataBoxesFromVideo(video, out_dir)
def generateDataBoxesFromVideo(video, out_dir):
from databox import DataBox
import os
for i in range(len(video.data_boxes)):
out_path = os.path.join(out_dir, f"databox_{i}.png")
video.data_boxes[i].image.save(out_path)
def generateAndTestDataBoxes(path, out_dir):
from databox import DataBox
import os
video = parseFile(path)
generateDataBoxesFromVideo(video, out_dir)
video.previewDataBoxes()
def generateVideoImage(path, out_dir):
video = parseFile(path)
video.generateVideoImage()
video.outputVideoImage(out_dir)
def generateVideo(path, out_path):
video = parseFile(path)
video.generateVideoImage()
video.outputVideoImage(out_path)
video.generateVideoFrames()
def writeVideoFramesToImages(path, out_dir, num_frames=100):
import numpy as np
from PIL import Image
import os
video = parseFile(path)
video.generateVideoImage()
video.generateVideoFrames()
video.setFade("in")
video.setFade("out")
for f in range(min(len(video.frames), num_frames)):
img = Image.fromarray(np.uint8(video.frames[f])).save(os.path.abspath(os.path.join(out_dir, f"frame_{f}.png")))
def getGoodTextColor(color):
import misc
print(misc.getGoodTextColor(color))
if __name__ == "__main__":
for test in TESTS:
getattr(modules[__name__], test[0])(**test[1])