insignificant refactor

This commit is contained in:
Askill 2020-10-14 00:16:39 +02:00
parent ec4812bee1
commit 73d1ddc74b
7 changed files with 16 additions and 15 deletions

View File

@ -12,7 +12,8 @@ class Config:
"tolerance": 10,
"maxLength": None,
"ttolerance": 10,
"videoBufferLength": 16}
"videoBufferLength": 16
}
def __init__(self):
print("Current Config:", self.c)

View File

@ -63,7 +63,7 @@ class ContourExtractor:
while not videoReader.videoEnded():
#FrameCount, frame = videoReader.pop()
if frameCount % (60*30) == 0:
print(f"Minutes processed: {frameCount/(60*30)} in {round((time.time() - start), 2)} each")
print(f"{frameCount/(60*30)} Minutes processed in {round((time.time() - start), 2)} each")
start = time.time()
if videoReader.buffer.qsize() == 0:

View File

@ -81,11 +81,11 @@ class Exporter:
if frame is None:
print("ContourExtractor: frame was None")
continue
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
for layer in layers:
if layer.startFrame <= frameCount and layer.startFrame + len(layer.bounds) > frameCount:
for (x, y, w, h) in layer.bounds[frameCount - layer.startFrame]:
(x, y, w, h) = layer.bounds[frameCount - layer.startFrame]
factor = videoReader.w / self.resizeWidth
x = int(x * factor)
y = int(y * factor)
@ -95,8 +95,6 @@ class Exporter:
frame2 = frames[frameCount - layer.startFrame]
frame2[y:y+h, x:x+w] = frame[y:y+h, x:x+w]
frames[frameCount - layer.startFrame] = np.copy(frame2)
videoReader.thread.join()
self.fps = videoReader.getFPS()

View File

@ -2,7 +2,7 @@ import numpy as np
import cv2
import imutils
class Layer:
#bounds = [(contour, (x,y,w,h)),]
#bounds = [[(x,y,w,h), ],]
startFrame = None
lastFrame = None

View File

@ -78,10 +78,13 @@ class LayerFactory:
if self.contoursOverlay((x-tol,y+h+tol), (x+w+tol,y-tol), (x2,y2+h2), (x2+w2,y2)):
self.layers[i].add(frameNumber, (x,y,w,h))
foundLayer = True
#break
break
if not foundLayer:
self.layers.append(Layer(frameNumber, (x,y,w,h)))
self.freeData()
self.sortLayers()
return self.layers
def contoursOverlay(self, l1, r1, l2, r2):
# If one rectangle is on left side of other

View File

@ -9,7 +9,7 @@ from Config import Config
class VideoReader:
#buffer = [(frameNumber, frame)]
listOfFrames = None
def __init__(self, config, setOfFrames = None):
@ -20,6 +20,7 @@ class VideoReader:
self.videoPath = videoPath
self.lastFrame = 0
#buffer = Queue([(frameNumber, frame), ])
self.buffer = Queue(config["videoBufferLength"])
self.vc = cv2.VideoCapture(videoPath)
self.stopped = False
@ -81,13 +82,12 @@ class VideoReader:
self.vc.set(1, self.listOfFrames[0])
self.lastFrame = self.listOfFrames[0]
else:
sleep(0.5)
sleep(0.1)
self.stopped = True
def videoEnded(self):
return self.stopped
def getFPS(self):
return self.vc.get(cv2.CAP_PROP_FPS)

View File

@ -20,11 +20,10 @@ def demo():
contours = ContourExtractor(config).extractContours()
print("Time consumed extracting: ", time.time() - start)
layerFactory = LayerFactory(config, contours)
layerFactory.freeData()
layerFactory.sortLayers()
layerFactory = LayerFactory(config)
layers = layerFactory.extractLayers(contours)
Exporter(config).exportOverlayed(layerFactory.layers)
Exporter(config).exportOverlayed(layers)
print("Total time: ", time.time() - start)
def init():