人脸识别0视频分解图片与图片合成视频

Posted gfgwxw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人脸识别0视频分解图片与图片合成视频相关的知识,希望对你有一定的参考价值。

一,引言

目标:这小节主要通过两个demo熟悉视频分解图片与图片合成视频的OpenCV的应用

环境:python3.6+OpenCV3.3.1

二,示例

Demo1:视频分解图片

目标:

1.指定文件夹中读取视频文件

2.将视频文件分解为图片

3.将图片保存在指定文件夹中

# -*-coding:utf-8-*-
#author: lyp time: 2018/8/8
# 视频分解图片
import cv2
cap = cv2.VideoCapture(E:/Envs/opencvdemo/one/1.mp4)  # 获取一个视频
isOpened = cap.isOpened()  # 判断当前视频是否打开
print(isOpened)
fps = cap.get(cv2.CAP_PROP_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:
        break
    else:
        i = i+1
    (flag, frame) = cap.read()  # 读取每一张。 flag:是否读取成功 frame:读取内容
    fileName = image + str(i) + .jpg
    file = E:/Envs/opencvdemo/one/ + fileName   # 保存到指定文件夹
    print(fileName)
    # 如果读取成功,保存图片
    if flag == True:
        # 质量控制:100表示质量最高
        cv2.imwrite(file, frame, [cv2.IMWRITE_JPEG_QUALITY, 100])
print(end!)

Demo2:图片合成视频

目标:

1.选择指定文件夹下的图片,获取图片信息

2.将图片合成视频(Windows中只能用DIVX)

3.将视频保存在指定文件夹中

 

# -*-coding:utf-8-*-
#author: lyp time: 2018/8/9
# 图片合成视频
import cv2
img = cv2.imread(E:/Envs/opencvdemo/one/image1.jpg)
imgInfo = img.shape
size = (imgInfo[1], imgInfo[0])
print(size, imgInfo)

# windows下使用DIVX
fourcc = cv2.VideoWriter_fourcc(*DIVX)
# 参数1:写入对象;参数2:编码器;参数3:视频size
videoWrite = cv2.VideoWriter(E:/Envs/opencvdemo/one/2.avi, fourcc, 5, size)
for i in range(1,11):
    fileName = image+str(i)+.jpg
    file = E:/Envs/opencvdemo/one/ + fileName
    img = cv2.imread(file)
    videoWrite.write(img)
print(end!)

 

以上是关于人脸识别0视频分解图片与图片合成视频的主要内容,如果未能解决你的问题,请参考以下文章

Python计算机视觉:视频人脸马赛克

Python计算机视觉:视频人脸马赛克

Python计算机视觉:视频人脸马赛克

人脸验证(图片/视频) tensorflowpytorch框架dlib库(face_recognition)和opencv库————附带详细步骤和代码,可实际运行

OpenCV做图片人脸识别和视频人物识别

计算机视觉:视频分解图片和图片合成视频