Python27+Opencv3 捕获网

发布时间:2019-09-21 11:10:07编辑:auto阅读(1647)

    Opencv3+Python比较常见的是播放本地avi视频文件、或者捕获PC自带摄像头视频。

    现在网络摄像机遍布,而我们测试时也需要用到网络摄像机的实时视频,并进行处理,参考《opencv3计算机视觉(python语言实现)》编写了捕获网络摄像机实时视频的代码。


    前提:

    1、opencv+python的ffmpeg库配置ok,即videocapture返回TRUE。配置方法可以参考另一篇博文。

    2、测试的网络摄像机支持rtsp协议网络串流播放(比如可以通过vlc串流播放)。

    wKiom1fYvR3g-QT2AAAo9__GAQI249.png-wh_50


    代码如下:


    #蓝色字体的rtsp URL根据各自网络摄像机定义的格式,部分需要添加认证信息,格式即为:rtsp://username:password@ip/***

    cap = cv2.VideoCapture('rtsp://192.168.1.60/stream2')


    #判断是否正常开启

    print cap.isOpened()


    frameNum = 1

    while(cap.isOpened()):

        ret,frame = cap.read()

        print frameNum

        frameNum = frameNum + 1   

        cv2.imshow('frame',frame)

    #每10帧存储一张图片

        if frameNum%10 == 1:

            cv2.imwrite('p_w_picpath'+str(frameNum)+'.jpg',frame)

        if cv2.waitKey(1) == ord('q'):

            break

    cap.release()

    cv2.destroyAllWindows()


    里面没有写视频的存储,如果需要存储视频,使用VideoWriter即可,注意其中参数VideoWriter_fourcc()需要指定编码器,同时帧率及视频分辨率也需要传入。

关键字

上一篇: FusionChart使用3

下一篇: aws S3使用总结