Отображение ИК-изображения из XBOX 360 с использованием Open Kinect через Python и OpenCV

Я хотел бы отобразить на экране компьютера инфракрасную камеру с помощью XBox Kinect 360. Этот код ниже откроет новый кадр, но дисплей - это только задний кадр, а не ИК-видеопоток. Как я могу получить кадр для отображения ИК-изображения?

#!/usr/bin/python
import freenect
import cv2
def get_video():
    array,_ = freenect.sync_get_video(0,freenect.VIDEO_IR_10BIT)
    return array
if __name__ == "__main__":
    while 1:
        #get a frame from RGB camera
        frame = get_video()
        #display IR image
        cv2.imshow('IR image',frame)
        # quit program when 'esc' key is pressed
        k = cv2.waitKey(5) & 0xFF
        if k == 27:
            break
    cv2.destroyAllWindows()

1 ответ

Спасибо за подсказки Роберт Прево! Этот код возвращает кадр, показывающий ИК-изображение.

#!/usr/bin/python
import freenect
import numpy as np
import cv2

def get_video():
    array,_ = freenect.sync_get_video(0,freenect.VIDEO_IR_10BIT)
    return array
def pretty_depth(depth):
    np.clip(depth, 0, 2**10-1, depth)
    depth >>=2
    depth=depth.astype(np.uint8)
    return depth
if __name__ == "__main__":
    while 1:
        #get a frame from RGB camera
        frame = get_video()
        #display IR image
        frame = pretty_depth(frame)
        cv2.imshow('IR image',frame)

        # quit program when 'esc' key is pressed
        k = cv2.waitKey(5) & 0xFF
        if k == 27:
            break
    cv2.destroyAllWindows()
Другие вопросы по тегам