Отображение ИК-изображения из 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()