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,29 +41,22 @@ class ContourExtractor:
print("ContourExtractor initiated")
def extractContours(self):
videoReader = VideoReader(self.config)
self.fps = videoReader.getFPS()
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:
while True:
while not videoReader.videoEnded() and videoReader.buffer.qsize() == 0:
time.sleep(0.5)
with VideoReader(self.config) as videoReader:
self.fps = videoReader.getFPS()
self.length = videoReader.getLength()
tmpData = [videoReader.pop() for i in range(0, videoReader.buffer.qsize())]
if videoReader.videoEnded():
break
pool.map(self.computeMovingAverage, (tmpData,))
pool.map(self.async2, (tmpData,))
# for data in tmpData:
# self.getContours(data)
frameCount = tmpData[-1][0]
with ThreadPool(2) as pool:
while True:
while not videoReader.videoEnded() and videoReader.buffer.qsize() == 0:
time.sleep(0.5)
tmpData = [videoReader.pop() for i in range(0, videoReader.buffer.qsize())]
if videoReader.videoEnded():
break
pool.map(self.computeMovingAverage, (tmpData,))
pool.map(self.async2, (tmpData,))
videoReader.thread.join()
return self.extractedContours, self.extractedMasks
def async2(self, tmpData):