2017-05-10 4 views
0

Je travaille avec la caméra kinect et j'essaie d'afficher l'imagerie en profondeur réelle en utilisant la méthode ptCloud combinant le capteur RVB et le capteur de profondeur. Cependant, juste en utilisant la configuration initiale, mon image est défigurée, il manque des informations pertinentes, est-il de toute façon à améliorer cela afin qu'il capture plus de données. J'ai également joint une image de ce que je veux dire. Toute aide serait super merci! 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

Quelles sont les informations qui manquent? – hbaderts

+0

Il ne manque aucune information, j'essaie juste de l'améliorer afin qu'il affiche plus de données de l'appareil car il manque une grande partie des données comme vous pouvez le voir sur l'image – Krips

Répondre

0

Des regards de l'image, vous essayez de capturer une armoire avec un écran de télévision au milieu. Dans de tels cas, l'écran du téléviseur absorbe l'IR émis par le capteur ou le reflète à des angles oblongs/réflexions multiples, etc. Kinect ne peut donc pas saisir les données de profondeur. En outre, puisque lorsque vous voulez afficher les données RVB au sommet du nuage de points, il essaie d'aligner les deux et rejette toute donnée de profondeur qui n'est pas alignée avec les pixels de l'image RVB. Afin d'améliorer votre acquisition de données de profondeur, vous pouvez soit veiller à ce qu'il n'y ait pas de surfaces réfléchissantes comme l'écran, les miroirs, etc. dans la scène. Essayez également d'afficher les données de profondeur sans la superposition RVB, ce qui, espérons-le, améliorera le nuage de points affiché.