zoukankan      html  css  js  c++  java
  • OpenCV学习笔记(一)

    由于毕业设计涉及到对视频的帧处理,所以需要学习一个python的库来实现对视频的处理

    一、安装

    pip3 install opencv-python
    

    二、读取图片

    import cv2
    img=cv2.imread("/Users/zixiluo/Documents/test.png")#读取图片
    cv2.imshow("image",img)#打开一个名为“image”的窗口并展示图片
    cv2.waitKey(0)#不加这句窗口会一闪就关闭
    cv2.destroyAllWindows()#使用后释放窗口是好习惯
    

      

    三、读取视频

    import cv2
    cap=cv2.VideoCapture("/Users/zixiluo/Documents/test.avi")
    while(1):
        # get a frame
        ret, frame = cap.read()
        # show a frame
        cv2.imshow("capture", frame)
        if cv2.waitKey(100) & 0xFF == ord('q'):
            break
    cap.release()
    cv2.destroyAllWindows()
    

      

    四、获取视频属性

    print ("W:{}".format(cap.get(3)))#输出视频的宽度
    print ("H:{}".format(cap.get(4)))#输出视频的高度
    print ("frames:{}".format(cap.get(7)))#输出视频的总帧数

    运行结果:

    W:1920.0

    H:1080.0

    frames:912.0

    get方法参数按顺序对应下表(从0开始编号

    propId –

    Property identifier. It can be one of the following:

    • CV_CAP_PROP_POS_MSEC Current position of the video file in milliseconds or video capture timestamp.
    • CV_CAP_PROP_POS_FRAMES 0-based index of the frame to be decoded/captured next.
    • CV_CAP_PROP_POS_AVI_RATIO Relative position of the video file: 0 - start of the film, 1 - end of the film.
    • CV_CAP_PROP_FRAME_WIDTH Width of the frames in the video stream.
    • CV_CAP_PROP_FRAME_HEIGHT Height of the frames in the video stream.
    • CV_CAP_PROP_FPS Frame rate.
    • CV_CAP_PROP_FOURCC 4-character code of codec.
    • CV_CAP_PROP_FRAME_COUNT Number of frames in the video file.
    • CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() .
    • CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode.
    • CV_CAP_PROP_BRIGHTNESS Brightness of the image (only for cameras).
    • CV_CAP_PROP_CONTRAST Contrast of the image (only for cameras).
    • CV_CAP_PROP_SATURATION Saturation of the image (only for cameras).
    • CV_CAP_PROP_HUE Hue of the image (only for cameras).
    • CV_CAP_PROP_GAIN Gain of the image (only for cameras).
    • CV_CAP_PROP_EXPOSURE Exposure (only for cameras).
    • CV_CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB.
    • CV_CAP_PROP_WHITE_BALANCE_U The U value of the whitebalance setting (note: only supported by DC1394 v 2.x backend currently)
    • CV_CAP_PROP_WHITE_BALANCE_V The V value of the whitebalance setting (note: only supported by DC1394 v 2.x backend currently)
    • CV_CAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently)
    • CV_CAP_PROP_ISO_SPEED The ISO speed of the camera (note: only supported by DC1394 v 2.x backend currently)
    • CV_CAP_PROP_BUFFERSIZE Amount of frames stored in internal buffer memory (note: only supported by DC1394 v 2.x backend currently)

    五、抽帧显示

    import cv2
    cap=cv2.VideoCapture("/Users/zixiluo/Documents/test.avi")
    print ("W:{}".format(cap.get(3)))
    print ("H:{}".format(cap.get(4)))
    count=cap.get(7)
    while(count>0):
        ret, frame = cap.read()
        if count%5==0:
            print(count)
            gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
            cv2.imshow("capture", gray)
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break
        count+=-1
    cap.release()
    cv2.destroyAllWindows()
    

    此程序实现每读取五帧显示一帧

  • 相关阅读:
    React Native 实现MQTT 推送调研 (1)
    bpmn的依赖注入
    vdom diff
    浏览器渲染与event loop
    uni-app 通过后缀名区分不同渠道版本
    网页定宽 栅格布局
    网页顶部菜单导航和左侧菜单导航的区别?
    Android利用tcpdump和wireshark抓取网络数据包
    就算做了
    我眼中的Serverless
  • 原文地址:https://www.cnblogs.com/luozx207/p/8611459.html
Copyright © 2011-2022 走看看