簡體   English   中英

如何使用python腳本訪問手機攝像頭

[英]How to access phone camera using python script

我使用python 3.7和opencv制作了一個簡單的運動檢測器程序,有沒有辦法使用python訪問我手機的相機並使用藍牙或移動熱點將視頻傳輸到我的筆記本電腦,以便我可以在我的筆記本電腦上處理數據? 我基本上只是將我的手機用作可拆卸的相機。

使用 IP 網絡攝像頭 android 應用程序。 url 由 ip 網絡攝像頭給出,最后我添加了用於視頻流的視頻,或者您可以在 cap.read() 之前在 for 循環中 url = ' http://192.168.137.138:8080/shot.jpg '

這對我來說完美無缺,分辨率為 1280 x 720 注意你的 url ip 會改變,但在最后添加視頻

import cv2 
import numpy as np`
url = 'http://192.168.137.138:8080/video'
cap = cv2.VideoCapture(url)
while(True):
    ret, frame = cap.read()
    if frame is not None:
        cv2.imshow('frame',frame)
    q = cv2.waitKey(1)
    if q == ord("q"):
        break
cv2.destroyAllWindows()

您可以使用 IP 網絡攝像頭 android 應用程序執行此操作。

腳步 -

  1. 在您的 android 手機中安裝該應用程序。
  2. 在本地網絡中連接您的筆記本電腦和手機(您可以使用移動熱點)。
  3. 啟動應用程序並選擇啟動服務器選項,應用程序將開始捕獲視頻並向您顯示 IP 地址。
  4. 使用此 IP 地址使用以下 python 代碼讀取視頻源。
  5. 使用 OpenCV 處理視頻。

Python代碼 -

import urllib
import cv2
import numpy as np
import ssl

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

url = 'Your URL'

while True:
    imgResp = urllib3.urlopen(url)
    imgNp = np.array(bytearray(imgResp.read()), dtype=np.uint8)
    img = cv2.imdecode(imgNp, -1)
    cv2.imshow('temp',cv2.resize(img,(600,400)))
    q = cv2.waitKey(1)
    if q == ord("q"):
        break;

cv2.destroyAllWindows()

您可以在此處找到 android 應用程序 - IP 網絡攝像頭

這個視頻會更好地解釋 -如何使用 OpenCV

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM