This commit is contained in:
Askill 2022-05-03 10:57:19 +02:00
parent dafad280c1
commit 874976331e
3 changed files with 22 additions and 9 deletions

View File

@ -24,14 +24,13 @@ class LayerManager:
self.tags = [] self.tags = []
print("LayerManager constructed") print("LayerManager constructed")
def transformLayers(self): def cleanLayers(self):
print("'Cleaning' Layers") print("'Cleaning' Layers")
print("Before deleting short layers ", len(self.layers)) print("Before deleting short layers ", len(self.layers))
self.freeMin() self.freeMin()
print("Before deleting long layers ", len(self.layers)) print("Before deleting long layers ", len(self.layers))
self.freeMax() self.freeMax()
self.sortLayers() self.sortLayers()
self.calcStats()
print("Before deleting sparse layers ", len(self.layers)) print("Before deleting sparse layers ", len(self.layers))
self.deleteSparse() self.deleteSparse()
print("after deleting sparse layers ", len(self.layers)) print("after deleting sparse layers ", len(self.layers))
@ -47,10 +46,6 @@ class LayerManager:
for i, id in enumerate(toDelete): for i, id in enumerate(toDelete):
del self.layers[id - i] del self.layers[id - i]
def calcStats(self):
for layer in self.layers:
layer.calcStats()
def freeMin(self): def freeMin(self):
self.data.clear() self.data.clear()
layers = [] layers = []

View File

@ -24,6 +24,24 @@ On my configuration 1 minutes of of the original Video can be processed in about
![docs/demo.gif](./docs/bm.jpg) ![docs/demo.gif](./docs/bm.jpg)
### Configuration
./Appliucation/Config.py
"min_area": 100, min area in pixels
"max_area": 9000000, max area in pixels
"threashold": 6, luminance difference threashold
"resizeWidth": 1000, video is scaled down internally
"inputPath": None, overwritten in main.py
"outputPath": None, overwritten in main.py
"maxLayerLength": 5000, max langth of Layer
"minLayerLength": 10, min langth of Layer
"tolerance": 100, max distance between contours to be aggragated into layer
"maxLength": None,
"ttolerance": 60, number of frames movement can be apart until a new layer is created
"videoBufferLength": 100, Buffer Length of Video Reader Componenent
"LayersPerContour": 220, number of layers a single contour can belong to
"avgNum": 10, number of images that should be averaged before calculating the difference
### notes: ### notes:

View File

@ -16,7 +16,7 @@ def main():
startTotal = time.time() startTotal = time.time()
config = Config() config = Config()
fileName = "x23.mp4" fileName = "./x23-1.mp4"
outputPath = os.path.join(os.path.dirname(__file__), "output") outputPath = os.path.join(os.path.dirname(__file__), "output")
dirName = os.path.join(os.path.dirname(__file__), "generate test footage") dirName = os.path.join(os.path.dirname(__file__), "generate test footage")
@ -35,14 +35,14 @@ def main():
layers = layerFactory.extractLayers(contours, masks) layers = layerFactory.extractLayers(contours, masks)
layerManager = LayerManager(config, layers) layerManager = LayerManager(config, layers)
layerManager.transformLayers() layerManager.cleanLayers()
# layerManager.tagLayers() # layerManager.tagLayers()
layers = layerManager.layers layers = layerManager.layers
if len(layers) == 0: if len(layers) == 0:
exit(1) exit(1)
heatmap = HeatMap(1920, 1088, [contour for layer in layers for contour in layer.bounds], 1920 / config["resizeWidth"]) heatmap = HeatMap(config["w"], config["h"], [contour for layer in layers for contour in layer.bounds], 1920 / config["resizeWidth"])
heatmap.showImage() heatmap.showImage()
exporter = Exporter(config) exporter = Exporter(config)