2017-07-17 70 views
0

以下簡單的python代碼是用於通過使用網絡攝像頭檢測和跟蹤基於顏色的對象。kinect v2 as webcam

我的問題是如何使用相同的代碼,但通過使用Kinect v2(不是網絡攝像頭)。

我使用Ubuntu 16.04,Linux的

任何一個可以在這方面幫助,並告訴我如何使用Kinect的V2作爲在Linux攝像頭???

import cv2 
import numpy as np 

cap = cv2.VideoCapture(0) 

while(1): 

    # Take each frame 
    _, frame = cap.read() 

    # Convert BGR to HSV 
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 

    # define range of blue color in HSV 
    lower_blue = np.array([110,50,50]) 
    upper_blue = np.array([130,255,255]) 

    # Threshold the HSV image to get only blue colors 
    mask = cv2.inRange(hsv, lower_blue, upper_blue) 

    # Bitwise-AND mask and original image 
    res = cv2.bitwise_and(frame,frame, mask= mask) 

    cv2.imshow('Original',frame) 
    cv2.imshow('mask',mask) 
    cv2.imshow('Detect-Blue',res) 
    k = cv2.waitKey(5) & 0xFF 
    if k == 27: 
     break 

cv2.destroyAllWindows() 

回答

0

如果您仍然在尋找解決方案,對於Linux,有一個名爲「libfreenect2」的開源庫,我一直使用它來從Kinect2中獲取圖像。一旦你完成了安裝部分,那麼你可以根據你的需要玩「Protonect.cpp」程序。在同一個程序中,你可以在#349行的「while」循環之後添加你的代碼。它會完成這項工作。當然,您必須像使用cv2功能一樣添加OpenCV頭文件。

順便說一下,我已經在我的筆記本電腦上安裝了Ubuntu 16.04和Nvidia Jetson TK1庫,兩者都正常工作。在我的工作中,我只用它來保存圖像並創建3D模型。雖然沒有做任何跟蹤。