2017-02-20 4 views

Répondre

0

Je ne connais pas le SDK Intel RealSense que je ne l'ai utilisé l'API librealsense.

La documentation du SDK Intel RealSense doit être here.

Je ne sais pas comment cela fonctionne avec le SDK mais avec librealsense vous pouvez sélectionner directement le format de couleur approprié (pour OpenCV mat il devrait être bgr8).

Si vous n'avez pas cette option avec le SDK, vous pouvez voir here comment librealsense décompressez le format yuy2.

Ou peut-être vous pouvez essayer de copier les données directement à un mat (vous devrez trouver la bonne valeur pour cvDataType et la bonne valeur pour cvDataWidth), puis utiliser cvtColor() avec le conversion approprié si vous voulez être en mesure accéder aux valeurs de pixels en tant que triplet RGB?

Espérons que ça aide.

+0

Merci beaucoup! Peut-être que c'est une question idiote, mais je ne sais pas exactement comment installer librealsense ... J'ai vu quelques commandes pour Ubuntu, mais je n'ai vu aucun didacticiel pas à pas pour Windows. Pourriez-vous m'aider? Merci d'avance! – user7563946

+0

'librealsense' est l'alternative pour les plates-formes autres que Windows. Pour Windows, je pense que Intel recommande d'utiliser le SDK. Vous pouvez toujours construire à partir de la source 'librealsense' avec CMake et Visual Studio. Vous devriez vérifier le format de couleur par défaut que vous obtenez avec le SDK, peut-être que c'est un format différent de 'yuy2' et vous devriez être capable de convertir en' mat bgr' facilement. – Catree

+0

Dans le format de SDK Intel est PIXEL_FORMAT_YUY2, mais je ne sais pas comment faire cette conversion. Je l'ai fait: \t \t \t \t 'colorIm-> AcquireAccess (PXCImage :: ACCESS_READ, PXCImage :: PIXEL_FORMAT_YUY2, & frmData),' ' \t image_openCV = Mat (Taille (640, 480), CV_8UC3, frmData.planes [0]); ' \t \t Mais cela ne fonctionne pas bien, l'image n'est pas triée correctement. – user7563946