拿来即用,所见即所得。
项目仓库:https://gitee.com/miao-zehao/machine-learning/tree/master
借助cv2
库读取视频或是使用自带的电脑摄像头,然后逐帧逐帧地获取图像,按照一定的间隔帧数进行保存,多少帧截图保存一次。
举个栗子:如果你想要每一秒钟截图保存一次,你的视频是60帧,那么就设置为60。
# 导入所需要的库
import cv2
# 定义保存图片函数
# image:要保存的图片名字
# addr;图片地址与相片名字的前部分
# num: 相片,名字的后缀。int 类型
def save_image(image, addr, num):
address = addr + str(num) + '.jpg'
cv2.imwrite(address, image)
# 读取视频文件 视频文件路径
videoCapture = cv2.VideoCapture("video/要被切分为图片的视频.mp4")
# 通过摄像头的方式导入视频
# videoCapture=cv2.VideoCapture(1)
# 按帧读取
# read_result:读取的结果,是否成功读取,true or false
# frame :读到的那一帧画面
frame_id = 0 #帧数id
fps = 10 #帧数设置,多少帧截图保存一次,如果你想要每一秒钟截图保存一次,你的视频是60帧,那么就设置为60
image_id = 0 #图片的编号id
read_result, frame = videoCapture.read()#读取函数
while read_result:
frame_id = frame_id + 1
if (frame_id % fps == 0):#如果本次循环满60帧了,到了设定的准备截图环节,就准备截图
image_id = image_id + 1#每次保存图片后图片id都要+1
save_image(frame, 'picture/', image_id) #视频截成图片存放的位置,保存为 image_id.jpg格式
print('save image:', image_id, frame_id,"success")#调试打印信息
read_result, frame = videoCapture.read()#继续读取下一帧
大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的python机器学习知识!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-9-23
欢迎关注 『机器学习』 系列,持续更新中
欢迎关注 『机器学习』 系列,持续更新中
【机器学习】01. 波士顿房价为例子学习线性回归
【机器学习】02. 使用sklearn库牛顿化、正则化的逻辑回归
【机器学习】03. 支持向量机SVM库进行可视化分类
【机器学习】04. 神经网络模型 MLPClassifier分类算法与MLPRegressor回归算法
【机器学习】05. 聚类分析
【机器学习】07. 决策树模型DecisionTreeClassifier
【机器学习】08. 深度学习CNN卷积神经网络keras库
【更多内容敬请期待】