Potrzebuję przechwycić kolorowy obraz RGB z kamery Kinnect, ale chcę go pokazać w OpenCV, ponieważ jest to tylko część większego programu. Wiem, że OpenCV ma kompatybilność z OpenNI, jeśli ustawisz flagę, ale chociaż spróbowałem ciężko CMake nie mógł znaleźć ścieżki do OpenNI2, więc nie mogłem zbudować OpenCV z OpenNI. W każdym razie myślę, że dobrze jest wiedzieć, jak ręcznie konwertować ramki OpenNI do ramek openCV, więc postanowiłem podążać tą drogą.Przechwyć RGB z Kinnect z Openni i pokaż z OpenCV
do robienia ramkę koloru w OpenNI Próbowałem następujące:
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();
Ale teraz nie rozumiem, jak to zrobić konwersję do cv :: Mat.
Czy ktokolwiek to wymyślił?
jak zrobić to samo dla obrazu głębi? Nie mogę wymyślić jak zmienić CV_8U3 ... itd. – MohamedEzz