Files
@ 353129d558d3
Branch filter:
Location: OneEye/src/analyzer/framecache.py - annotation
353129d558d3
527 B
text/x-python
refactored pipeline into BoardDetector with separate methods
f4097dbb3757 f4097dbb3757 f4097dbb3757 f4097dbb3757 f4097dbb3757 f4097dbb3757 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 f4097dbb3757 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 | from collections import deque
class FrameCache:
def __init__(self,capacity=600): # 600 is enough for 10 min of 1 fps
self._capacity=capacity
self._keys=deque()
self._values=dict()
self._i=0
def put(self,item):
self._i+=1
if len(self._keys)>=self._capacity:
k=self._keys.popleft()
del self._values[k]
self._values[self._i]=item
self._keys.append(self._i)
return self._i
def get(self,k):
return self._values.get(k)
def getRelative(self,k):
return (self._keys[k], self._values[self._keys[k]])
|