- 语言:python
- 依赖包:python-opencv
- 工具:ffmpeg
将视频处理为每帧图片:
import cv2
import subprocess
video_path='luwin-kickback.mp4'
#指定路径下的视频文件
image_save='./imgs'
#保存的图片路径
cap=cv2.VideoCapture(video_path)
#从路径捕获视频文件
frame_count=cap.get(cv2.CAP_PROP_FRAME_COUNT)
#获取视频总帧数
for i in range(int(frame_count)):#逐帧抓取图片
_,img=cap.read()
#read返回两个参数,第一个为布尔值,表示有没有读取到图片
#第二个参数img表示截取到一帧的图片
img=cv2.cvtColor(img,cv2.cv2.COLOR_BGR2GRAY) #cv2.COLOR_RGB2HSV cv2.COLOR_BGR2GRAY
#将每帧图片存储为灰度图
cv2.imwrite((image_save+'/image{}.jpg').format(i),img)
#将图片以统一命名格式存储在路径下
结果(存储在./imgs下的每帧图片):

使用ffmpeg工具将上面各帧图片合成视频:

这篇博客介绍了如何使用Python的OpenCV库和ffmpeg工具进行视频处理,包括将视频拆分为图片、图片合成为视频、视频格式转换、裁剪、拼接以及录屏等操作,并提供了详细的命令行代码示例。
最低0.47元/天 解锁文章
2692

被折叠的 条评论
为什么被折叠?



