使用opencv将视频帧转成图片输出

本文做的是基于opencv将视频帧转成图片输出,由于一个视频包含的帧数过多,经常我们并不是需要它的全部帧转成图片,因此我们希望可以设置每隔多少帧再转一次图片(本文设置为30帧),若有人需求是只需要前多少帧,也可以类似的改写下代码即可。

本文代码如下:

#include <iostream>
#include "cv.h"
#include "opencv2/opencv.hpp"

using namespace std;
using namespace cv;

// 描述:将视频帧转成图片输出
void main()
{
	// 获取视频文件
	VideoCapture cap("J:\\CQH\\DLFR\\lab_face\\video\\DSC_0023.MOV");

	// 获取视频总帧数
	long totalFrameNumber = cap.get(CV_CAP_PROP_FRAME_COUNT);
	cout << "total frames: " << totalFrameNumber << endl;

	Mat frame;
	bool flags = true;
	long currentFrame = 0;

	while (flags){
		// 读取视频每一帧
		cap.read(frame);

		stringstream str;
		str << "cqh" << currentFrame << ".jpg";
		cout << "正在处理第" << currentFrame << "帧" << endl;
		printf("\n");

		// 设置每30帧获取一次帧
		if (currentFrame % 30 == 0){
			// 将帧转成图片输出
			imwrite("J:\\CQH\\DLFR\\lab_face\\videoToImages\\DSC_0023\\" + str.str(), frame);
		}
		// 结束条件
		if (currentFrame >= totalFrameNumber){
			flags = false;
		}
		currentFrame++;
	}

	system("pause");
}

运行结果如下:

以上这篇使用opencv将视频帧转成图片输出就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用python-opencv读取视频,计算视频总帧数及FPS的实现

    如下所示: 1.计算总帧数 import os import cv2 video_cap = cv2.VideoCapture('ffmpeg_test.avi') frame_count = 0 all_frames = [] while(True): ret, frame = video_cap.read() if ret is False: break all_frames.append(frame) frame_count = frame_count + 1 # The value be

  • opencv设置采集视频分辨率方式

    如下所示: #include <opencv2\opencv.hpp> #include<ctime> using namespace cv; using namespace std; int main( ) { //[1]从摄像头读入视频 VideoCapture capture(0); //[2]循环显示每一帧 int j=0; capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080); capture.set(CV_CAP_PROP_FRAME_H

  • Python OpenCV视频截取并保存实现代码

    这篇文章主要介绍了Python OpenCV视频截取并保存实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在图像处理之前,我们需要对拿到手的数据进行筛选,对于视频,我们需要从中截取我们需要的一段或几段 整体思路比较简单,通过设定截取视频的起止时间(帧数),可以将该时间段内的图像保存为新的视频 直接上代码 """ [函数名称] 截取视频 [参数] 输入参数 视频文件名称 [详细介绍] 输入不同时间段 进行截取拼接 [创

  • 用OpenCV将视频分解成单帧图片,图片合成视频示例

    本文做的是基于opencv将视频帧转成图片输出,由于一个视频包含的帧数过多,经常我们并不是需要它的全部帧转成图片,因此我们希望可以设置每隔多少帧再转一次图片(本文设置为30帧),若有人需求是只需要前多少帧,也可以类似的改写下代码即可. 程序一: #include <iostream> #include "cv.h" #include "opencv2/opencv.hpp" using namespace std; using namespace cv;

  • 使用opencv将视频帧转成图片输出

    本文做的是基于opencv将视频帧转成图片输出,由于一个视频包含的帧数过多,经常我们并不是需要它的全部帧转成图片,因此我们希望可以设置每隔多少帧再转一次图片(本文设置为30帧),若有人需求是只需要前多少帧,也可以类似的改写下代码即可. 本文代码如下: #include <iostream> #include "cv.h" #include "opencv2/opencv.hpp" using namespace std; using namespace

  • python 将视频 通过视频帧转换成时间实例

    我就废话不多说了,还是直接看代码吧! def frames_to_timecode(framerate,frames): """ 视频 通过视频帧转换成时间 :param framerate: 视频帧率 :param frames: 当前视频帧数 :return:时间(00:00:01:01) """ return '{0:02d}:{1:02d}:{2:02d}:{3:02d}'.format(int(frames / (3600 * fram

  • python将文本转换成图片输出的方法

    本文实例讲述了python将文本转换成图片输出的方法.分享给大家供大家参考.具体实现方法如下: #-*- coding:utf-8 -*- from PIL import Image,ImageFont,ImageDraw text = u'欢迎访问我们,http://www.jb51.net' font = ImageFont.truetype("msyh.ttf",18) lines = [] line ='' for word in text.split(): print wor

  • Python实现视频分解成图片+图片合成视频

    目录 一.python视频拆分+图片合成(源码一) 1.python视频拆分 2.python图片合成 二.python视频拆分+图片合成(源码二) 三.python视频拆分(源码三) 一.python视频拆分+图片合成(源码一) 1.python视频拆分 import cv2 def video2frame(videos_path,frames_save_path,time_interval): ''' :param videos_path: 视频的存放路径 :param frames_sav

  • Opencv3.4.0实现视频中的帧保存为图片功能

    现在有一个收集人脸的需求,每一张照片只有一个人.我的解决办法是用收集录制一段视频,然后上传到PC上.在PC上使用OpenCV将图片中的每一帧保存为JPG图片. 以下是代码: import time import cv2 if __name__ == '__main__': # 填写视频的绝对路径 vidcap = cv2.VideoCapture('/home/shushi/video/猎场.mp4') success, image = vidcap.read() start_time = ti

  • pygame+opencv实现读取视频帧的方法示例

    由于pygame.movie.Movie.play() 只支持MPEG格式的视频,且 pygame版本大于1.9.5好像已经不支持这个模块了,所以决定使用与opencv读取视频帧的画面,利用pygame的surface刷新窗口. 有基础的小伙伴,代码还是很好理解,直接上代码 pygame.time.Clock()同步时间 import pygame from pygame.locals import * import cv2 import sys import time FPS = 30 Fra

  • python使用openCV遍历文件夹里所有视频文件并保存成图片

    如果你在文件夹里有很多视频,并且文件夹里还有文件夹,文件夹里的文件夹也有视频,怎么能逐个读取并且保存..所以我写了个代码用了os,walk,这个可以遍历所有文件夹里的文件和文件夹 import os import cv2 cut_frame = 250 # 多少帧截一次,自己设置就行 save_path = "C:\文献与资料\手持红外\图片" for root, dirs, files in os.walk(r"C:\文献与资料\手持红外"): # 这里就填文件夹

  • OpenCV获取视频的每一帧并保存为.jpg图片

    本文实例为大家分享了OpenCV获取视频的每一帧并保存为图片的具体代码,供大家参考,具体内容如下 #include<opencv2\opencv.hpp> #include <iostream> #include <stdio.h> #include<fstream> using namespace std; using namespace cv; //获取视频中的人脸 int main() { //打开视频文件:其实就是建立一个VideoCapture结构

  • python 使用opencv 把视频分割成图片示例

    我就废话不多说了,直接上代码吧! #--coding:utf-8-- import cv2 #图像路径名字错误不提示 im=cv2.imread("timg.jpg",cv2.IMREAD_GRAYSCALE) cv2.imwrite('res.jpg',im) ''' cap=cv2.VideoCapture("1EF5013E37956E7EF2D5F935B6107F34.mp4") while True: ret,im=cap.read() cv2.imsh

随机推荐