OpenCV调用摄像头

发布时间:2019-10-11 09:01:49编辑:auto阅读(1794)

    OpenCV调用摄像头

    环境

    python:python3.6
    摄像头:网络摄像头
    Python库:openCV

    
    # -*- coding: utf-8 -*-
    
    # @author leone
    # @desc 使用 python 的 openCV 获取网络摄像头的数据
    # @version 2018-12-23
    
    import cv2
    import sys
    
    # 根据摄像头设置IP及rtsp端口
    url = 'rtsp://account:password@192.168.0.35:554/11'
    
    # 读取视频流
    cap = cv2.VideoCapture(url)
    # 设置视频参数
    cap.set(3, 480)
    
    print(cap.isOpened())
    
    print(sys.version)
    
    print(cv2.__version__)
    
    while cap.isOpened():
        ret_flag, img_camera = cap.read()
        cv2.imshow("camera", img_camera)
    
        # 每帧数据延时 1ms, 延时为0, 读取的是静态帧
        k = cv2.waitKey(1)
        if k == ord('s'):
            cv2.imwrite("test.jpg", img_camera)
        if k == ord('q'):
            break
    
    # 释放所有摄像头
    cap.release()
    
    # 删除窗口
    cv2.destroyAllWindows()
    
    

    由于网络摄像头的RTSP:实时流协议要手动开启,进入你的摄像头管理界面,例如:192.168.0.35 找到设置->网络设置->RTSP设置->开启RTSP开关 最好保存设置,并重启摄像头。

    另外附上基于python的人脸识别demo支持多张人脸github

关键字