python - 使用 OpenCV 在给定时间从视频中提取图像

标签 python image opencv video computer-vision

我的任务是制作一个可以在几秒钟内拍摄视频和时间的实用程序。

该实用程序应使用给定的输入从视频中写出 jpeg 图像。

例如让视频名称为 abc.mpeg 并将时间提供给该工具作为 20 秒。该实用程序应在第 20 秒写出视频中的图像。

    # Import the necessary packages
    import argparse
    import cv2

    vidcap = cv2.VideoCapture('Wildlife.mp4')
    success,image = vidcap.read()
    count = 0;
    while success:
      success,image = vidcap.read()
      cv2.imwrite("frame%d.jpg" % count, image)     # save frame as JPEG file
      if cv2.waitKey(10) == 27:                     # exit if Escape is hit
          break
      count += 1

上面的代码给出了整个视频的所有帧,我关心的是如何打发时间并获取指定时间的帧?

最佳答案

你为什么不直接去做,@micka 提出了什么?

import cv2

vidcap = cv2.VideoCapture('d:/video/keep/Le Sang Des Betes.mp4')
vidcap.set(cv2.CAP_PROP_POS_MSEC,20000)      # just cue to 20 sec. position
success,image = vidcap.read()
if success:
    cv2.imwrite("frame20sec.jpg", image)     # save frame as JPEG file
    cv2.imshow("20sec",image)
    cv2.waitKey()                    

关于python - 使用 OpenCV 在给定时间从视频中提取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27481993/

相关文章:

python - 如何在棋盘图像中找到空方 block ?

python - 如何用图像中每个像素的颜色绘制图形?

python - 从国家身份证中提取文本信息

python - 另一个 'Connection reset by peer' 错误

python - Django:如何返回与外键关联的所有模型,包括这些模型的所有属性?

python - 可以从 python 代码生成序列图吗?

python - Suds 忽略代理设置

Imagemagick/将单色tiff文件转换为单色png文件

c - bmp 图像到 c 中的矩阵(二维数组)

c++ - 使用 cv::ml::StatModel::calcError 与在选定特征子集上训练的模型的 Opencv 错误