2012-02-23 35 views
1

フル解像度のカラー画像から取得した座標を、深度ストリームの座標に変換するにはどうすればよいのでしょうか。OpeNni:深度座標への色座標

例:完全な色から(763,234)を取得しました。深い画像から()が何であるか知りたいですか?事前

答えて

2

で (ところで私はJavaでこれをやってんだけど、Cの++での答えは簡単、おそらく 翻訳可能である)

Thxをご入力デバイスがそれを可能にした場合、あなたは単に「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); 
} 

この方法が有効でない場合は、2台のカメラ間の変換を推定する必要があります。 「コンピュータ視覚における複数視点幾何学」などの書籍は、必要な背景とアルゴリズムをすべて説明しています。