[英]Accessing to a different computer's OpenNI camera device using python
我有一台ASUS Xtion Pro-Live相机。 它连接到树莓派。 我写了一个python代码,可以从相机中抓取帧,进行显示并保存。
def get_frames():
capture = cv2.VideoCapture(cv.CV_CAP_OPENNI)
capture.set(cv.CV_CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE, cv.CV_CAP_OPENNI_VGA_30HZ)
while(True):
if not capture.grab():
print "Unable to Grab Frames from camera"
break
okay, color_image = capture.retrieve(0, cv.CV_CAP_OPENNI_BGR_IMAGE)
if not okay:
print "Unable to retrieve Color Image from device"
break
cv2.imshow("rgb camera", color_image)
name = "images/" + str(time.time()) + ".png"
cv2.imwrite(name, color_image)
if cv2.waitKey(10) == 27:
break
capture.release()
我想在计算机上使用类似的代码。 但是在这种情况下,基本上我需要访问树莓派,并使用连接到树莓派的相机。 我需要以类似的方式从摄像机获取实时视频数据,并将其用于我的代码中。
我该怎么做呢?
看来您只在使用RGB流,而该流不应该是大量数据。 如果您打算流式传输depth + RGB,则应在网络上发送数据之前寻找一种压缩数据的方法,然后在另一端将其解压缩。
我记得这是当Kinect推出时人们一直在解决的问题。 例如,请查阅Fabrizio Pece的论文“使标准视频编解码器适合深度流传输 (pdf)”。 您应该能够找到类似的论文和实现。
如果您不喜欢流深度并且仅使用RGB(更像是网络摄像头),我想有一些Python库可以让您从Raspberry PI创建HTTP或RTP流,然后可以在另一台计算机上阅读。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.