import os
import cv2
def video_to_pic(video_path, save_path, frame_rate):
# 读取视频文件
videoCapture = cv2.VideoCapture(video_path)
j = 0
i = 0
# 读帧
success, frame = videoCapture.read()
while success:
i = i + 1
# 每隔固定帧保存一张图片
if i % frame_rate == 0:
j = j + 1
pic_name = str(j) + '.jpg'
pic_address = os.path.join(save_path, pic_name)
cv2.imwrite(pic_address, frame)
print('图片保存地址:', pic_address)
success, frame = videoCapture.read()
if __name__ == '__main__':
# 视频文件和图片保存地址
fpath = r'G:\dataset\ours\HIT_code_video\video'
for dirpath, dirnames, filenames in os.walk(fpath):
for filepath in filenames:
# print(os.path.join(dirpath, filepath))
SAMPLE_VIDEO = os.path.join(dirpath, filepath)
SAVE_PATH = r'G:\dataset\ours\images'
if not os.path.exists(SAVE_PATH):
os.makedirs(SAVE_PATH)
# 设置保存间隔,每隔10帧保存一张图片
FRAME_RATE = 10
video_to_pic(SAMPLE_VIDEO, SAVE_PATH, FRAME_RATE)
python将视频拆分为图片
最新推荐文章于 2024-07-20 17:12:48 发布