首页 理论教育 视频图像提取技术入门

视频图像提取技术入门

时间:2023-11-18 理论教育 版权反馈
【摘要】:import cv2import osfrom tqdm import tqdmdef save_image:videos=os.listdirfor video_name in tqdm:#定义进度条file_name=video_name.split('.')[0]folder_name=file_nameos. makedirsvc=cv2.VideoCapture#读入视频文件c=1if vc. isOpened():#判断是否正常打开rval, frame=vc.read()else:rval=FalsetimeF=10#视频帧计数间隔频率while rval:#循环读取视频帧rval, frame=vc.read()pic_path=folder_name+'/'if:#每隔timeF帧进行存储操作#存储为图像的文件名为:文件夹名_数字.jpgcv2. imwritec=c+1cv2. waitKeyvc. release()save_img在视频文件的循环读取中利用了第二章列举的进度条显示类库tqdm,用户只需要封装任意的迭代器tqdm,就可以在Python循环中添加更加直观的进度提示信息。

视频图像提取技术入门

在图像获取阶段,有时数据来源为视频文件,这时需要对视频文件采用OpenCV的VideoCapture和read函数进行帧图像读取,为了减少冗余的数据,可以设定跳帧截取视频图像。

import cv2

import os

from tqdm import tqdm

def save_image(video_path):

videos=os.listdir(video_path)

for video_name in tqdm(videos):#定义进度条

file_name=video_name.split('.')[0]

folder_name=file_name

os. makedirs(folder_name, exist_ok=True)

vc=cv2.VideoCapture(video_path+video_name)#读入视频文件

c=1

if vc. isOpened():#判断是否正常打开

rval, frame=vc.read()

else:(www.xing528.com)

rval=False

timeF=10#视频帧计数间隔频率

while rval:#循环读取视频帧

rval, frame=vc.read()

pic_path=folder_name+'/'

if(c%timeF==0):#每隔timeF帧进行存储操作

#存储为图像的文件名为:文件夹名_数字(第几个文件).jpg

cv2. imwrite(pic_path+file_name+'_'+str(c)+'.jpg',

frame)

c=c+1

cv2. waitKey(1)

vc. release()

save_img(video_path)

在视频文件的循环读取中利用了第二章列举的进度条显示类库tqdm,用户只需要封装任意的迭代器tqdm(iterator),就可以在Python循环中添加更加直观的进度提示信息。在引用tqdm类库之前需要使用pip install tqdm完成安装。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈