A few OpenCV-supplied functions are critical to the positional tracking, but not many. The main one is RANSAC PnP + Levenberg-Marquardt pose refinement. That could be rewritten based on the integrated Lambatwist P3P implementation.
The others that need replacing are for projecting 3D LED positions to 2D, and undistorting/correcting blobs in captured frames to compensate for lens distortion. Both should be fairly easy to extract from OpenCV or reimplement.
A few OpenCV-supplied functions are critical to the positional tracking, but not many. The main one is RANSAC PnP + Levenberg-Marquardt pose refinement. That could be rewritten based on the integrated Lambatwist P3P implementation.
The others that need replacing are for projecting 3D LED positions to 2D, and undistorting/correcting blobs in captured frames to compensate for lens distortion. Both should be fairly easy to extract from OpenCV or reimplement.