【问题标题】:How to access phone camera using python script如何使用python脚本访问手机摄像头
【发布时间】:2018-11-03 10:19:21
【问题描述】:

我使用 python 3.7 和 opencv 制作了一个简单的运动检测器程序,有没有办法使用 python 访问我手机的摄像头并使用蓝牙或移动热点将视频流式传输到我的笔记本电脑,以便我可以处理笔记本电脑上的数据?我基本上只是将手机用作可拆卸的相机。

【问题讨论】:

    标签: android python-3.x


    【解决方案1】:

    使用 IP 网络摄像头 Android 应用程序。 url 由 ip 网络摄像头给出 最后我为视频流添加了视频,或者你可以 网址 = 'http://192.168.137.138:8080/shot.jpg' 在 for 循环之前 cap.read()

    这对我来说完美无缺,分辨率为 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()
    

    【讨论】:

    • 这无疑是使用 opencv 从 IP 网络摄像头读取视频流的最简单方法
    【解决方案2】:

    您可以使用 IP Webcam android 应用程序来做到这一点。

    步骤-

    1. 在您的安卓手机中安装应用程序。
    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()
    

    你可以在这里找到安卓应用程序 - IP Webcam

    这个视频会更好地解释 - How to use with OpenCV

    【讨论】:

    • 我不得不使用 urllib3 而不是 urllib 因为urllib.urlopen(url) 不再工作,但除此之外它工作正常。你能解释一下ssl的用途吗?我试过删除它,它仍然有效......
    • ssl 代表安全套接字层,它为网络套接字提供对传输层安全加密和对等身份验证网络设施的访问。在这里,套接字连接的另一端不需要任何证书。如果从另一端收到证书,则不会尝试验证它。
    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    相关资源
    最近更新 更多