如何将实时视频分割成图像?

时间:2017-04-03 10:05:19

标签: python opencv video

在python上使用opencv。我录制了视频,然后将其分成了图片,但是花了很长时间,所以我想在录制视频时立即将视频分割成图片。我在互联网上找到了代码,但它只能捕获1张图片。

import cv2

def main():
    cam = cv2.VideoCapture(0)
    frame = cam.read()[1]
    cv2.imwrite(filename='img%d.jpg',img=frame)

if __name__== '__main__':
    main()

任何人都可以帮助我吗?我是python和opencv的新手。

1 个答案:

答案 0 :(得分:1)

您没有增加文件名,因此会一次又一次地被覆盖。此外,您需要while循环。尝试:

import cv2

def main():
    cam = cv2.VideoCapture(0)
    frameNum = 0
    isCaptured = True
    while True:
        isCapture, frame = cam.read()
        if not isCapture:
            # no more frame, exit loop
            break
        frameNum = frameNum + 1
        fileName = 'img{:d}.jpg'.format(frameNum)
        cv2.imwrite(filename=fileName,img=frame)

if __name__== '__main__':
    main()