python提取视频图片并进行裁剪缩放

最近需要做动图,需要从视频中提取帧图片并进行裁剪缩放处理。

#-*- coding: utf-8 -*-
#!/usr/bin/python3

from PIL import Image
import os
import cv2

'''
将视频帧转换为图片
'''
videoPath = '../video.mp4'
frames = cv2.VideoCapture(videoPath)
c = 0
i = 0
timeF = 3
rval=frames.isOpened()
while rval: # 循环读取视频帧
    c = c + 1
    rval, frame = frames.read()
    if (c % timeF == 0) and rval:    # 每隔timeF帧进行存储操作
        cv2.imwrite(str(i) + '.jpg', frame) # 存储为图像
        i = i + 1

frames.release()

'''
# 将图片指定区域裁剪出来并缩放到指定尺寸保存
'''
list = os.listdir('./')

for i in range(0, len(list)):
    path = os.path.join(list[i])
    if os.path.isfile(path) and path.endswith('jpg'):
         img = Image.open(path)
         img = img.crop((160, 145, 1436, 936))	# 裁剪图片指定区域
         out = img.resize((600, 372), Image.ANTIALIAS)	# 缩放图片 抗锯齿
         path = path.replace('.jpg', '.png')
         path = 's' + path
         out.save(path)

猜你喜欢

转载自blog.csdn.net/otter1010/article/details/105150756
今日推荐