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

Python將視頻轉(zhuǎn)換為圖片介紹

 更新時(shí)間:2022年01月04日 10:30:05   作者:橙橙小貍貓  
大家好,本篇文章主要講的是Python將視頻轉(zhuǎn)換為圖片介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

前言

代碼讓人頭禿,可是我喜歡上了代碼的邏輯感和代碼解決問題的力量。
(我要對這個(gè)專題的圖片進(jìn)行修改,縮小看和我導(dǎo)頭像有點(diǎn)像QAQ)

代碼展示

此段代碼能夠?qū)崿F(xiàn)多個(gè)文件夾中多個(gè)視頻片段的轉(zhuǎn)換,代碼的具體含義可以參考注釋。
具體操作為將此段代碼復(fù)制粘貼到創(chuàng)建好的main.py文件,配置好第63行的源文件路徑,然后運(yùn)行。

# 將四個(gè)文件夾中的多個(gè)視頻文件轉(zhuǎn)換為圖片
import cv2
import os


number_in_dir = []  # 可以去掉
def video2image(video_path, image_save_dir):
    # 1. 將圖片的存儲路徑加上源文件的文件夾名,如'Coffee_room_01'等。
    if os.path.exists(video_path):  # 判斷源路徑是否正確
        print(video_path + '\t ok')
        if video_path.split('\\')[-2] != 'Videos':  # 這個(gè)根據(jù)我文件路徑自行添加的
            image_save_dir += video_path.split('\\')[-2] + '\\'
        else:
            image_save_dir += video_path.split('\\')[-3] + '\\'

        number_in_dir.append(len(os.listdir(video_path)))  # 可以去掉
    else:
        print(video_path + ' \033[0;37;41merror\033[0m')
        return

    # 2. 依次讀取源文件里的文件,如果后綴名是‘a(chǎn)vi'或 'MP3',則創(chuàng)建一個(gè)關(guān)于文件名的子文件夾
    files_in_video_path_list = os.listdir(video_path)
    print(len(files_in_video_path_list))  # 獲取當(dāng)前文件夾下文件個(gè)數(shù),用來判斷是否有其他類型的文件
    file_count = 0  # 用于統(tǒng)計(jì)個(gè)數(shù),驗(yàn)證是否全為視頻文件,會與len(files_in_video_path_list)進(jìn)行比較

    for file_in_video_path in files_in_video_path_list:
        file_name = os.path.basename(file_in_video_path)
        if file_name.split('.')[-1] == 'avi' or file_name.split('.')[-1] == 'mp3':
            file_count += 1  # 視頻文件數(shù)+1
            every_video_save_dir = file_name.split('.')[0] + '\\'
            if not os.path.exists(image_save_dir + every_video_save_dir):  # 創(chuàng)建屬于相應(yīng)文件夾的存儲路徑
                os.makedirs(image_save_dir + every_video_save_dir)
        else:
            print(' \033[0;37;41merror\033[0m')
            break

        # 3. 打印正在處理文件的序號和他的文件名,并開始轉(zhuǎn)換
        print(str(file_count) + ':' + file_name)
        cap = cv2.VideoCapture(video_path + file_name)

        flag = cap.isOpened()
        if not flag:
            print("open" + video_path + file_name + "error!")

        frame_count = 0  # 給每一幀標(biāo)號
        while True:
            frame_count += 1
            flag, frame = cap.read()
            if not flag:  # 如果已經(jīng)讀取到最后一幀則退出
                break
            if os.path.exists(image_save_dir + every_video_save_dir + str(frame_count) + '.jpg'):  # 在源視頻不變的情況下,如果已經(jīng)創(chuàng)建,則跳過
                break
            cv2.imwrite(image_save_dir + every_video_save_dir + str(frame_count) + '.jpg', frame)

        cap.release()
        print(file_name + ' save to ' + image_save_dir + every_video_save_dir + 'finished ')  # 表示一個(gè)視頻片段已經(jīng)轉(zhuǎn)換完成
    if file_count != len(files_in_video_path_list):
        print(' \033[0;37;41Maybe loss something\033[0m')


if __name__ == '__main__':
    # 需要轉(zhuǎn)換的文件路徑列表(自定義修改)
    video_path_list = ['E:\\Datasets_FallDetection\\2 LE2I\Coffee_room_01\\Coffee_room_01\\Videos\\',
                       'E:\\Datasets_FallDetection\\2 LE2I\Home_01\\Home_01\Videos\\',
                       'E:\\Datasets_FallDetection\\2 LE2I\Lecture_room\\Lecture room\\',
                       'E:\\Datasets_FallDetection\\2 LE2I\\Office\\Office\\']

    # 預(yù)期存儲在的主文件夾,即'result'文件夾
    image_save_dir = '.\\result\\'

    # 進(jìn)行轉(zhuǎn)換
    for video_path in video_path_list:
        video2image(video_path, image_save_dir)

結(jié)果展示

將創(chuàng)建’result’主文件夾和副文件夾

在這里插入圖片描述

每個(gè)副文件夾下都將生成與視頻名相對應(yīng)的子文件夾,并按視頻幀數(shù)順序轉(zhuǎn)換為jpg圖片。

在這里插入圖片描述

終端上將提示正在處理的文件路徑,正在對哪個(gè)視頻進(jìn)行轉(zhuǎn)換和轉(zhuǎn)換完成提示。

在這里插入圖片描述

總結(jié)

到此這篇關(guān)于Python將視頻轉(zhuǎn)換為圖片介紹的文章就介紹到這了,更多相關(guān)Python視頻轉(zhuǎn)換為圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python生成隨機(jī)密碼

    Python生成隨機(jī)密碼

    這篇文章主要介紹了Python生成隨機(jī)密碼的代碼分享,由于是新手,僅僅是簡單的實(shí)現(xiàn),未作任何其他處理,小伙伴們自己參考下吧。
    2015-03-03
  • Series和DataFrame使用簡單入門

    Series和DataFrame使用簡單入門

    這篇文章主要介紹了Series和DataFrame使用簡單入門,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python從文件中讀取數(shù)據(jù)的方法講解

    Python從文件中讀取數(shù)據(jù)的方法講解

    今天小編就為大家分享一篇關(guān)于Python從文件中讀取數(shù)據(jù)的方法講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 刪除python pandas.DataFrame 的多重index實(shí)例

    刪除python pandas.DataFrame 的多重index實(shí)例

    今天小編就為大家分享一篇刪除python pandas.DataFrame 的多重index實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python基于select實(shí)現(xiàn)的socket服務(wù)器

    Python基于select實(shí)現(xiàn)的socket服務(wù)器

    這篇文章主要介紹了Python基于select實(shí)現(xiàn)的socket服務(wù)器,實(shí)例分析了Python基于select與socket模塊實(shí)現(xiàn)socket通信的相關(guān)技巧,需要的朋友可以參考下
    2016-04-04
  • Python QT組件庫qtwidgets的使用

    Python QT組件庫qtwidgets的使用

    這篇文章主要介紹了Python QT組件庫qtwidgets的使用,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2020-11-11
  • 基于Python實(shí)現(xiàn)一個(gè)簡易的數(shù)據(jù)管理系統(tǒng)

    基于Python實(shí)現(xiàn)一個(gè)簡易的數(shù)據(jù)管理系統(tǒng)

    為了方便的實(shí)現(xiàn)記錄數(shù)據(jù)、修改數(shù)據(jù)沒有精力去做一個(gè)完整的系統(tǒng)去管理數(shù)據(jù)。因此,在python的控制臺直接實(shí)現(xiàn)一個(gè)簡易的數(shù)據(jù)管理系統(tǒng),包括數(shù)據(jù)的增刪改查等等。感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2021-12-12
  • Python直接使用plot()函數(shù)畫圖的方法實(shí)例

    Python直接使用plot()函數(shù)畫圖的方法實(shí)例

    Python非常簡單而又非常強(qiáng)大,它的功能之一就是畫出漂亮的圖表,實(shí)現(xiàn)數(shù)據(jù)的可視化,下面這篇文章主要給大家介紹了關(guān)于Python直接使用plot()函數(shù)畫圖的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python3之字節(jié)串bytes與字節(jié)數(shù)組bytearray的使用詳解

    Python3之字節(jié)串bytes與字節(jié)數(shù)組bytearray的使用詳解

    今天小編就為大家分享一篇Python3之字節(jié)串bytes與字節(jié)數(shù)組bytearray的使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python讀取pdf、word、excel、ppt、csv和txt文件提取所有文本

    Python讀取pdf、word、excel、ppt、csv和txt文件提取所有文本

    這篇文章主要給大家介紹了關(guān)于Python讀取pdf、word、excel、ppt、csv和txt文件提取所有文本的相關(guān)資料,文中通過代碼示例將實(shí)現(xiàn)的方法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08

最新評論