0

私はopencvインターフェース(http://docs.opencv.org/doc/user_guide/ug_highgui.html?highlight=kinect)を使用して、kinectカメラから色(rgb)と深度フレームを取得しています。標準のVGA640x480解像度で、次のようなコードを使用する場合

capture.retrieve( bgrImage, OPENNI_BGR_IMAGE );

私はこれを手に入れます:

これは本当にうるさいと思います。これはkinectrgbカメラの通常の品質ですか?さまざまなフィルタリング(ぼかし、シャープ、オープニングなど)の手順を試しましたが、マイナーな改善が見られました。

4

1 に答える 1

3

この画像が撮影された条件は私にはわかりません。また、Kinectを使用して撮影された画像の品質を証明できないため、質問のこの部分は無視します。

画質を向上させるためにできる非常に簡単なことは、取得する可能性のあるいくつかのフレームを平均化することです。それだ。

別のオプションには、たとえば、この種のノイズをうまく処理できるバイラテラルフィルタリングまたは平均シフトフィルタリング(そして、後で純粋にOpenCV関数を使用してどのように行うかはわかりません)が含まれます。たとえば、ここに3行の画像があります。2番目の列には、最初の列の画像に対してCannyが検出したエッジが表示されます。最初の行は入力画像をそのまま表示し、2番目の行は特定の平均シフトの結果であり、最後の行はバイラテラルフィルタリング用です。

ここに画像の説明を入力してください ここに画像の説明を入力してください

ここに画像の説明を入力してください ここに画像の説明を入力してください

ここに画像の説明を入力してください ここに画像の説明を入力してください

結果は特に良好ですが、問題は、これらのフィルタリング手法が、現在使用されている一般的なコンピューターでは遅いことです。

于 2013-02-22T17:45:25.333 に答える