[英]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.