从一段视频中按帧提取图片

这里实现的是从一段视频中每10帧读取第10帧图片,代码如下:

# -*- coding:utf-8 -*-
#视频中按序列提取帧,获得训练数据
import cv2
import os

video_src_path = "D:/mtcnn"
video_save_path = "D:/mtcnn/mydata"

videos = os.listdir(video_src_path)
videos = filter(lambda x : x.endswith("mp4") , videos)

for each_video in videos:
    print each_video

    each_video_name , _ = each_video.split(‘.‘)
    m = video_save_path + ‘/‘ + each_video_name

    if(os.path.exists(m) == False):
        os.mkdir(m)  #新建“D:/mtcnn/Mathbook_pic/Mathbook/”文件夹
    each_video_save_full_path = os.path.join(video_save_path, each_video_name) + ‘/‘

    each_video_full_path = video_src_path + ‘/‘ + each_video
    print each_video_full_path
    cap = cv2.VideoCapture(each_video_full_path)

    if False == cap.isOpened():
        print ‘open video failed‘
    else:
        print ‘open video succeeded‘

    count = 0   #统计帧数
    frame_gap = 10  #间隔为10帧,每个10帧读取第10帧
    success = True
    i = 0
    #每隔10帧读取一帧
    while(success):
        success , frame = cap.read()
        i = i + 1
        if(i == frame_gap):  #每个10帧读取第10帧
            print success
            #print ‘Read a new frame:‘ , success
            params = []
            params.append(int(cv2.IMWRITE_JPEG_QUALITY))
            params.append(95)
            cv2.imwrite(each_video_save_full_path + each_video_name + ‘_%d.jpg‘ % count , frame , params)
            count = count + 1
            i = 0

    cap.release()
print ‘OK!‘

注意的是,对于cv2库的VideoCapture函数,如果之前使用的是Pip 安装的opencv的python库,则没有安装FFmPeg,会导致无法正常打开视频,需要按下面步骤进行操作:

参考链接:http://blog.csdn.net/yedasha/article/details/78128345

原文地址:https://www.cnblogs.com/zf-blog/p/8566374.html

时间: 2024-07-29 04:28:32

从一段视频中按帧提取图片的相关文章

怎样把一段视频中的音乐剪切下来

有一些视频中的歌曲非常好听,可是如果我们相对这首歌曲进行剪切的话,该如何操作呢?平时在欣赏一段影片的时候都会有这种将音乐剪切下来的想法,所以今天就整理了一篇怎么把一段视频中的音频剪切下来的内容,大家感兴趣的话可以参考一下哦!希望对你们有效. 关于工具: 迅捷音频转换器它是一款多功能的音频编辑处理软件,软件具有音频剪切.音频提取.音频合并和音频转换这四个功能,这款工具操作简单,功能强大可以多种分割方式进行音频剪切,操作简单特点,支持而且软件不仅支持单个文件操作,还支持文件批量操作!是个不错的选择.

用mplayer从视频中按周期提取帧

使用方法:extract file time step folder time 设置时间长度 step 设置周期 均以秒(s)为单位 贡献:1. 从视频文件中周期性提取图片:2. Windows下批处理程序的一些技术. 依赖:mplayer todo: 目前周期最小为1s,可以扩展使频率大于1Hz. 更详细的内容可以参考: http://blog.csdn.net/xuyaqun/article/details/6077917 http://blog.csdn.net/aa846555831/a

python+opencv选出视频中一帧再利用鼠标回调实现图像上画矩形框

最近因为要实现模板匹配,需要在视频中选中一个目标,然后框出(即作为模板),对其利用模板匹配的方法进行检测.于是需要首先选出视频中的一帧,但是在利用摄像头读视频的过程中我唯一能想到的方法就是: 1.在视频播放的过程中,当想选中哪幅图来标记目标时,按下暂停键. 2.框出你想要检测的目标. 那要怎么实现呢? 首先是暂停怎么实现呢?介于是摄像头直播,我们先将那副图像复制并在另一个窗口显示.然后关掉摄像头,就完成了暂停.后面标记完目标再打开摄像头就行了.那具体怎么实现呢... import cv2 dra

利用OpenCV存储一段视频中的每一帧

// vfc.cpp : 定义控制台应用程序的入口点.#include "stdafx.h"#include <opencv2/highgui/highgui.hpp> #include <iostream> #include <stdio.h> #include <cv.h> int main(int argc, char *argv[]) { CvCapture* capture = cvCaptureFromAVI("11

怎样用电脑将视频中的音乐提取出来

在日常的生活和工作中,我们经常需要在网上下载一些音乐文件,但是并不是所有的音乐都是可以下载的,大家也知道有些播放器上的歌曲,既要收费还要版权,导致一些歌曲都不能视听了,所以很多用户都在想一些方法,有没有可以提取音频的工具呢?方法都是想出来的,如果想要提取音频的话,那么这篇文章你可就看对了,下面分享一个提取音频的方法. 工具特色: 迅捷音频转换器它是一款多功能的音频编辑处理软件,软件具有音频剪切.音频提取.音频合并和音频转换这四个功能,这款工具操作简单,功能强大可以多种分割方式进行音频剪切,操作简

从视频中提取图片,对图片做人脸检测并截取人脸区域

环境配置:VS2013+opencv2.4.10+libface.lib 参考博客:http://blog.csdn.net/augusdi/article/details/11042329 http://www.1024do.com/?p=1296 首先给出视频处理的函数video_process.hpp #include <stdio.h> #include <opencv2/opencv.hpp> #include "facedetect-dll.h" #

如何提取抖音短视频中的音乐

刷短视频的时候,总会有被一些短视频魔性的背景音乐吸引着,当我们准备下载这个背景音乐的时候,却又不知道这个背景音乐叫什么,所以无法下载.没办法,我们要想听这个背景音乐只能将音乐从视频中提取出来了,那么如何提取抖音短视频中的音乐呢?下面我们一起来看看吧. 音频转换器https://www.xunjieshipin.com/download-audioedit 我们提取音频,首先便是得下载一款音频编辑软件,这样我们才能够提取音频.下面这款迅捷音频转换器是小编平日里提取视频背景音乐所用的,因为操作简单,

如何在视频中截取一段 电脑录制视频方法

应该会有很多人都会使用到录屏工具,虽然不是天天使用,但是也成为了日常生活中不可少的一项功能,很多时候我们可能会用来录制影视剧中的一个片段或者是比较经典的一部分,但是如何在视频中截取一段呢?其实很简单,相信下面给大家分享的方法,你们一看便知. 使用工具: 电脑 操作方法: 1.我们在工作之余,经常会选择在浏览器上观看一些视频或者直播来放松自己,有时候我们会碰到自己特别喜爱的视频,想要把其中的某些片段给录制下来,然后通过剪辑和特效制作成好玩的短视频,那么如何截取片段呢?其实步骤很简单,下面就来分享视

视频中人体轮廓检测

传统的运动人体轮廓检测算法主要有三类:帧间差分法,背景减除法,光流法. 优点                                                                缺点 帧间差分法                运算简单.                                               对于缓慢运动的前景目标容易产生空洞现象. 背景减除法                简单易行.