2017-05-10 3 views
0

私はkinectカメラを使って、RGBと深さセンサーを組み合わせたptCloudメソッドを使って実際の深度イメージングを表示しようとしています。しかし、初期設定を使用するだけで、私のイメージには欠けている関連情報が失われてしまいます。これを改善してより多くのデータをキャプチャすることができます。私はまた、私が意味するもののイメージを添付しました。どんな助けもありがとう!画像のルックスから live video image dataMatlab Kinect Depth Imaging

colorDevice = imaq.VideoDevice('kinect',1) 
depthDevice = imaq.VideoDevice('kinect',2) 
step(colorDevice); 
step(depthDevice); 
colorImage = step(colorDevice);`enter code here` 
depthImage = step(depthDevice); 
gridstep = 0.1; 
ptCloud = pcfromkinect(depthDevice,depthImage,colorImage); 

player = pcplayer(ptCloud.XLimits,ptCloud.YLimits,ptCloud.ZLimits,... 
    'VerticalAxis','y','VerticalAxisDir','down'); 

xlabel(player.Axes,'X (m)'); 
ylabel(player.Axes,'Y (m)'); 
zlabel(player.Axes,'Z (m)'); 
for i = 1:1000  
    colorImage = step(colorDevice); 
    depthImage = step(depthDevice); 

    ptCloud = pcfromkinect(depthDevice,depthImage,colorImage); 
    ptCloudOut = pcdenoise(ptCloud); 
    view(player,ptCloudOut); 
end 

release(colorDevice); 
release(depthDevice); 
+0

どのような情報が欠落していますか? – hbaderts

+0

これは、情報を見逃しているわけではありません。画像から見たように、データの大部分が欠落しているため、デバイスからより多くのデータが表示されるように改善しています – Krips

答えて

0

、あなたは途中でテレビ画面とキャビネットを捕獲しようとしています。このような場合、TV画面はセンサーから放射されたIRを実際に吸収するか、長方形/多重​​反射などで反射します。そのため、Kinectは深度データを取得できません。さらに、RGBデータをポイントクラウドの上に表示する場合は、2つを整列させて、RGB画像ピクセルと整列していない奥行きデータを拒否します。

深度データ取得を向上させるために、シーン内にスクリーン、鏡などのような反射面がないことに気を付けることができます。また、RGBオーバーレイなしで奥行きデータを表示してみてください。これは、示された点群を改善することを願っています。