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

Python 如何将实时视频分割成图像?,python,opencv,video,Python,Opencv,Video,通过在python上使用opencv。我录制了视频,然后将其分割为图片,但这需要很长时间,所以我想在录制视频时立即将视频分割为图片。我在网上找到了代码,但它只能捕获一张图片 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。我录制了视频,然后将其分割为图片,但这需要很长时间,所以我想在录制视频时立即将视频分割为图片。我在网上找到了代码,但它只能捕获一张图片

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非常熟悉。

您没有增加文件名,所以它会一次又一次地被覆盖。此外,还需要一个
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()

使用imwrite函数,每次都提供不同的文件名(例如,通过使用and字符串和递增的数值。因此,您的问题可能是如何向字符串中添加数字。不幸的是,我无法帮助您,因为我对pythonThx不太熟悉,非常感谢您的帮助:D。