今天与大家分享一些Python处理视频的一下经验,视频的处理和图片的处理类似,只不过视频处理需要连续处理一系列图片。

一共这几个模块:
class videoReader 读取视频
class videoFramesExtractor(videoReader):继承了读取视频,主要是用来限制读取视频中的哪些帧,并保存。
read_excel_single(excel_path,event_instance): 处理Excel中的数组,找到事件的帧数范围:
Excel内容是这样的,需要的只是第二列的帧范围,另外第二列中的这些值还有重复的所以需要去除重复:
每一个范围,例如:23450:23461之内的帧要存放在一个文件夹里。
- </pre><pre name="code" class="python"># -*- coding: cp936 -*-
- import cv2.cv as cv
- import os
- import cv2
- import numpy
- import Image
- import xlrd
- class videoReader:
- frame_count=0
- def __init__(self,videoPath):
- self.videoPath=videoPath
- def video_init(self):
- self.capture = cv.CaptureFromFile(self.videoPath)
- self.win_name = "test"
- cv.NamedWindow(self.win_name, cv.CV_WINDOW_AUTOSIZE)
- def read(self):
- self.video_init()
- while 1:
- self.frame_count+=1
- image = cv.QueryFrame(self.capture )
- cv.ShowImage(self.win_name, image)
- print self.frame_count
Python视频处理实践:从读取到帧选择

本文分享了使用Python处理视频的经验,主要介绍了一个读取视频并按指定帧范围保存的实现。通过继承videoReader类,创建videoFramesExtractor类用于选择并保存特定帧。使用cv2模块,配合xlrd读取Excel中的帧范围,实现视频帧的高效提取。处理过程中注意cv2函数返回的数据类型为numpy数组,且可能对颜色产生轻微影响。
最低0.47元/天 解锁文章
2101

被折叠的 条评论
为什么被折叠?



