1. 程式人生 > >【深度學習資料集】利用視訊檔案按幀提取圖片

【深度學習資料集】利用視訊檔案按幀提取圖片

一、問題

博主最近在做深度學習的目標檢測問題,需要用到自制的圖片資料集。但是用攝像頭拍的話,太慢了。於是博主就拍了一些視訊,然後按幀將它儲存下來。

二、開發環境

python3

OpenCV

windows10

三、程式碼實現

import cv2
import os

videos_src_path = r'./G5'#提取圖片的視訊資料夾
videos_save_path = r'./G5'#儲存圖片的路徑

videos = os.listdir(videos_src_path) #用於返回指定的資料夾包含的檔案或資料夾的名字的列表。
videos = filter(lambda x: x.endswith('mp4'), videos)#將mp4檔案讀進來,可改為avi等格式

for each_video in videos:
    frame_count = 1
    # 得到每個資料夾的名字, 並指定每一幀的儲存路徑
    each_video_name, _ = each_video.split('.')
    os.mkdir(videos_save_path + '/' + each_video_name)
    each_video_save_full_path = os.path.join(videos_save_path, each_video_name) + '/'

    # 得到完整的視訊路徑
    each_video_full_path = os.path.join(videos_src_path, each_video)
    # 用OpenCV一幀一幀讀取出來
    cap = cv2.VideoCapture(each_video_full_path)
    
    success = True
    while (success):
        success, frame = cap.read()
        print('Read a new frame: ', success)
        params = []
        params.append(1)
        #if len(frame) > 0:
        #if success:
        if frame is not None and frame_count%3==0:#每?幀取一幀圖片儲存下來,可以自己修改
            cv2.imwrite(each_video_save_full_path + each_video_name + "_%d.jpg" % frame_count, frame, params)
            print(frame_count)
        frame_count = frame_count + 1
    cap.release()

相關推薦

深度學習資料利用視訊檔案提取圖片

一、問題 博主最近在做深度學習的目標檢測問題,需要用到自制的圖片資料集。但是用攝像頭拍的話,太慢了。於是博主就拍了一些視訊,然後按幀將它儲存下來。 二、開發環境 python3 OpenCV windows10 三、程式碼實現 import cv2 import

深度學習資料常用公開圖片資料下載

1.MNIST   MNIST是一個手寫數字資料庫,它有60000個訓練樣本集和10000個測試樣本集,每個樣本影象的寬高為28*28。此資料集是以二進位制儲存的,不能直接以影象格式檢視,不過很容易找到將其轉換成影象格式的工具。 最早的深度卷積網路LeNet便是針對此資料

深度學習資料預處理2使用Matlab批量生成聲譜圖

接上篇裁剪音樂檔案。給深度學習做資料準備,通過Matlab生成聲譜圖。 function cut_wavs(file_dir,output_dir,t,t_overlap) files=dir(file_dir); count=0; for i =3:le

深度學習Deep Learning資料大全

介紹:使用卷積神經網路的影象縮放. 介紹:ICML2015 論文集,優化4個+稀疏優化1個;強化學習4個,深度學習3個+深度學習計算1個;貝葉斯非參、高斯過程和學習理論3個;還有計算廣告和社會選擇.ICML2015 Sessions. 介紹:使用卷積神經網路的影象縮放. 介紹:,第28屆IEEE計算機視覺與

深度學習筆記1如何建立和確定模型正確性?如何優化模型?

近期看了吳恩達的一本書,關於如何建立和確定優化模型?裡面有個人認為需要學習的地方,故做筆記: 1.模型訓練一共有三個資料集:訓練集、開發集(驗證集)、測試集。開發集不能太小,通常在1000-10000,並且測試集屬於同一分佈;2.過擬合:訓練過程中開發集的準確率和測試集測試的準確率差別不大,若開發集比測試集

Python爬蟲爬取網上圖片原始碼,可用來製作深度學習資料

這次利用python設計一個爬取百度圖片上的圖片的原始碼,其中利用的是python的urllib,如果沒有裝的,可以使用Anconda在環境裡進行安裝或者 pip install urllib 這兩種方式都可以安裝,長話短說,上圖吧,點選執行後,輸入你要下載的圖片型別: 比如,熊貓?美女?

深度學習資料

大學公開資料集 (Stanford)69G大規模無人機(校園)影象資料集【Stanford】 http://cvgl.stanford.edu/projects/uav_data/ 人臉素描資料集【CUHK】 http://mmlab.ie.cuhk.edu.hk/a

深度學習基礎1神經網路基礎--邏輯迴歸

  本博文根據 coursera 吳恩達 深度學習整理。作為理解神經網路的基礎。 一、知識點        深度學習本質上是對資料的一種擬合。使用非線性的函式集合作為模型,對樣本對進行損失最小的模擬。首先理解單個神經元的作用和原理,可以從

深度學習數學基礎向量點乘(內積)和叉乘(外積、向量積)概念及幾何意義解讀

1. 點乘 向量的點乘,也叫向量的內積、數量積,對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,點乘的結果是一個標量。 對於向量a和向量b:                                                 

深度學習基礎5深度神經網路的優化與調參(2)

     轉載請註明出處。謝謝。      本博文根據 coursera 吳恩達 Improving Deep Neural Networks: Hyperparameter tuning, Regularizati

NLP+VS︱深度學習資料標註工具、影象語料資料庫、實驗室搜尋ing....

一、NLP標註工具 Chinese-Annotator 能不能構建一箇中文文字的標註工具,可以達到以下兩個特點: 標註過程背後含有智慧演算法,將人工重複勞動降到最低; 標註介面顯而易見地友好,讓標註操作儘可能簡便和符合直覺。 答案是可以的。事實上很多標註工

深度學習論文筆記Deep Neural Networks for Object Detection

       論文:<<Deep Neural Networks for Object Detection>>       作者:Christian Szegedy Al

深度學習與TheanoLSTM網路-情感分析

概述 本文提供一個如何使用Theano實現使用LSTM結構的RNN例子。模型被用來通過電影綜述來進行情感分析,綜述資料來源於Large Movie Review Dataset,即IMDB。 在這個任務中,給定一個電影,這個模型能夠預測電影是posit

深度學習讀書筆記第一章 引言

在人工智慧的早期,那些對人類智力來說非常困難、但對計算機來說相對簡單的問題得到迅速解決,比如,那些可以通過一系列形式化的數學規則來描述的問題。人工智慧的真正挑戰在於解決那些對人來說很容易執行、但很難形式化描述的任務,如識別人們所說的話或影象中的臉。 讓計算機從

深度學習_4.3構建YOLO物體識別演算法

訓練集裡面的訓練圖片被標記如下 如果YOLO演算法需要識別80種物體,那麼c可以是1-80之間的任意整數,也可以是80維的向量,識別出的物體為1,其他均為零。 YOLO演算法模型 輸入(m,608,608,3) 輸出是識別出來的物體被邊框(pc,bx,by,bw,bh,c

深度學習基礎-09神經網路-機器學習深度學習中~Sigmoid函式詳解

目錄 Sigmoid函式常常被用作神經網路中啟用函式   雙曲函式tanh(x) Logistic函式  拓展對比 Sigmoid函式常常被用作神經網路中啟用函式   函式的基本性質: 定義域:(−∞,+∞

深度學習基礎-07神經網路演算法(Neural Network)上--BP神經網路基礎理論

目錄 1 起源 2 多層向前神經網路(Multilayer Feed-Forward Neural Network) 3 設計神經網路  4 交叉驗證方法 5 BP神經網路演算法 1 起源 以人腦中的神經網路為啟發,出現過不同的版本 最著名的演算法是19

深度學習基礎-06支援向量機SVM(下)-線性不可分

 1 SVM的優點                                      

深度學習基礎-05支援向量機SVM(上)-線性可分

Support Vector Machine 目錄 1背景 2 機器學習的一般框架 3 什麼是超平面 4 線性可區分(linear separatable)和線性不可區分(linear inseparatable) 5 如何計算超平面以及舉例 1背景 Vladim

深度學習基礎-04最鄰近規則分類(K Nearest Neighbor)KNN演算法

1 基本概念 Cover和Hart在1968年提出了最初的臨近演算法 分類演算法classfication 輸入基於例項的學習instance-based learning ,懶惰學習lazy learning 2 例子:    &n