opencv视频抽帧保存图片

opencv视频抽帧保存图片video2pic


opencv视频按帧率抽帧

import cv2
import os
video_path='C:/Users/Desktop/video/1.mp4'
name=os.path.basename(video_path).split(".")[0]
output_dir_folder = 'C:/Users/Desktop/pic/'
output_folder=os.path.join(output_dir_folder,name)
# 指定帧率
fps = 1 #1s取一帧 
# 创建文件夹
if not os.path.exists(output_folder):
    os.makedirs(output_folder) 
# 打开视频
cap = cv2.VideoCapture(video_path) 
# 计算每隔多少帧保存一帧
step = max(1, int(cap.get(cv2.CAP_PROP_FPS) / fps))
# 读取视频帧
i = 0
count=1
while True:
    ret, frame = cap.read()
    if not ret:
        break    
    # 按指定的帧率保存帧
    if i % step == 0:
        filename = os.path.join(output_folder, name+f"_{count:03d}.jpg")
        cv2.imwrite(filename, frame)
        count+=1
        print(f"Saved frame: {i}")    
    i += 1 
# 释放视频对象
cap.release()

opencv视频按帧数抽帧

import cv2
import time
# 定义视频捕捉对象
cap = cv2.VideoCapture(1)  # 参数0代表计算机的默认摄像头
count=0
i=0
while(cap.isOpened()):
    ret, frame = cap.read()  # 
    if ret:
        #10帧保存一帧
        if i%10==0:
             cv2.imwrite("C:/Users/Desktop/0527_%s.jpg"%(count),frame)
             count+=1
        i+=1
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
 
# 释放资源
cap.release()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欢天喜地小姐姐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值