<span id="l42vo"></span>
<progress id="l42vo"><big id="l42vo"></big></progress>
  • <th id="l42vo"></th>
    <rp id="l42vo"></rp>
    <em id="l42vo"><strike id="l42vo"></strike></em>
    <li id="l42vo"></li>
    <label id="l42vo"><object id="l42vo"><input id="l42vo"></input></object></label>
  • 教育行業A股IPO第一股(股票代碼 003032)

    全國咨詢/投訴熱線:400-618-4000

    Open CV視頻讀寫教程【Open CV視頻下載】

    更新時間:2021年07月27日16時49分 來源:傳智教育 瀏覽次數:

    一、從文件中讀取視頻并播放

    在OpenCV中我們要獲取一個視頻,需要創建一個VideoCapture對象,指定你要讀取的視頻文件:



    1. 創建讀取視頻的對象

    cap = cv.VideoCapture(filepath)

    參數:

    filepath: 視頻文件路徑



    2.視頻的屬性信息

    2.1. 獲取視頻的某些屬性

    retval = cap.get(propId)

    參數:

    propId: 從0到18的數字,每個數字表示視頻的屬性

    常用屬性有:

    open cv讀寫視頻



    2.2. 修改視頻的屬性信息

    cap.set(propId,value)

    參數:

    ·proid: 屬性的索引,與上面的表格相對應

    ·value: 修改后的屬性值


    3.判斷圖像是否讀取成功

    isornot = cap.isOpened()

    ·若讀取成功則返回true,否則返回False


    4.獲取視頻的一幀圖像

    ret, frame = cap.read()

    參數:

    ·ret: 若獲取成功返回True,獲取失敗,返回False

    ·Frame: 獲取到的某一幀的圖像


    5.調用cv.imshow()顯示圖像,在顯示圖像時使用cv.waitkey()設置適當的持續時間,如果太低視頻會播放的非???,如果太高就會播放的非常慢,通常情況下我們設置25ms就可以了。


    6.最后,調用cap.realease()將視頻釋放

    示例:

    import numpy as np
    import cv2 as cv
    # 1.獲取視頻對象
    cap = cv.VideoCapture('DOG.wmv')
    # 2.判斷是否讀取成功
    while(cap.isOpened()):
        # 3.獲取每一幀圖像
        ret, frame = cap.read()
        # 4. 獲取成功顯示圖像
        if ret == True:
            cv.imshow('frame',frame)
        # 5.每一幀間隔為25ms
        if cv.waitKey(25) & 0xFF == ord('q'):
            break
    # 6.釋放視頻對象
    cap.release()
    cv.destoryAllwindows()

    二、保存視頻

    在OpenCV中我們保存視頻使用的是VedioWriter對象,在其中指定輸出文件的名稱,如下所示:

    創建視頻寫入的對象

    out = cv2.VideoWriter(filename,fourcc, fps, frameSize)

    參數:

    ·filename:視頻保存的位置

    ·fourcc:指定視頻編解碼器的4字節代碼

    ·fps:幀率

    ·frameSize:幀大小

    設置視頻的編解碼器,如下所示,

    retval = cv2.VideoWriter_fourcc( c1, c2, c3, c4 )

    參數:

    ·c1,c2,c3,c4: 是視頻編解碼器的4字節代碼,在fourcc.org中找到可用代碼列表,與平臺緊密相關,常用的有:

    在Windows中:DIVX(.avi)

    在OS中:MJPG(.mp4),DIVX(.avi),X264(.mkv)。

    ·利用cap.read()獲取視頻中的每一幀圖像,并使用out.write()將某一幀圖像寫入視頻中。

    ·使用cap.release()和out.release()釋放資源。

    示例:

    import cv2 as cv
    import numpy as np
    # 1. 讀取視頻
    cap = cv.VideoCapture("DOG.wmv")
    # 2. 獲取圖像的屬性(寬和高,),并將其轉換為整數
    frame_width = int(cap.get(3))
    frame_height = int(cap.get(4))
    # 3. 創建保存視頻的對象,設置編碼格式,幀率,圖像的寬高等
    out = cv.VideoWriter('outpy.avi',cv.VideoWriter_fourcc('M','J','P','G'), 10, (frame_width,frame_height))
    while(True):
    # 4.獲取視頻中的每一幀圖像
    ret, frame = cap.read()
    if ret == True:
    # 5.將每一幀圖像寫入到輸出文件中
    out.write(frame)
    else:
    break
    # 6.釋放資源
    cap.release()
    out.release()
    cv.destroyAllWindows()


    《圖像處理OpenCV入門教程》課程導讀


    加QQ:2217622915,獲取《圖像處理OpenCV入門教程》全套視頻教程+筆記+源碼。



    猜你喜歡:

    OpenCV圖片相加和混合的方法

    什么是OpenCV?OpenCV安裝教程

    Harris角點檢測原理

    語言模型-BERT:bert算法介紹

    傳智教育人工智能開發課程

    中文字幕手机在线看片不卡,国产日韩欧美不卡在线二区,国产精品国产自线拍,么公的粗大征服了我 小说 网站地图 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>