r9y9/pylibfreenect2

Gray Images using kinect V2 and libfreenect

HackerHakcer opened this issue · 0 comments

Please see the code below
I want to get RGB images
But the results are gray images
Any help would be appreciated.

import cv2 as cv
from pylibfreenect2 import Freenect2, SyncMultiFrameListener, FrameType
import os

Initialize Kinect device

fn = Freenect2()
num_devices = fn.enumerateDevices()
if num_devices == 0:
raise AssertionError("No Kinect devices found!")
serial = fn.getDeviceSerialNumber(0)
device = fn.openDevice(serial)
listener = SyncMultiFrameListener(FrameType.Color)
device.setColorFrameListener(listener)
device.start()

cv.namedWindow('Kinect RGB Image', cv.WINDOW_AUTOSIZE) # Create an autosized window

Loop to display video in real-time

while True:
frames = listener.waitForNewFrame()
color_frame = frames["color"]
color_image = color_frame.asarray()

# Convert RGBA to BGR
color_image_bgr = cv.cvtColor(color_image, cv.COLOR_RGBA2BGR)

# Display the image
cv.imshow('Kinect RGB Image', color_image_bgr)
# Assuming color_image is your RGBA image

Wait for key press

if cv.waitKey(1) & 0xFF == ord('q'):
break

if cv.waitKey(1) & 0xFF == ord('q'):  # Exit on 'q' key
    break

listener.release(frames)

Clean up

device.stop()
device.close()
cv.destroyAllWindows()