# 导入所需要的库
import cv2
import numpy as np
# 定义保存图片函数
# image:要保存的图片名字
# addr;图片地址与相片名字的前部分
# num: 相片,名字的后缀。int 类型
def save_image(image, addr, num):
address = addr + str(num) + '.jpg'
cv2.imwrite(address, image)
# 读取视频文件
videoCapture = cv2.VideoCapture("D:/pycharm/pycharm-cope/opencv/resource/videos/00_Scenery.mp4")
# 通过摄像头的方式
"""这里是读取本地的视频,如果要真正实现实时预览,可以利用摄像头,通过推流方式实现实时预览。采用摄像头方式如下:
videoCapture=cv2.VideoCapture(1),这里的1表示的是摄像的前置还是后置镜头"""
# videoCapture=cv2.VideoCapture(1)
# 读帧
success, frame = videoCapture.read()
i = 0
"""当我们想按秒提取时,只要我们能知道视频每秒有多少帧,然后在上面的代码基础上每隔那么多帧提取一次就行了,
这就需要查看视频的帧率。一般情况下随便用一个播放器打开视频后右键查看其属性就可以看到帧率。现在我的视频帧率为12 ,
每隔12帧提取一次就可以得到每秒的图片。"""
timeF = 12
j = 0
while success:
i = i + 1
if (i % timeF == 0):
j = j + 1
save_image(frame, 'D:/pycharm/pycharm-cope/opencv/resource/videos/photo', j)
print('save image:', i)
success, frame = videoCapture.read()
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/278711.html