This commit is contained in:
Askill 2022-08-17 11:54:52 +02:00
parent d4f4dbf993
commit 1d7a56c417
1 changed files with 13 additions and 20 deletions

View File

@ -41,14 +41,11 @@ class ContourExtractor:
print("ContourExtractor initiated") print("ContourExtractor initiated")
def extractContours(self): def extractContours(self):
videoReader = VideoReader(self.config) self.start = time.time()
with VideoReader(self.config) as videoReader:
self.fps = videoReader.getFPS() self.fps = videoReader.getFPS()
self.length = videoReader.getLength() self.length = videoReader.getLength()
videoReader.fillBuffer()
threads = self.config["videoBufferLength"]
self.start = time.time()
# start a bunch of frames and let them read from the video reader buffer until the video reader reaches EOF
with ThreadPool(2) as pool: with ThreadPool(2) as pool:
while True: while True:
while not videoReader.videoEnded() and videoReader.buffer.qsize() == 0: while not videoReader.videoEnded() and videoReader.buffer.qsize() == 0:
@ -59,11 +56,7 @@ class ContourExtractor:
break break
pool.map(self.computeMovingAverage, (tmpData,)) pool.map(self.computeMovingAverage, (tmpData,))
pool.map(self.async2, (tmpData,)) pool.map(self.async2, (tmpData,))
# for data in tmpData:
# self.getContours(data)
frameCount = tmpData[-1][0]
videoReader.thread.join()
return self.extractedContours, self.extractedMasks return self.extractedContours, self.extractedMasks
def async2(self, tmpData): def async2(self, tmpData):