【Python-opencv3.4】视频基本操作(帧率,总视频帧数、从第N帧开始播放、播放进度显示、按键控制视频)

一、视频基本操作:

  • 1.读取视频帧率、分辨率、读取视频总帧数、起始播放帧数
  • 2.使用键盘控制视频
  • 3.显示视频播放进度

二、基本操作对应代码

完整代码】提取码:0vvb 
 

1.读取视频帧率、分辨率、读取视频总帧数

#——————————————————————————————
#————————添加自己的视频播放路径———————————
video_path="F:/Zeng-20180622/Video180621/1.flv"

# 创建一个视频读写类
video_capture=cv2.VideoCapture(video_path)

#读取视频的fps,  大小
fps=video_capture.get(cv2.CAP_PROP_FPS)
size=(video_capture.get(cv2.CAP_PROP_FRAME_WIDTH),video_capture.get(cv2.CAP_PROP_FRAME_HEIGHT))
print("fps: {}\nsize: {}".format(fps,size))

#读取视频时长(帧总数)
total = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT))
print("[INFO] {} total frames in video".format(total))

#设定从视频的第几帧开始读取
#From :  https://blog.csdn.net/luqinwei/article/details/87973472
frameToStart = 2000
video_capture.set(cv2.CAP_PROP_POS_FRAMES, frameToStart);

2.使用键盘控制视频

#--------键盘控制视频---------------
    #读取键盘值
    key = cv2.waitKey(1) & 0xff
    #设置空格按下时暂停
    if key == ord(" "):
        cv2.waitKey(0)
    #设置Q按下时退出
    if key == ord("q"):
        break

3.显示视频播放进度

    #显示当前视频已播放时间和总时间
    #计算当前
    now_seconds=int(current_frame /fps%60)
    now_minutes=int(current_frame/fps/60)
    total_second=int(total /fps%60)
    total_minutes=int(total/fps/60)
    #   { <参数序号> : <填充> <对齐)> <宽度> <,> <.精度> <类型>}.
    Time_now_vs_total="Time:{:>3}:{:>02}|{:>3}:{:0>2}".format(now_minutes,now_seconds,total_minutes,total_second)
    print(Time_now_vs_total)

三、展望

OpenCV有很多视频处理函数,有待进一步学习。(图来源


四、参考博文

python-opencv-视频处理常用函数:https://blog.csdn.net/luqinwei/article/details/87973472

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曾小蛙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值