I'm using the following code to get the camera extrinsics.

auto calibration = device.readCalibration()
auto extrinsics = calibration.getCameraExtrinsics(dai::CameraBoardSocket::CAM_C, dai::CameraBoardSocket::CAM_A, false)

My question is what coordinate system is the extrinsics using?

    sgstreet
    Extrinsics calibration is done on a charuco pattern so it's referenced to one of the cameras optical center. Depends on the device in question.

    Thanks,
    Jaka

    @jakaskerl

    Yes Charuco board is pretty standard. My question is about the extrinsic data written the calibration eeprom. What coordinate system returned by:

    std::vector<std::vector<float>> CalibrationHandler::getCameraExtrinsics(CameraBoardSocket srcCamera, CameraBoardSocket dstCamera, bool useSpecTranslation)

    I assume this is a SE(3) 3-D homogeneous transformation matrix and my question is what is the reference orientation of the transform.

    1. Is the return value of getCameraExtrinsics in SE(3)?
    2. Is the reference coordinate system orientated as RDF, FLU or something else?

    Thanks
    Stephen