0

全部

当我运行以下代码时,我正在使用 YOLO v2 进行对象识别

./darknet detector demo cfg/voc.data cfg/tiny-yolo-voc.cfg tiny-yolo-voc.weights

我从网络摄像头获取视频流,但我想从摄像头 Kinect v2 获取视频流。Yolo V2 从暗网cap = cvCaptureFromCAM(cam_index);文件demo.c中获取视频流,而 kinect v2 从libfreenect2::Frame *rgb = frames[libfreenect2::Frame::Color];//BGRA formatlibfreenct2 中获取 rgb 视频流

我想使用 kinect v2 和 Yolo v2 进行物体检测!!!!!!任何人都可以给我帮助??

4

2 回答 2

0

您需要从 kinect 中获取每一帧并将其转换为 MAT,这样您就可以将其发送到 yolo,您可以使用 opencv 来执行此操作,python 会很容易地完成,因为您只需要这样做

rgbMat = KinectFrame

我不知道 C 但必须是相似的。

于 2018-08-17T22:18:26.587 回答
-1

试试这个:它同时提取颜色和深度流。

kinect = PyKinectRuntime.PyKinectRuntime(PyKinectV2.FrameSourceTypes_Color)
kinectD = PyKinectRuntime.PyKinectRuntime(PyKinectV2.FrameSourceTypes_Depth)

while True:
    stime = time.time()
    if kinect.has_new_color_frame():
        frame = kinect.get_last_color_frame()
        frame = np.reshape(frame, (1080, 1920, 4))
        frame = cv2.cvtColor(frame, cv2.COLOR_RGBA2RGB)
        frame = cv2.resize(frame, (0, 0), fx=.5, fy=.5)
        #frameC = cv2.cvtColor(frame, cv2.COLOR_RGBA2RGB)

        frameD = kinectD.get_last_depth_frame()
        frameDepth = kinectD._depth_frame_data
        frameD = frameD.astype(np.uint8)
        frameD = np.reshape(frameD,(424, 512))
        frameD = cv2.cvtColor(frameD, cv2.COLOR_GRAY2BGR)

这是一个使用 pykinect、yolo 2 并提取深度的 python 程序的视频: https ://www.youtube.com/watch?v=AyKOIxOOwYk 该视频不是最好的,但有一个指向 github 存储库的链接与代码。

于 2018-12-31T03:38:25.363 回答