Если ваше устройство ввода позволяет это сделать, вы можете просто использовать « GetAlternativeViewPointCap », как показано в следующем коде C ++. В этом случае карта глубины автоматически преобразуется, чтобы выровняться с цветным изображением. Поэтому, учитывая координату (x, y) пикселя на цветном изображении, становится достаточно запросить карту глубины в той же позиции.
m_context.InitFromXmlFile(path,m_scriptNode);
m_context.FindExistingNode(XN_NODE_TYPE_IMAGE, m_imageGenerator);
m_context.FindExistingNode(XN_NODE_TYPE_DEPTH, m_depthGenerator);
if (m_depthGenerator.IsCapabilitySupported(XN_CAPABILITY_ALTERNATIVE_VIEW_POINT)) {
m_depthGenerator.GetAlternativeViewPointCap().SetViewPoint(m_imageGenerator);
}
Если этот подход нежизнеспособен, вам следует оценить трансформацию между двумя камерами. В такой книге, как «Геометрия нескольких видов в компьютерном зрении», описаны все необходимые предпосылки и алгоритмы.