欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python利用cv2庫讀取和保存視頻的操作步驟

 更新時間:2024年04月18日 10:40:45   作者:衍欲瑜  
這篇文章主要介紹了python利用cv2庫讀取和保存視頻的操作步驟,文中通過代碼示例給大家講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

python讀取和保存視頻

讀取視頻

用cv2庫的好處是返回的就是arrary,不用轉(zhuǎn)換,但這種方法是從頭讀到尾

利用cv2庫讀取視頻,代碼實現(xiàn)如下:

import cv2

cap = cv2.VideoCapture('C:\\Users\\xxx\\Desktop\\sweet.mp4')

while(cap.isOpened()):
    # ret返回布爾值
    ret, frame = cap.read()
    # 展示讀取到的視頻矩陣
    cv2.imshow('image', frame)
    # 鍵盤等待
    k = cv2.waitKey(20)
    # q鍵退出
    if k & 0xff == ord('q'):
        break

# 釋放資源
cap.release()
# 關(guān)閉窗口
cv2.destroyAllWindows()

讀取和保存視頻

  • 讀取視頻
  • 對每一幀進行處理
  • 保存視頻
import cv2

# VideoCapture方法是cv2庫提供的讀取視頻方法
cap = cv2.VideoCapture('C:\\Users\\xxx\\Desktop\\sweet.mp4')
# 設(shè)置需要保存視頻的格式“xvid”
# 該參數(shù)是MPEG-4編碼類型,文件名后綴為.avi
fourcc = cv2.VideoWriter_fourcc(*'XVID')
# 設(shè)置視頻幀頻
fps = cap.get(cv2.CAP_PROP_FPS)
# 設(shè)置視頻大小
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
# VideoWriter方法是cv2庫提供的保存視頻方法
# 按照設(shè)置的格式來out輸出
out = cv2.VideoWriter('C:\\Users\\xxx\\Desktop\\out.avi',fourcc ,fps, size)

# 確定視頻打開并循環(huán)讀取
while(cap.isOpened()):
    # 逐幀讀取,ret返回布爾值
    # 參數(shù)ret為True 或者False,代表有沒有讀取到圖片
    # frame表示截取到一幀的圖片
    ret, frame = cap.read()
    if ret == True:
        # 垂直翻轉(zhuǎn)矩陣
        frame = cv2.flip(frame,0)

        out.write(frame)

        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

# 釋放資源
cap.release()
out.release()
# 關(guān)閉窗口
cv2.destroyAllWindows()

cv2.waitKey()是一個鍵盤綁定函數(shù)。它的時間量度是毫秒ms。函數(shù)會等待(n)里面的n毫秒,看是否有鍵盤輸入。若有鍵盤輸入,則返回按鍵的ASCII值。沒有鍵盤輸入,則返回-1.一般設(shè)置為0,它將無線等待鍵盤的輸入。

cv2.VideoWriter_fourcc()函數(shù)

fourcc 意為四個字符代碼(Four-Character Codes ),該編碼由四個字符組成,下面是 VideoWriter_fourcc 對象一些常用的參數(shù):

注意:字符順序不能混合

  • cv2.VideoWriter_fourcc(‘I’,’4’,’2’,’0’),該參數(shù)是 YUV 編碼類型,文件名后綴為.avi
  • cv2.VideoWriter_fourcc(‘P’,’I’,’M’,’I’),該參數(shù)是 MPEG-1 編碼類型,文件名后綴為.avi
  • cv2.VideoWriter_fourcc(‘X’,’V’,’I’,’D’),該參數(shù)是 MPEG-4 編碼類型,文件名后綴為.avi
  • cv2.VideoWriter_fourcc(‘T’,’H’,’E’,’O’),該參數(shù)是 Ogg Vorbis,文件名后綴為.ogv
  • cv2.VideoWriter_fourcc(‘F’,’L’,’V’,1),該參數(shù)是 Flash 視頻,文件名后綴為.flv

cv2.flip()函數(shù)

語法:

cv2.flip(src, flipCode[, dst]) #src為要操作的圖像

flipCode的使用方法:

flipCode=-1        #水平垂直翻轉(zhuǎn)
flipCode= 0        #垂直翻轉(zhuǎn)
flipCode= 1        #水平翻轉(zhuǎn)

應(yīng)用:

cv2.imshow('img1',cv2.flip(img,-1))#水平垂直翻轉(zhuǎn)
cv2.imshow('img2',cv2.flip(img,0))#垂直翻轉(zhuǎn)
cv2.imshow('img3',cv2.flip(img,1))#水平翻轉(zhuǎn)

到此這篇關(guān)于python利用cv2庫讀取和保存視頻的操作步驟的文章就介紹到這了,更多相關(guān)python讀取和保存視頻內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實現(xiàn)word/excel/ppt批量轉(zhuǎn)pdf的示例代碼

    python實現(xiàn)word/excel/ppt批量轉(zhuǎn)pdf的示例代碼

    這篇文章主要為大家詳細介紹了如何利用python實現(xiàn)word、excel、ppt批量轉(zhuǎn)pdf文件,文中的示例代碼講解詳細,有需要的小伙伴可以參考下
    2023-09-09
  • Python struct模塊解析

    Python struct模塊解析

    我們知道python只定義了6種數(shù)據(jù)類型,字符串,整數(shù),浮點數(shù),列表,元組,字典。但是C語言中有些字節(jié)型的變量,在python中該如何實現(xiàn)呢?這點頗為重要,特別是要在網(wǎng)絡(luò)上進行數(shù)據(jù)傳輸?shù)脑挕?/div> 2014-06-06
  • numpy中軸處理的實現(xiàn)

    numpy中軸處理的實現(xiàn)

    本文主要介紹了numpy中軸處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python爬蟲設(shè)置代理IP(圖文)

    Python爬蟲設(shè)置代理IP(圖文)

    在本篇內(nèi)容里小編給大家分享了關(guān)于Python爬蟲設(shè)置代理IP的相關(guān)知識點和步驟,需要的朋友們參考下。
    2018-12-12
  • Python中的迭代器與生成器使用及說明

    Python中的迭代器與生成器使用及說明

    這篇文章主要介紹了Python中的迭代器與生成器使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 如何利用Python動態(tài)展示排序算法

    如何利用Python動態(tài)展示排序算法

    Python是一種簡單易學(xué),功能強大的編程語言,它有高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡單、有效地實現(xiàn)面向?qū)ο缶幊?下面這篇文章主要給大家介紹了關(guān)于如何利用Python動態(tài)展示排序算法的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Djang中靜態(tài)文件配置方法

    Djang中靜態(tài)文件配置方法

    這篇文章主要介紹Djang中靜態(tài)文件配置方法的相關(guān)資料,django靜態(tài)文件配置主要是為了讓用戶請求django服務(wù)器時能找到靜態(tài)文件返回,需要的朋友可以參考下
    2015-07-07
  • Python fileinput模塊使用實例

    Python fileinput模塊使用實例

    這篇文章主要介紹了Python fileinput模塊使用實例,本文講解了典型用法、基本格式、默認格式、常用函數(shù)和常見例子等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • Python subprocess庫六個實例快速掌握

    Python subprocess庫六個實例快速掌握

    這次來說Python的第三方庫subprocess庫,在python2.4以上的版本commands模塊被subprocess取代了。一般當(dāng)我們在用Python寫運維腳本時,需要履行一些Linux shell的命令,Python中subprocess模塊就是專門用于調(diào)用Linux shell命令,并返回狀態(tài)和結(jié)果,可以完美的解決這個問題
    2022-10-10
  • python實現(xiàn)class對象轉(zhuǎn)換成json/字典的方法

    python實現(xiàn)class對象轉(zhuǎn)換成json/字典的方法

    這篇文章主要介紹了python實現(xiàn)class對象轉(zhuǎn)換成json/字典的方法,結(jié)合實例形式分析了Python類型轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03

最新評論