所有
当我运行以下代码时,我正在使用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);
的{{1}}获取视频流,而kinect v2从libfreenct2中的demo.c
获取rgb视频流
我想用kinect v2和Yolo v2进行物体检测!!!!!任何人都可以给我帮助??
答案 0 :(得分:0)
您需要从kinect中获取每一帧并将其转换为MAT,以便可以将其发送到yolo,可以使用opencv来做到这一点,python可以非常轻松地完成它,因为您只需要这样做
rgbMat = KinectFrame
我不知道C,但必须相似。
答案 1 :(得分:-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代码仓库的链接。