用opencv提供的python接口从视频里面提取帧有点问题
#coding=utf-8
import os
import cv2
global lines
#从txt文本里读取视频路径和fps
#fps表示每fps帧提取一帧
with open("config.txt") as f:
lines=f.readlines()
videopath=lines[0]
videopath=videopath.strip()
videopath=videopath[10:]
fps=lines[1]
fps=fps.strip()
fps=int(fps[4:])
mycount=0
for path,directory,filelist in os.walk(videopath):
for myfile in filelist:
if myfile.endswith("MOV"):
vpath=path+'\\'+myfile
cap=cv2.VideoCapture(vpath)
index=len(videopath)
newPath=path[0:index]+'\\Picture'+path[index:]+"\\"
if(os.path.exists(newPath))==False:
os.makedirs(newPath)
totalframe = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
for i in range(totalframe):
if i % fps == 0:
ret, frame = cap.read()
mycount = "%.6d" % mycount;
print (newPath + str(mycount) + '.jpg')
cv2.imwrite(newPath + str(mycount) + '.jpg', frame)
mycount = int(mycount)
mycount += 1
相关推荐
关键帧提取_关键帧_python_视频处理_提取关键帧
**OpenCV介绍**:OpenCV是一个强大的计算机视觉库,提供了多种图像和视频处理功能,包括关键帧提取。它支持Python接口,使得Python开发者可以轻松地进行图像和视频处理。2.
python工具方法 2 利用opencv按帧提取视频中的图片
import cv2 import os #要提取视频的文件名,隐藏后缀 sourceFileName='a2' #在这里把后缀接上 video_path = os.path.join("", "", sourceFileName+'.mp4') times=0 #提取视频的频率,每25帧提取一个 frameFrequency=25 #输出图片到当前目录vedio文件夹下 outPutDirNa...
CV | Python + OpenCV从视频中提取“指定帧”
简介 其实已经写过两篇关于从视频中提取关键帧的博客了。但是今天把代码又修改完善了一下,感觉比之前的几个版本都好(哈哈自夸中。。。),因此再次贴出利用OpenCV从视频中提取关键帧的Python代码。 程序 功能:自动的读取指定文件夹下的所有文件,并且按照文件类型和名称的不同,提取该文件夹下所有视频,并按照名称的不同,分类保存从视频中提取的关键帧。 import cv2 import os # ...
Python OpenCV实现视频分帧
这项技术可以将连续的视频流分割成一系列独立的图像帧,为后续的数据分析、图像识别等任务提供便利。下面,我们将详细介绍如何使用Python结合OpenCV库来实现视频分帧的功能。
采用Opencv实现对视频信号的实时采集与帧提取.zip
OpenCV支持C++、Python等多种编程语言,为开发者提供了高效且易于使用的接口。在人工智能领域,OpenCV常用于图像识别、目标检测、人脸识别、视频分析等任务。


