遅いコンピューターで kinect を使用したり、重いフレーム単位の計算が必要な場合に、実際に何が起こるかを理解するのに苦労しています。
深さを復元するためのC# サンプル コードを考えてみましょう。
実行時のダイナミクスは、イベントによって駆動されますDepthFrameReady
。ここで報告される関数DepthImageReady
は、そのようなイベントがトリガーされたときに呼び出されます。
private void DepthImageReady(object sender, DepthImageFrameReadyEventArgs e)
{
using (DepthImageFrame depthFrame = e.OpenDepthImageFrame())
{
if (depthFrame != null)
{
depthFrame.CopyDepthImagePixelDataTo(this.depthPixels);
//MY OPERATIONS BLABLABLA...
}
else
{
// depthFrame is null because the request did not arrive in time
}
}
}
私の相互相関の質問は次のとおりです。
- この関数は実際にすべてのフレームで呼び出されますか?
- なぜそれ
depthFrame
ができるのNull
ですか? - 操作に通常のフレーム間時間 (33ms) よりも時間がかかる場合、実際にはどうなりますか?
- キネクト内にバッファはありますか?
どんな助けでも感謝します。