最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python利用VideoCapture讀取視頻或攝像頭并進(jìn)行保存

 更新時(shí)間:2022年07月01日 08:52:20   作者:AI算法聯(lián)盟  
這篇文章主要為大家介紹一下OpenCV中cv2.VideoCapture函數(shù)的使用,并利用cv2.VideoCapture讀取視頻或攝像頭以及進(jìn)行保存幀圖像或視頻,感興趣的小伙伴可以了解一下

一、語(yǔ)法:cap = cv2.VideoCapture(0)

說(shuō)明:參數(shù)0表示默認(rèn)為筆記本的內(nèi)置第一個(gè)攝像頭,如果需要讀取已有的視頻則參數(shù)改為視頻所在路徑路徑,例如:cap=cv2.VideoCapture('video.mp4')

二、語(yǔ)法:cap.isOpened()

說(shuō)明:判斷視頻對(duì)象是否成功讀取,成功讀取視頻對(duì)象返回True。

三、語(yǔ)法:ret,frame = cap.read()

說(shuō)明:按幀讀取視頻,返回值ret是布爾型,正確讀取則返回True,讀取失敗或讀取視頻結(jié)尾則會(huì)返回False。frame為每一幀的圖像,這里圖像是三維矩陣,即frame.shape = (640,480,3),讀取的圖像為BGR格式。

四、語(yǔ)法:key = cv2.waitKey(1)

說(shuō)明:等待鍵盤輸入,參數(shù)1表示延時(shí)1ms切換到下一幀,參數(shù)為0表示顯示當(dāng)前幀,相當(dāng)于暫停。

五、讀取攝像頭并保存為視頻代碼演示

import cv2
 
def videocapture():
    cap=cv2.VideoCapture(0)     #生成讀取攝像頭對(duì)象
    width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))  #獲取視頻的寬度
    height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))  #獲取視頻的高度
    fps = cap.get(cv2.CAP_PROP_FPS) #獲取視頻的幀率
    fourcc = int(cap.get(cv2.CAP_PROP_FOURCC))    #視頻的編碼
    #定義視頻對(duì)象輸出
    writer = cv2.VideoWriter("video_result.mp4", fourcc, fps, (width, height))
    while cap.isOpened():
        ret, frame = cap.read() #讀取攝像頭畫面
        cv2.imshow('teswell', frame) #顯示畫面
        key = cv2.waitKey(24)
        writer.write(frame)  #視頻保存
        # 按Q退出
        if key == ord('q'):
            break
    cap.release()         #釋放攝像頭
    cv2.destroyAllWindows() #釋放所有顯示圖像窗口
 
if __name__ == '__main__' :
 
    videocapture()

六、讀取視頻并按幀進(jìn)行保存代碼演示:

import numpy as np
import cv2
import os
 
def video2image(video_dir,save_dir):
    cap = cv2.VideoCapture(video_dir) #生成讀取視頻對(duì)象
    n = 1   #計(jì)數(shù)
    width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))    #獲取視頻的寬度
    height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))   #獲取視頻的高度
    fps = cap.get(cv2.CAP_PROP_FPS)    #獲取視頻的幀率
    fourcc = int(cap.get(cv2.CAP_PROP_FOURCC))    #視頻的編碼
    # 定義視頻輸出
    #writer = cv2.VideoWriter("teswellvideo_02_result.mp4", fourcc, fps, (width, height))
    i = 0
    timeF = int(fps)     #視頻幀計(jì)數(shù)間隔頻率
    while cap.isOpened():
        ret,frame = cap.read() #按幀讀取視頻
        #到視頻結(jié)尾時(shí)終止
        if ret is False :
            break
        #每隔timeF幀進(jìn)行存儲(chǔ)操作
        if (n % timeF == 0) :
            i += 1
            print('保存第 %s 張圖像' % i)
            save_image_dir = os.path.join(save_dir,'%s.jpg' % i)
            print('save_image_dir: ', save_image_dir)
            cv2.imwrite(save_image_dir,frame) #保存視頻幀圖像
        n = n + 1
        cv2.waitKey(1) #延時(shí)1ms
    cap.release() #釋放視頻對(duì)象
 
#讀取文件夾所有視頻,每個(gè)視頻按幀保存圖像
def video2image_multi(video_path,save_path):
    video_list = os.listdir(video_path)
    
    for i in range(len(video_list)) :      
        video_dir = os.path.join(video_path,video_list[i])
        cap = cv2.VideoCapture(video_dir)
        fps = cap.get(cv2.CAP_PROP_FPS)     # 視頻的幀率
        save_num = 0
        n = 1           #計(jì)數(shù)
        timeF = int(fps)          # 視頻幀計(jì)數(shù)間隔頻率
        while cap.isOpened():
            ret,frame = cap.read()
            if ret is False :
                break
            #每隔timeF幀進(jìn)行存儲(chǔ)操作
            if (n % timeF == 0) :
                save_num += 1
                save_image_dir = os.path.join(save_path,'%s_%s.jpg' % (i,save_num))
                cv2.imwrite(save_image_dir,frame)
            n = n + 1
            cv2.waitKey(1)
        cap.release()
        print('讀取第 %s 個(gè)視頻完成 ?。?!' % i)
 
if __name__ == '__main__' :
 
    video_to_image(r'E:\AI\video.mp4', r'E:\AI\video2image')

以上就是Python利用VideoCapture讀取視頻或攝像頭并進(jìn)行保存的詳細(xì)內(nèi)容,更多關(guān)于Python VideoCapture讀取視頻 攝像頭的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于python的Tkinter編寫登陸注冊(cè)界面

    基于python的Tkinter編寫登陸注冊(cè)界面

    這篇文章主要為大家詳細(xì)介紹了基于python的Tkinter編寫登陸注冊(cè)界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Python使用psutil獲取進(jìn)程信息的例子

    Python使用psutil獲取進(jìn)程信息的例子

    今天小編就為大家分享一篇Python使用psutil獲取進(jìn)程信息的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-12-12
  • python入門jupyter基礎(chǔ)操作及文本用法

    python入門jupyter基礎(chǔ)操作及文本用法

    這篇文章主要介紹了python入門-jupyter基礎(chǔ)操作及文本用法,適合入門的python小白閱讀,有需要的朋友可以借鑒參考下,希望可以有所幫助,感謝閱讀
    2021-09-09
  • 使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決

    使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決

    這篇文章主要介紹了使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Python反射機(jī)制案例超詳細(xì)講解

    Python反射機(jī)制案例超詳細(xì)講解

    反射就是通過字符串的形式,導(dǎo)入模塊;通過字符串的形式,去模塊尋找指定函數(shù),并執(zhí)行。利用字符串的形式去對(duì)象(模塊)中操作(查找/獲取/刪除/添加)成員,一種基于字符串的事件驅(qū)動(dòng)
    2022-09-09
  • Mac中PyCharm配置Anaconda環(huán)境的方法

    Mac中PyCharm配置Anaconda環(huán)境的方法

    這篇文章主要介紹了Mac中PyCharm配置Anaconda環(huán)境的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • pandas 相關(guān)性和正態(tài)性分析的實(shí)踐

    pandas 相關(guān)性和正態(tài)性分析的實(shí)踐

    當(dāng)我們談?wù)撜龖B(tài)性(Normality)和相關(guān)性(Correlation)時(shí),我們實(shí)際上在嘗試?yán)斫鈹?shù)據(jù)的分布模式和不同變量之間的關(guān)系,本文就來(lái)介紹一下pandas 相關(guān)性和正態(tài)性的實(shí)踐,感興趣的可以了解一下
    2024-07-07
  • python使用pycharm環(huán)境調(diào)用opencv庫(kù)

    python使用pycharm環(huán)境調(diào)用opencv庫(kù)

    這篇文章主要介紹了python使用pycharm環(huán)境調(diào)用opencv庫(kù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-02-02
  • 現(xiàn)代Python編程的四個(gè)關(guān)鍵點(diǎn)你知道幾個(gè)

    現(xiàn)代Python編程的四個(gè)關(guān)鍵點(diǎn)你知道幾個(gè)

    這篇文章主要為大家詳細(xì)介紹了Python編程的四個(gè)關(guān)鍵點(diǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Python socket套接字實(shí)現(xiàn)C/S模式遠(yuǎn)程命令執(zhí)行功能案例

    Python socket套接字實(shí)現(xiàn)C/S模式遠(yuǎn)程命令執(zhí)行功能案例

    這篇文章主要介紹了Python socket套接字實(shí)現(xiàn)C/S模式遠(yuǎn)程命令執(zhí)行功能,涉及Python socket套接字編寫服務(wù)器/客戶機(jī)模式數(shù)據(jù)傳輸相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07

最新評(píng)論

项城市| 民县| 罗山县| 瑞安市| 莒南县| 大竹县| 恭城| 隆尧县| 吉木乃县| 佳木斯市| 手机| 宁陕县| 织金县| 仪征市| 临沧市| 政和县| 江达县| 临泉县| 江永县| 江川县| 泉州市| 遂溪县| 民乐县| 兴和县| 闵行区| 额尔古纳市| 鞍山市| 岳阳县| 奉节县| 应用必备| 高淳县| 屏东市| 紫阳县| 奇台县| 花垣县| 绥芬河市| 龙南县| 定兴县| 封开县| 邯郸县| 宜城市|