python视频处理代码_使用Python进行视频处理

Imageio逐帧视频处理

安装

conda install imageio

将视频转换成图片

import imageio

timeF = 10

reader = imageio.get_reader('imageio:cockatoo.mp4')

for i, im in enumerate(reader):

if (i % timeF == 0):

imageio.imwrite('./image/'+str(i)+'.jpg',im[:, :, 1])

将图片合并成视频

import imageio

import glob

img_paths = glob.glob("./image/*.jpg")

writer = imageio.get_writer('./out.mp4', fps=25)

for img_path in img_paths:

im = imageio.imread(img_path)

writer.append_data(im)

writer.close()

使用OpenCV逐帧视频处理

将视频转换为图片

import cv2

vc = cv2.VideoCapture('project_video.mp4') # 读入视频文件

c = 1

if vc.isOpened(): # 判断是否正常打开

rval, frame = vc.read()

else:

rval = False

timeF = 10 # 视频帧计数间隔频率

while rval: # 循环读取视频帧

rval, frame = vc.read()

if (c % timeF == 0): # 每隔timeF帧进行存储操作

cv2.imwrite('image/' + str(c) + '.jpg', frame) # 存储为图像

c = c + 1

cv2.waitKey(1)

vc.release()

Moviepy视频处理库

MoviePy是Python中的一个视频处理库,能够对音频、视频、图片进行剪辑、合并、输出等处理.支持大多数图文格式.

MoviePy主要用于批量自动化的视频处理(比如批量创建GIF作为视频封面图),以及自动化一些繁琐的视频编辑任务.

当然MoviePy也可以用来做逐帧视频处理以及视频格式转换等任务,不过性能不如OpenCV、imageio、ffmpeg等.

moviepy的官方文档在这里:

https://zulko.github.io/moviepy/

源代码仓库在这里:

https://github.com/Zulko/moviepy

moviepy安装

moviepy是基于ffmpeg的,所以先要保证机器中装有ffmpeg,如果没有的话可以使用imageio下载ffmpeg

conda install imageio

然后在终端中执行如下代码安装ffmpeg

import imageio

imageio.plugins.ffmpeg.download()

或者,可以参考ffmpeg官网的安装方法.

https://www.ffmpeg.org/

安装moviepy

pip install moviepy

视频逐帧处理

from moviepy.editor import VideoFileClip

output_file = 'output.mp4'

test_clip = VideoFileClip("input.mp4")

new_clip = test_clip.fl_image(process_image)

new_clip.write_videofile(output_file, audio=False)

def process_image(image):

return image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值