CameraSystemIQFrameTest.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import Voxel
  2. import argparse
  3. import sys
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
  7. parser.add_argument("-f", "--file", type=str, help="Voxel file (.vxl)", required=True)
  8. args = parser.parse_args()
  9. camsys = Voxel.CameraSystem()
  10. r = Voxel.FrameStreamReader(args.file, camsys)
  11. iAverage = None
  12. qAverage = None
  13. frameCount = 0
  14. if not r.isStreamGood():
  15. print 'Could not open stream'
  16. sys.exit(1)
  17. print 'Stream contains ', r.size(), ' frames'
  18. count = r.size()
  19. for i in range(0, count):
  20. if not r.readNext():
  21. print 'Failed to read frame ', i
  22. break
  23. tofFrame = Voxel.ToF16IQFrame.typeCast(r.frames[Voxel.DepthCamera.FRAME_RAW_FRAME_PROCESSED])
  24. if not tofFrame:
  25. print 'Frame %d not a ToF IQ frame?'%i
  26. continue
  27. frameCount = frameCount + 1
  28. if iAverage == None:
  29. print tofFrame._i.size()
  30. iAverage = np.array(tofFrame._i, copy = True).astype(float)
  31. qAverage = np.array(tofFrame._q, copy = True).astype(float)
  32. print iAverage, qAverage
  33. else:
  34. iAverage += np.array(tofFrame._i)
  35. qAverage += np.array(tofFrame._q)
  36. iAverage /= frameCount
  37. qAverage /= frameCount
  38. img = np.reshape(iAverage, (tofFrame.size.height, tofFrame.size.width))
  39. img.clip(0, 4096, out = img)
  40. #print img
  41. plt.imshow(img)
  42. plt.show()
  43. #np.save(args.npy, img)
  44. del r
  45. del tofFrame
  46. del camsys