美文网首页
使用OpenCV读取DroidCam的摄像头数据(局域网内)

使用OpenCV读取DroidCam的摄像头数据(局域网内)

作者: zqyadam | 来源:发表于2019-12-08 10:14 被阅读0次

    DroidCam的安装文件

    链接:https://pan.baidu.com/s/1cPH36EHM8su3wxxcu6mZLg

    提取码:c8dj

    只安装手机版就可以了

    打开手机端DroidCam查看IP和端口

    image.png

    找到上图中的IP地址及Port端口号,填入到下面的代码中

    OpenCV代码Demo

    # 打开摄像头
    import cv2
    cap = cv2.VideoCapture('http://192.168.3.76:4747/mjpegfeed') # 这里是DroidCam手机端的IP地址和端口号
    print("摄像头是否已经打开 ? {}".format(cap.isOpened()))
    ## 设置画面的尺寸
    # 画面宽度设定为 1920
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
    # 画面高度度设定为 1080
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
    
    
    cv2.namedWindow('image_win',flags=cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO | cv2.WINDOW_GUI_EXPANDED)
    
    # 图像计数 从1开始
    img_count = 1
    
    # 定义编码方式并创建VideoWriter对象
    fourcc = cv2.VideoWriter_fourcc(*'MJPG')
    outfile = cv2.VideoWriter('output.avi', fourcc, 25., (1920, 1080))
    
    while(True):
        ## 逐帧获取画面
        # 如果画面读取成功 ret=True,frame是读取到的图片对象(numpy的ndarray格式)
        ret, frame = cap.read()
    
        if not ret:
            # 如果图片没有读取成功
            print("图像获取失败,请按照说明进行问题排查")
            ## 读取失败?问题排查
            # **驱动问题** 有的摄像头可能存在驱动问题,需要安装相关驱动,或者查看摄像头是否有UVC免驱协议
            # **接口兼容性问题** 或者USB2.0接口接了一个USB3.0的摄像头,也是不支持的。
            # **设备挂载问题** 摄像头没有被挂载,如果是虚拟机需要手动勾选设备
            # **硬件问题** 在就是检查一下USB线跟电脑USB接口
            break
        
        outfile.write(frame)
        cv2.imshow('image_win', frame)
    
        # 等待按键事件发生 等待1ms
        key = cv2.waitKey(1)
        if key == ord('q'):
            # 如果按键为q 代表quit 退出程序
            print("程序正常退出...Bye 不要想我哦")
            break
        elif key == ord('c'):
            ## 如果c键按下,则进行图片保存
            # 写入图片 并命名图片为 图片序号.png
            cv2.imwrite("{}.png".format(img_count), frame)
            print("截图,并保存为  {}.png".format(img_count))
            # 图片编号计数自增1
            img_count += 1
    
    
    # 释放VideoCapture
    cap.release()
    # 销毁所有的窗口
    cv2.destroyAllWindows()
    
    
    

    相关文章

      网友评论

          本文标题:使用OpenCV读取DroidCam的摄像头数据(局域网内)

          本文链接:https://www.haomeiwen.com/subject/pgxmgctx.html