small fix
This commit is contained in:
parent
b03018bfb2
commit
717d73dc74
|
|
@ -86,9 +86,9 @@ class ContourExtractor:
|
||||||
averageFrames = self.config["averageFrames"]
|
averageFrames = self.config["averageFrames"]
|
||||||
if frames[0][0] < averageFrames:
|
if frames[0][0] < averageFrames:
|
||||||
frame = frames[0][1]
|
frame = frames[0][1]
|
||||||
|
frame = self.prepareFrame(frame)
|
||||||
for j in range(0, len(frames)):
|
for j in range(0, len(frames)):
|
||||||
frameNumber, _ = frames[j]
|
frameNumber, _ = frames[j]
|
||||||
frame = imutils.resize(frame, width=self.resizeWidth)
|
|
||||||
self.averages[frameNumber] = frame
|
self.averages[frameNumber] = frame
|
||||||
# put last x frames into a buffer
|
# put last x frames into a buffer
|
||||||
self.lastFrames = frames[-averageFrames:]
|
self.lastFrames = frames[-averageFrames:]
|
||||||
|
|
@ -101,14 +101,17 @@ class ContourExtractor:
|
||||||
with ThreadPool(16) as pool:
|
with ThreadPool(16) as pool:
|
||||||
pool.map(self.averageDaFrames, tmp)
|
pool.map(self.averageDaFrames, tmp)
|
||||||
|
|
||||||
|
self.lastFrames = frames[-averageFrames:]
|
||||||
|
|
||||||
|
|
||||||
def averageDaFrames(self, dat):
|
def averageDaFrames(self, dat):
|
||||||
j, frames, averageFrames = dat
|
j, frames, averageFrames = dat
|
||||||
frameNumber, frame = frames[j]
|
frameNumber, frame = frames[j]
|
||||||
frame = imutils.resize(frame, width=self.resizeWidth)
|
frame = self.prepareFrame(frame)
|
||||||
|
|
||||||
avg = frame/averageFrames
|
avg = frame/averageFrames
|
||||||
for jj in reversed(range(averageFrames-1)):
|
for jj in reversed(range(averageFrames-1)):
|
||||||
avg += imutils.resize(frames[j-jj][1], width=self.resizeWidth)/averageFrames
|
avg += self.prepareFrame(frames[j-jj][1])/averageFrames
|
||||||
self.averages[frameNumber] = np.array(np.round(avg), dtype=np.uint8)
|
self.averages[frameNumber] = np.array(np.round(avg), dtype=np.uint8)
|
||||||
|
|
||||||
def getContours(self, data):
|
def getContours(self, data):
|
||||||
|
|
@ -116,7 +119,7 @@ class ContourExtractor:
|
||||||
while frameCount not in self.averages:
|
while frameCount not in self.averages:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
firstFrame = self.averages.pop(frameCount, None)
|
firstFrame = self.averages.pop(frameCount, None)
|
||||||
firstFrame = self.prepareFrame(firstFrame)
|
#firstFrame = self.prepareFrame(firstFrame)
|
||||||
if frameCount % (60*30) == 0:
|
if frameCount % (60*30) == 0:
|
||||||
print(f"{frameCount/(60*30)} Minutes processed in {round((time.time() - self.start), 2)} each")
|
print(f"{frameCount/(60*30)} Minutes processed in {round((time.time() - self.start), 2)} each")
|
||||||
self.start = time.time()
|
self.start = time.time()
|
||||||
|
|
|
||||||
|
|
@ -84,13 +84,13 @@ class LayerFactory:
|
||||||
print(f"{int(round(frameNumber/max(data.keys()), 2)*100)}% done with Layer extraction")
|
print(f"{int(round(frameNumber/max(data.keys()), 2)*100)}% done with Layer extraction")
|
||||||
|
|
||||||
tmp = [[frameNumber, contour] for contour in contours]
|
tmp = [[frameNumber, contour] for contour in contours]
|
||||||
#pool.map_async(self.getLayers, tmp)
|
pool.map(self.getLayers, tmp)
|
||||||
for x in tmp:
|
#for x in tmp:
|
||||||
self.getLayers(x)
|
#self.getLayers(x)
|
||||||
|
|
||||||
self.freeMin()
|
self.freeMin()
|
||||||
self.sortLayers()
|
self.sortLayers()
|
||||||
self.cleanLayers()
|
#self.cleanLayers()
|
||||||
self.freeMax()
|
self.freeMax()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
BIN
output/short.txt
BIN
output/short.txt
Binary file not shown.
Loading…
Reference in New Issue