利用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("111.avi");
int i = 0;
IplImage* img = 0;
char image_name[25];
cvNamedWindow( "vivi");
//读取和显示
while(1)
{
img = cvQueryFrame(capture); //获取一帧图片
if(img == NULL)
break;

cvShowImage( "vivi", img ); //将其显示
char key = cvWaitKey(20);
sprintf(image_name, "%s%d%s", "..\\tutu\\image", ++i, ".jpg");//保存的图片名
cvSaveImage( image_name, img); //保存一帧图片
}

cvReleaseCapture(&capture);
cvDestroyWindow("vivi");

return 0;
}

在目录之下建立一个tutu文件夹就可以存储读入视频的每一帧

时间: 2024-12-17 04:17:05

利用OpenCV存储一段视频中的每一帧的相关文章

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

这里实现的是从一段视频中每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(&quo

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

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

用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

(转)[视频压制/转换技术] I帧 B帧 P帧 IDR帧 等帧用途详细说明

转:http://www.u2game.net/bbs/thread-46116-1-1.html 在视频压制.转换中,经常会看到:I帧 B帧 P帧 IDR帧 等名词,这里就是通用的解释一下这些帧的用途,希望这些说明能让需要的朋友了解到一些知识...I帧 / 帧内编码帧I帧特点:1.它是一个全帧压缩编码帧.它将全帧图像信息进行JPEG压缩编码及传输:2.解码时仅用I帧的数据就可重构完整图像:3.I帧描述了图像背景和运动主体的详情:4.I帧不需要参考其他画面而生成:5.I帧是P帧和B帧的参考帧(其

Kafka+OpenCV 实现实时流视频处理

 1. 启动Kafka Server bin/kafka-server-start.sh config/server.properties & 2. 创建一个新topic bin/kafka-topics.sh --create --zookeeper xxxx --replication-factor 1 --partitions 1 --topic video 3. 安装相关依赖 sudo pip-3.6 install kafka-python opencv-contrib-python

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

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

MFC中利用OpenCV实现视频播放

近期项目中在学习全景相机相关知识 当然首先要开始将基本的MFC学会才能封装SDK 首先建立MFC对话框工程 具体的详细知识就不说了,网上有很多的教程. 添加如下控件 中间显示部分是picture control控件 采用定时器更新picture 显示框 首先包含opencv相关的头文件,在CUpanoCameraDlg.h中添加以下变量 private: CRect rect; CStatic* pStc; //标识图像显示的Picture控件 CDC* pDC; //视频显示控件设备上下文 H

利用Opencv在PictureControl中显示照片

利用Opencv在PictureControl中显示IplImage格式的照片. bool MyDlg::IfExistFile(CString strFilePath) { CFile file; if (file.Open(strFilePath,CFile::modeRead)) { file.Close(); return true; } return false; } bool MyDlg::FillBlankToPicCtrl(const int& nID) { CDC *pDC =

利用opencv中的级联分类器进行人脸检测-opencv学习(1)

OpenCV支持的目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification).注意,新版本的C++接口除了Haar特征以外也可以使用LBP特征. 先介绍一下相关的结构,级联分类器的计算特征值的基础类FeatureEvaluator,功能包括读操作read.复制clone.获得特征类型getFeatureType,分配图片分配窗口的操作setImage.setWindow,计算有序特征calcOrd,计算绝对特征calcC