利用OpenCV对视频进行拆帧处理

编程入门 行业动态 更新时间:2024-10-26 04:20:27

利用OpenCV对<a href=https://www.elefans.com/category/jswz/34/1771437.html style=视频进行拆帧处理"/>

利用OpenCV对视频进行拆帧处理

文章目录

  • 简介
  • 输入输出
  • 源代码-Python


简介

提供一种利用OpenCV对视频进行拆帧,并制作成图片集的方式。


输入输出

输入:视频文件所在文件夹
输出:按视频文件命名的文件夹下保存图片


源代码-Python

import cv2
import osdef getFilePath(file_name):all_flie_name = os.listdir(file_name)all_file_path = []for video_file in all_flie_name:all_file_path.append(os.path.join(file_name, video_file))return all_file_pathdef saveToImg(video_file, fps):items = 0savename = 0save_file_name = video_file.split('\\')[-1]index = save_file_name.index('.mp4')	# 以mp4文件为例,生成保存文件夹名file_name = save_file_name[:index]save_file_name = os.path.join('.\\images', file_name)if not os.path.exists(save_file_name):os.makedirs(save_file_name)         # 创建保存文件夹,命名以视频文件名为依据    camera = cv2.VideoCapture(video_file)	# 读取视频对象print('Pls waiting···')while camera.isOpened():        _, image = camera.read()	if image is not None:if items % fps == 0:	# 按间隔帧保存为图片img_file_name = os.path.join(save_file_name, file_name + '_' + str(savename) + '.jpg')cv2.imwrite(img_file_name, image) done_name = img_file_name.split('\\')[-1]print(f'{done_name} Done')     savename += 1# print(image.shape)items += 1else:	# 视频提取结束后,跳出breakprint('{} Done'.format(video_file.split('\\')[-1]))def showImg(img_path):	# 查看图片img = cv2.imread(img_path)print(img.shape)cv2.imshow('img', img)cv2.waitKey(0)cv2.destroyAllWindows()def main():file_name = './video'	# 视频文件夹路径all_file_path = getFilePath(file_name=file_name)for file in all_file_path:saveToImg(file, fps=100)

更多推荐

利用OpenCV对视频进行拆帧处理

本文发布于:2024-03-09 22:20:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726280.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:视频   OpenCV

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!