用python将A文件夹中的视频每5帧提取一帧然后存储在B文件夹内,每个图片以视频名和序列编号命名
时间: 2023-05-23 20:03:17 浏览: 53
以下是Python的代码实现:
```python
import os
import cv2
# 定义A、B文件夹路径
folder_A = 'path/to/A'
folder_B = 'path/to/B'
# 获取A文件夹中所有的视频文件名
video_files = [f for f in os.listdir(folder_A) if f.endswith('.mp4')]
for video_file in video_files:
# 获取视频文件路径和文件名
video_path = os.path.join(folder_A, video_file)
video_name = os.path.splitext(video_file)[0]
# 创建B文件夹下与视频文件名相同的文件夹
output_folder = os.path.join(folder_B, video_name)
os.makedirs(output_folder, exist_ok=True)
# 打开视频文件
cap = cv2.VideoCapture(video_path)
# 逐帧提取并保存图片
frame_count = 0
while True:
ret, frame = cap.read()
if not ret:
break
if frame_count % 5 == 0:
output_path = os.path.join(output_folder, f'{video_name}_{frame_count:04d}.jpg')
cv2.imwrite(output_path, frame)
frame_count += 1
# 释放视频对象
cap.release()
```
以上代码可以实现把A文件夹中的所有.mp4视频每5帧提取一个提取出来,然后存储在B文件夹里与视频名相同的文件夹下。