使用 Python & OpenCV 提取视频的每一帧

前言

最近打 CTF 遇到一个有意思的题目,给你一个视频让你找到一些信息。
显然我们需要得到视频的每一帧,然后再开始寻找信息,这一点可以使用 Python 很容易的做到。

安装 OpenCV

电脑需要有 Python3 的环境,然后用 pip 进行安装。

pip3 install opencv-python

代码演示

下面的代码可以轻松的把视频中的每一帧提取出来,存储成文件。

import cv2

videoCapture = cv2.VideoCapture()
videoCapture.open('output.mp4')

fps = videoCapture.get(cv2.CAP_PROP_FPS)
frames = videoCapture.get(cv2.CAP_PROP_FRAME_COUNT)
#fps是帧率,意思是每一秒刷新图片的数量,frames是一整段视频中总的图片数量。

for i in range(int(frames)):
    ret,frame = videoCapture.read()
    cv2.imwrite("pics/out(%d).jpg" % i, frame)

题目解法

关于上面提到的题,我们发现这些关键信息都是黑色背景,只需要判断几个像素都是黑色就可以把这些信息找到。

Last modification:October 20th, 2019 at 02:21 pm
如果觉得我的文章对你有用,请随意赞赏

3 comments

  1. Lxzyzby

    学到了,谢谢大佬

    1. YuhangQ
      @Lxzyzby

      膜拜千古神犇 zby|´・ω・)ノ

      1. Lxzyzby
        @YuhangQ

        膜拜万古神犇YuhangQ|´・ω・)ノ

Leave a Comment