MultiConnection.py 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. from pickle import FALSE, TRUE
  2. import sys
  3. sys.path.append('../../../')
  4. from Tof3DCamera.VzenseDS_api import *
  5. import time
  6. camera = VzenseTofCam()
  7. camera_count = camera.VZ_GetDeviceCount()
  8. retry_count = 100
  9. while camera_count < 2 and retry_count > 0:
  10. retry_count = retry_count-1
  11. camera_count = camera.VZ_GetDeviceCount()
  12. time.sleep(1)
  13. print("scaning...... ",retry_count)
  14. if camera_count < 2:
  15. print("there are no camera or only one camera")
  16. exit()
  17. print("cam count :",camera_count)
  18. cameras = []
  19. ret, device_infolist=camera.VZ_GetDeviceInfoList(camera_count)
  20. if ret==0:
  21. for i in range(camera_count):
  22. print('cam uri: ' + str(device_infolist[i].uri))
  23. cam = VzenseTofCam()
  24. ret = cam.VZ_OpenDeviceByUri(device_infolist[i].uri)
  25. if ret == 0:
  26. print(device_infolist[i].alias,"open successful")
  27. cameras.append(cam)
  28. else:
  29. print(device_infolist[i].alias,'VZ_OpenDeviceByUri failed: ' + str(ret))
  30. else:
  31. print(' failed:' + ret)
  32. exit()
  33. for i in range(camera_count):
  34. ret = cameras[i].VZ_StartStream()
  35. if ret == 0:
  36. print(device_infolist[i].alias,"start stream successful")
  37. else:
  38. print(device_infolist[i].alias,'VZ_StartStream failed: ' + str(ret))
  39. # show image
  40. while 1:
  41. for i in range(camera_count):
  42. ret, frameready = cameras[i].VZ_GetFrameReady(c_uint16(1000))
  43. if ret !=0:
  44. print("VZ_GetFrameReady failed:",ret)
  45. continue
  46. if frameready.depth:
  47. ret,depthframe = cameras[i].VZ_GetFrame(VzFrameType.VzDepthFrame)
  48. if ret == 0:
  49. print(device_infolist[i].alias," depth frameindex: ",depthframe.frameIndex)
  50. else:
  51. print("VZ_GetFrame error", ret)
  52. if frameready.ir:
  53. ret,irframe = cameras[i].VZ_GetFrame(VzFrameType.VzIRFrame)
  54. if ret == 0:
  55. print(device_infolist[i].alias," ir frameindex: ",irframe.frameIndex)
  56. else:
  57. print("VZ_GetFrame error", ret)
  58. for i in range(camera_count):
  59. ret = cameras[i].VZ_StopStream()
  60. if ret == 0:
  61. print("stop stream successful")
  62. else:
  63. print('VZ_StopStream failed: ' + str(ret))
  64. ret = cameras[i].VZ_CloseDevice()
  65. if ret == 0:
  66. print("close device successful")
  67. else:
  68. print('VZ_CloseDevice failed: ' + str(ret))