Ho bisogno di acquisire l'immagine RGB a colori da una fotocamera Kinnect, ma voglio mostrarlo in OpenCV in quanto questa è solo una parte di un programma più grande. So che OpenCV ha compatibilità con OpenNI se si imposta il flag, ma anche se ho provato hard CMake non è riuscito a trovare il percorso di OpenNI2 quindi non ho potuto creare OpenCV con OpenNI. Comunque penso che sia bello sapere come convertire manualmente i frame OpenNI in frame openCV, così ho deciso di seguire questa strada.Acquisisci RGB da Kinnect con Openni e mostra con OpenCV
Per catturare il telaio di colore in OpenNI ho provato la seguente:
openni::Device device;
openni::VideoStream color;
openni::VideoFrameRef colorFrame;
rc = openni::OpenNI::initialize();
rc = device.open(openni::ANY_DEVICE);
rc = color.create(device, openni::SENSOR_COLOR);
rc = color.start();
color.readFrame(&colorFrame);
const openni::RGB888Pixel* imageBuffer = (const openni::RGB888Pixel*)colorFrame.getData();
Ma ora non capisco come fare la conversione al cv :: Mat.
Qualcuno ha qualche cosa da fare?
come fare lo stesso per l'immagine di profondità? Non riesco a capire come cambiare il CV_8U3 ... ecc. – MohamedEzz