Hi all,

Is it possible to change the depth unit from 1 mm to 0.1 mm on a oak-d pro poe? If yes, how?

I can't find it in the documentation.

Br Martin

    Hi Robengaard

    stereo.initialConfig.setDepthUnit(stereo.initialConfig.AlgorithmControl.DepthUnit.CUSTOM)
    stereo.initialConfig.AlgorithmControl.customDepthUnitMultiplier(0.1) # 0.1 mm

    Let me know if this works.

    Thanks,
    Jaka

    Hi @jakaskerl

    Thanks for your quick reply. I get the following error

    depth.initialConfig.AlgorithmControl.customDepthUnitMultiplier(0.1) # 0.1 mm
    TypeError: 'property' object is not callable

    And the depth object is

    depth = self.pipeline.create(dai.node.StereoDepth)
    depth.initialConfig.setDepthUnit(depth.initialConfig.AlgorithmControl.DepthUnit.CUSTOM)
    depth.initialConfig.AlgorithmControl.customDepthUnitMultiplier(0.1)  # 0.1 mm

    Br Martin

      Hi Robengaard
      Here are the reference docs on setting units. One thing I found out; Setting the depth unit to meter or centimeters works fine, but doesn't seem to work correctly for CUSTOM, since setting the multiplier doesn't affect anything.
      I'll look into this further.

      In the meanwhile, you can manually divide the depth values to achieve 0.1 mm depth.

      Thanks,
      Jaka

        Hi jakaskerl

        Thanks for your reply.

        The thing is that I would like to achieve a more detailed depth image, I can't see how I can do it with manually divide the depth values since the information is removed when obtaining the depth image from the stream.

        Thank you for looking further into this.

        Br Martin

        • erik replied to this.

          Robengaard were you able to get down to mm accuracy with our stereo cameras, so sub-mm value would be useful? In theory, it's possible, but I don't think it's easily achievable.

            erik yes. I have a OAK-D Pro POE at pointing towards a wall approximately 390 mm away. I have a very nice depth image (after a little tweaking) and yes, sub-mm would be very usefull just like at the Intel Real-Sense I have. I need to estimate the plane of the wall and the better the depth the better the result.

            Br Martin

            • erik replied to this.

              Got it to work with the help of @szabi-luxonis

              stereo.initialConfig.setDepthUnit(stereo.initialConfig.AlgorithmControl.DepthUnit.CUSTOM)
              config = stereo.initialConfig.get()
              config.algorithmControl.customDepthUnitMultiplier = 10 * 1000
              stereo.initialConfig.set(config)

              Where 10*1000 is for converting mm to 100 um