Python提取视频照片训练模型方法

Python提取视频照片训练模型方法

    • 个人情况
    • Python提取照片训练模型用途
    • 运行环境
    • 查看opencv版本
    • 代码思路
    • 视频提取照片代码
    • 高清人脸资源

个人情况

本人初次尝试发表博客,有什么需要改进的地方欢迎评论区指点。

Python提取照片训练模型用途

本人在机器学习过程中,发现训练对应模型需要大量的对象照片进行特征提取与训练,应次在这里分享一种从视频中提取照片的方法,本文下方会提供一个资源链接,内部有大量人脸数据可供训练模型。

运行环境

主机:树莓派4B。
环境:Python3.7.3,opencv4.1.1

查看opencv版本

Windows系统:

  • Win+R —>输入cmd回打开命令行—>输入python—>输入import cv2—>输入cv2.__version __

Linux系统:

  • Ctrl+Alt+T打开命令行—>输入python—>输入import cv2—>输入cv2.__version __

代码思路

第一步:将视频导入进来,这里采用opencv函数cv2.VideoCapture(‘视频路径’)。
第二步:判断视频是否正常载入,这里采用isOpened = cap.isOpened判断是否打开,后续判断isOpened的值来判断文件是否打开。
第三步:提取视频帧数,并为图片命名。
第四步:保存图像。

视频提取照片代码

#视频分解图片
#第一步:加载视频 第二步:读取视频info信息 第三步:解码 第四步:保存
import cv2
cap = cv2.VideoCapture('1.mp4')
isOpened = cap.isOpened#判断是否打开
print(isOpened)
fps = cap.get(cv2.CAP_PROP_FPS)#视频fps值
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))#宽
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))#高
print(fps, width, height)
i = 0
while(isOpened):
    if i == 10:#抽取10张照片,可自行定义需要多少张图片,多的图片需要更长的视频
        break;
    else:
        i += 1
        (flag, frame) = cap.read()#读取每一帧 flag和frame为图片内容
        fileName = 'image' + str(i) + '.jpg'
        print(fileName)
        if flag == True:
            cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY, 100])

print('end!')

到这里就可以实现从视频中提取图片来进行训练啦,后续会继续更新关于模型训练的方法。

高清人脸资源

内含4000张人脸可供模型训练
https://download.csdn.net/download/weixin_44806340/12838697

你可能感兴趣的:(笔记,python,人工智能,人脸识别,神经网络,机器学习)