Exemplo n.º 1
0
def h264show(filenames):
    print cvideo.init()
    img = np.zeros([720, 1280, 3], dtype=np.uint8)
    missingIFrame = True
    pave = PaVE()
    for filename in filenames:
        pave.append(open(filename, "rb").read())
    header, payload = pave.extract()
    while len(header) > 0:
        w, h = frameEncodedWidth(header), frameEncodedHeight(header)
        if img.shape[0] != h or img.shape[1] != w:
            print img.shape, (w, h)
            img = np.zeros([h, w, 3], dtype=np.uint8)
        missingIFrame = missingIFrame and not isIFrame(header)
        if not missingIFrame:
            arr = parseFrame(payload)
            assert cvideo.frame(img, isIFrame(header) and 1 or 0, payload)
            if arr:
                for x, y, mx, my in arr:
                    cv2.line(img, (16 * x + 8, 16 * y + 8),
                             (16 * x + 8 + mx / 4, 16 * y + 8 + my / 4),
                             (0, 0, 255), 1)
        cv2.imshow('image', img)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
        header, payload = pave.extract()
Exemplo n.º 2
0
 def run(self):
     while True:  #self.shouldIRun.isSet():
         if len(self.readyForProcessing) > 0:
             self.lock.acquire()
             tmp = self.readyForProcessing
             timestamp = self.timestamp
             frameNum = self.frameNum
             self.readyForProcessing = ""
             self.lock.release()
             mv = h264.parseFrame(tmp)
             self.lock.acquire()
             self._lastResult = frameNum, timestamp, quadrantMotion(mv)
             self.lock.release()
             print len(mv), self._lastResult
Exemplo n.º 3
0
 def run(self):
   while True: #self.shouldIRun.isSet():
     if len( self.readyForProcessing) > 0:
       self.lock.acquire()
       tmp = self.readyForProcessing
       timestamp = self.timestamp
       frameNum = self.frameNum
       self.readyForProcessing = ""
       self.lock.release()
       mv = h264.parseFrame( tmp )
       self.lock.acquire()
       self._lastResult = frameNum, timestamp, quadrantMotion( mv )
       self.lock.release()
       print len(mv), self._lastResult
Exemplo n.º 4
0
def h264show( filenames ):
  print cvideo.init()
  img = np.zeros([720,1280,3], dtype=np.uint8)
  missingIFrame = True
  pave = PaVE()
  for filename in filenames:
    pave.append( open( filename, "rb" ).read() )
  header,payload = pave.extract()
  while len(header) > 0:
    w,h = frameEncodedWidth(header), frameEncodedHeight(header)
    if img.shape[0] != h or img.shape[1] != w:
      print img.shape, (w,h)
      img = np.zeros([h,w,3], dtype=np.uint8)
    missingIFrame = missingIFrame and not isIFrame(header)
    if not missingIFrame:
      arr = parseFrame( payload )
      assert cvideo.frame( img, isIFrame(header) and 1 or 0, payload )
      if arr:
        for x,y,mx,my in arr:
          cv2.line( img, (16*x+8,16*y+8), (16*x+8+mx/4,16*y+8+my/4), (0,0,255), 1 )
    cv2.imshow('image', img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
      break
    header,payload = pave.extract()
Exemplo n.º 5
0
import sys
import os
from h264 import parseFrame, setVerbose
from collections import defaultdict

verbose = False


def histogram(arr, size=10):
    d = defaultdict(int)
    for x in arr:
        d[x / size] += 1
    return d


if __name__ == "__main__":
    if len(sys.argv) < 2:
        print __doc__
        sys.exit(2)

    setVerbose(False)
    #  for filename in os.listdir( sys.argv[1] ):
    for i in xrange(150, 165):
        filename = "frame%04d.bin" % i
        frameData = open(sys.argv[1] + os.sep + filename, "rb").read()
        arr = parseFrame(frameData)
        if arr != None and arr != []:
            x = [mx for x, y, mx, my in arr]
            xRange = min(x), max(x)
            print filename, len(arr), xRange, histogram(x)
Exemplo n.º 6
0
import sys
import os
from h264 import parseFrame, setVerbose
from collections import defaultdict

verbose=False

def histogram( arr, size=10 ):
  d = defaultdict( int )
  for x in arr:
    d[x/size] += 1
  return d


if __name__ == "__main__":
  if len(sys.argv) < 2:
    print __doc__
    sys.exit(2)

  setVerbose(False)
#  for filename in os.listdir( sys.argv[1] ):
  for i in xrange(150,165):
    filename = "frame%04d.bin" % i
    frameData = open( sys.argv[1] + os.sep + filename, "rb" ).read()
    arr = parseFrame( frameData )
    if arr != None and arr != []:
      x = [mx for x,y,mx,my in arr]
      xRange = min( x ), max( x )
      print filename, len(arr), xRange, histogram(x)

Exemplo n.º 7
0
  count = 0
  left,right,up,down = 0,0,0,0 # obstacle at
  for x in xrange(80):
    for y in xrange(45):
      mx, my = pic[x][y]
      if mx != 0 and my != 0:
        d = abs(mx)+abs(my)
        if d > THRESHOLD:
          count += 1
          if x < 40:
            left += 1
          else:
            right += 1
          if y < 22:
            up += 1
          else:
            down += 1
  return left, right, up, down # TODO revise to LT,RT,LB,RB quadrants

if __name__ == "__main__":
  import sys
  from h264 import parseFrame, setVerbose
  if len(sys.argv) < 2:
    print __doc__
    sys.exit(2)
  setVerbose( False )
  filename = sys.argv[1]
  mv = parseFrame( open( filename, "rb" ).read() )
  print quadrantMotion( mv )