Si votre périphérique d'entrée le permet, vous pouvez simplement utiliser « GetAlternativeViewPointCap », comme indiqué dans le code C++ suivant. Dans ce cas, la carte de profondeur est automatiquement transformée pour s'aligner sur l'image couleur. Par conséquent, étant donné une coordonnée (x, y) d'un pixel sur l'image couleur, il devient suffisant d'interroger la carte de profondeur à la même position.
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);
}
Si cette approche n'est pas viable, vous devez estimer la transformation entre les deux caméras. Un livre tel que "Géométrie à vues multiples dans Computer Vision" décrit tous les arrière-plans et algorithmes nécessaires.