So I’m trying to get two cameras working using the fused_cameras sample, however I am running into a number of problems due to code and I’m not sure if it’s because the sample is not updated or if I’m doing something wrong. I am posting this because I haven’t found any other post with problems similar to mine.
So first up is the code on lines 140-141, it gives the following error:
TypeError: init() missing 3 required positional arguments: ‘_params’, ‘_is_tracking_on’, and ‘_body_format’
viewer = gl.GLViewer() viewer.init()
I have tried to solve this in the following way, using:
viewer.init(camera_info.camera_configuration.calibration_parameters.left_cam, True, body_tracking_parameters)
Which brings me to another error:
AttributeError: ‘GLViewer’ object has no attribute ‘update_bodies’
On line 159, code
if fusion.process() == sl.FUSION_ERROR_CODE.SUCCESS: # Retrieve detected objects fusion.retrieve_bodies(bodies, rt) # for debug, you can retrieve the data send by each camera, as well as communication and process stat just to make sure everything is okay # for cam in camera_identifiers: # fusion.retrieveBodies(single_bodies, rt, cam); viewer.update_bodies(bodies)
which I ‘fixed’ using the following code:
# Create ZED objects filled in the main loop bodies = sl.Bodies() image = sl.Mat() display_resolution = sl.Resolution(min(camera_info.camera_configuration.resolution.width, 1280), min(camera_info.camera_configuration.resolution.height, 720)) single_bodies = [sl.Bodies()] body_runtime_param = sl.BodyTrackingRuntimeParameters() body_runtime_param.detection_confidence_threshold = 40 while viewer.is_available(): for serial in senders: zed = senders[serial] if zed.grab() == sl.ERROR_CODE.SUCCESS: zed.retrieve_bodies(bodies, body_runtime_param) if fusion.process() == sl.FUSION_ERROR_CODE.SUCCESS: # Retrieve detected objects fusion.retrieve_bodies(bodies, rt) zed.retrieve_image(image, sl.VIEW.LEFT, sl.MEM.CPU, display_resolution) viewer.update_view(image, bodies)
With this it finally stops giving errors and it loads up a black screen which shows nothing even as I walk in front of the cameras. So there is obviously something going wrong, and I just want to know if there is something I am doing wrong, and any tips on how I could move forward.